Diktat Kuliah Basis Data PENS - ITS Iwan Syarif BAB 2 MODEL

advertisement
Diktat Kuliah Basis Data
PENS - ITS
BAB 2
MODEL RELASI ENTITAS (E-R MODEL)
Tinjauan Desain Basis Data
• Desain Konseptual (Dengan menggunakan ER-Model)
• Informasi apa yang dikandung oleh suatu entity dan relasi yang harus disimpan
dalam basis data
• Batasan integritas (integrity constraint) dan aturan bisnis yang harus ditangani
• Skema basis data dalam ER Model dapat dipresentasikan dalam bentuk gambar (ER
diagram).
• Memetakan ER Diagram ke dalam skema relasional.
Dasar-dasar ER Model
•
•
•
Entiti : obyek dunia nyata yang dapat dibedakan dari obyek yang lain. Entiti
digambarkan (dalam basis data) dengan menggunakan himpunan atribut.
Himpunan entity : Kumpulan entity yang sejenis.
Misal : himpunan data pegawai
o Semua entity dalam himpunan entity memiliki himpunan atribut yang sama
o Tiap himpunan entity memiliki kunci (key)
o Tiap atribut memiliki do main.
Relasi : Asosiasi diantara dua atau lebih entity
Misal : Ani bekerja di Departemen Farmasi
Iwan Syarif
Diktat Kuliah Basis Data
PENS - ITS
•
Himpunan Relasi : Himpunan relasi yang sejenis
o Himpunan relasi n-ary R berelasi dengan sejumlah himpunan entity n E1 …
En
§ Himpunan entity yang sama dapat berpartisipasi dalam himpunan
relasi yang berbeda, atau mempunyai peran yang berbeda dalam
suatu himpunan yang sama.
Batasan Kunci (Key Constraints)
•
•
Pada suatu contoh kasus, seorang pegawai dapat bekerja pada beberapa
departments; sebuah departement memiliki banyak pegawai
Sebaliknya, tiap departement hanya memiliki seorang manager, yang berhubungan
dengan key constraint pada Manages.
Iwan Syarif
Diktat Kuliah Basis Data
PENS - ITS
Batasan partisipasi (Participation Constraints)
•
Apakah setiap departemen mempunyai seorang manager ?
o Jika semua departemen pasti mempunyai manager maka partisipasi
Departements dalam Manages dapat dikatakan total. Sebaliknya jika tidak
semua departement memiliki manager maka partisipasinya adalah partial.
Entiti Le mah
•
Entiti lemah dapat diidentifikasi secara unik jika terdapat peran kunci utama
(primary key) yang berasal dari atau dimiliki oleh entity yang lain (owner).
o Himpunan entity owner dan entity lemah harus berartisipasi dalam
himpunan relasi one-to-many (satu owner, banyak entity lemah).
Hirarki ISA (‘is a’)
Iwan Syarif
Diktat Kuliah Basis Data
PENS - ITS
•
•
•
•
•
Seperti pada C++, dan bahasa pemrograman yang lain, suatu atribut dapat
diturunkan.
Jika kita deklarasikan A ISA B, setiap entity A juga termasuk entity B.
Overlap constraints : Bolehkah seorang pegawai mempunyai status sebagai
pegawai dengan hitungan gaji perjam (Hourly_Emps) sama halnya seperti pegawai
dengan perjanjian kontrak (Contract_Emps) ? (Boleh/Tidak)
Covering constraints : Apakah setiap entity Employees juga merupakan entity
Hourly_Emps dan Contract_Emps ?
Alasan menggunakan ISA :
o Untuk menambahkan deskripsi atribut yang lebih spesifik pada subclass.
o Untuk mengidentifikasi entity yang berpartisipasi dalam suatu relasi.
Aggregasi
•
Digunakan pada saat kita perlu memodelkan apa saja yang terlibat dalam suatu
himpunan relasi.
o Aggregasi membolehkan kita untuk memperlakukan suatu himpunan relasi
sebagai himpunan entity untuk tujuan partisipasi dalam relasi yang lain.
Iwan Syarif
Diktat Kuliah Basis Data
PENS - ITS
ð Aggregasi vs. relasi ternary
• Monitors adalah relasi yang distinct dengan deskripsi atribut.
• Juga dapat dikatakan bahwa tiap sponsorship dimonitor oleh kebanyakan seorang
pegawai.
Desain Konseptual dengan menggunakan ER Model
• Pilihan desain :
o Haruskan konsep dimodelkan sebagai entity atau atribut ?
o Haruskah konsep dimodelkan sebagai entity atau relasi ?
o Identifikasi relasi : binary atau ternary ? atau aggregasi ?
• Batasan dalam ER Model :
o Semakin banyak semantic data yang dapat ditangkap
o Tapi beberapa batasan tidak dapat ditangkap dalam ER diagram.
Entiti vs. Atribut
• Haruskah informasi alamat (address) menjadi atribut dari Employee atau menjadi
entity (dihubungkan ke Employee oleh suatu relasi) ?
• Tergantung pada penggunaan yang kita inginkan dari informasi alamat tersebut, dan
juga tergantung pada semantic data.
o Jika terdapat beberapa address per Employee, maka address harus menjadi
suatu entity (nilai dari atribut tidak bisa diset, atau diinisialisasi).
o Jika struktur dari address (kota, jalan, dll) dianggap penting, maka address
tersebut juga harus dimodelkan sebagai suatu entity (karena nilai suatu
atribut harus atomic).
•
Works_In2 tidak mengijinkan seorang employee untuk bekerja pada suatu
departement dalam dua atau lebih periode.
Iwan Syarif
Diktat Kuliah Basis Data
PENS - ITS
•
Sama dengan permasalahan menyimpan beberapa address untuk seorang employee :
Kita perlu menyimpan beberapa nilai dari deskripsi atribut untuk tiap instance dari
relasi berikut ini.
Entiti vs. Relasi
•
ER diagram diatas akan OK jika seorang manager mengambil budget yang terpisah
pada tiap departemen.
•
Apa yang terjadi jika manager mengambil budget yang dikover dari semua
departemen ?
o Penyimpanan redundant untuk dbudget yang disimpan pada tiap
departemen.
Relasi Binary vs. Ternary
•
•
Jika policy dimiliki hanya oleh satu orang employee :
o Key constraint pada policies mengartikan bahwa suatu keb ijakan (policy)
diterapkan untuk hanya dapat mengkover satu orang dependent
Apa yang merupakan constraint tambahan pada diagram yang kedua berikut ini ?
Iwan Syarif
Diktat Kuliah Basis Data
PENS - ITS
•
•
Contoh sebelumnya telah mengilustrasikan suatu kasus pada saat dua relasi binary
lebih baik dibandingkan satu relasi ternary.
Contoh yang lain : relasi ternary Contracts berelasi dengan himpunan entity Parts,
Departments dan Suppliers, yang memiliki atribut deskriptif qty. Tidak ada
kombinasi relasi relasi biner yang layak untuk menggantikan subsitusi ini :
o S ‘dapat mensupply’ P, D ‘memerlukan’ P, dan D ‘berurusan dengan’ S.
Dapatkah diandaikan bahwa D memiliki perjanjian untuk membeli P dari S ?
o Bagaimana cara kita merecord qty ?
Ringkasan : Desain Konseptual dan ER-Model
• Desain Konseptual memenuhi persyaratan dalam analisa kebutuhan (requirements
analysis).
• ER Model paling banyak digunakan dalam desain konseptual
o Konstruksinya ekspresif, paling dekat dengan cara manusia berp ikir tentang
aplikasi yang akan mereka kerjakan.
• Elemen dasar : entity, relasi, dan atribut (dari entity dan relasi).
• Beberapa elemen tambahan : entity lemah, hirarki ISA, dan aggregasi
• Catatan : Terdapat banyak variasi dalam ER Model.
• Beberapa macam batasan integritas (integrity constraints) dapat dinyatakan dalam
ER Model : batasan kunci (key constraints), batasan partisipasi (participation
constraints), dan overlap/covering constraints untuk hirarki ISA. Beberapa foreign
key constraints juga secara implisit dinyatakan dalam definisi himpunan relasi.
o Beberapa constraints semisal functional dependencies tidak dapat
dinyatakan dalam ER Model.
o Constraints memegang peranan penting dalam membentuk suatu desain
basis data yang baik.
• Desain ER bersifat subyektif. Terdapat banyak cara untuk memodelkan suatu
scenario.
Pilihannya meliputi :
o Entiti vs. atribut, entity vs. relasi, relasi binary atau n-ary, menggunakan
hirarki ISA atau tidak, menggunakan aggregasi atau tidak.
Iwan Syarif
Diktat Kuliah Basis Data
PENS - ITS
•
Untuk memastikan suatu basis data didesain dengan bagus : skema relasional yang
dihasilkan harus bisa dianalisa dan diperbaiki di waktu mendatang. Informasi
functional dependencies dan teknik normalisasi juga diperlukan dalam hal ini (akan
dibahas pada bab selanjutnya).
Iwan Syarif
Download