200 likes | 412 Views
IF5031 – Model Entity Relationship (Advanced). Disusun oleh: Wikan Danar Program Studi Teknik Informatika Institut Teknologi Bandung. Himpunan Entitas Lemah ( Weak Entity Sets ). Himpunan entitas yang tidak mempunyai kunci primer disebut himpunan entitas lemah
E N D
IF5031 – Model Entity Relationship (Advanced) Disusun oleh: Wikan Danar Program Studi Teknik Informatika Institut Teknologi Bandung
Himpunan Entitas Lemah(Weak Entity Sets) • Himpunan entitas yang tidak mempunyai kunci primer disebut himpunan entitas lemah • Keberadaan himpunan entitas lemah tergantung pada keberadaan himpunan entitas yang teridentifikasi • ia harus berhubungan dengan himpunan entitas yang teridentifikasi melalui himpunan relationship yang total, one-to-many dari himpunan entitas yang teridentifikasi ke himpunan entitas lemah • relationship yang teridentifikasi digambarkan menggunakan belah ketupat ganda • Diskriminator (atau kunci parsial) dari himpunan entitas lemah adalah himpunan atribut yang membedakan semua entitas pada himpunan entitas lemah • Kunci primer dari himpunan entitas lemah dibentuk oleh kunci primer dari himpunan entitas kuat yang mana himpunan entitas lemah tergantung keberadaannya, ditambah diskriminator dari himpunan entitas lemah
Himpunan Entitas Lemah • Himpunan entitas lemah digambarkan dengan persegi panjang ganda • Diskriminator himpunan entitas lemah digarisbawahi dengan garis putus-putus • payment-number – diskriminator dari himpunan entitas payment • Kunci primer dari payment – (loan-number, payment-number)
Himpunan Entitas Lemah • Catatan: kunci primer dari himpunan entitas kuat tidak disimpan secara eksplisit pada himpunan entitas lemah, karena ia implisit dalam relationship yang teridentifikasi • Jika loan-number disimpan secara eksplisit, payment dapat dibuat sebagai entitas kuat, tetapi relationship antara payment dan loan akan terjadi duplikasi dengan relationship implisit yang didefinisikan oleh atribut loan-number yang biasa untuk payment dan loan
Contoh Lain Himpunan Entitas Lemah • Dalam universitas, course adalah entitas kuat dan course-offering dapat dimodelkan sebagai entitas lemah • Diskriminator course-offering adalah semester (termasuk tahun) dan section-number (jika lebih dari satu bagian) • Jika kita memodelkan course-offering sebagai entitas kuat, kita akan memodelkan course-number sebagai atributKemudian relationship dengan course akan menjadi implisit dalam atribut course-number
Spesialisasi • Pada proses perancangan secara top-down; kita mendesain subgroup dalam himpunan entitas yang berbeda dengan entitas lain dalam himpunan • Subgroup ini menjadi himpunan entitas level yang lebih rendah yang mempunyai atribut atau berpartisipasi dalam relationship yang tidak berlaku untuk himpunan entitas level yang lebih tinggi • Digambarkan dengan komponen segitiga berlabel ISA (contoh: customer “is a” person) • Pewarisan atribut – himpunan entitas yang lebih rendah mewakili semua atribut dan partisipasi relationship dari himpunan entitas yang lebih tinggi yang berhubungan dengannya
Generalisasi • Pada proses perancangan bottom up – kita mengkombinasikan sejumlah himpunan entitas yang berbagi fitur yang sama ke dalam himpunan entitas level yang lebih tinggi • Spesialisasi dan generalisasi adalah inversi sederhana satu sama lain; mereka direpresentasikan dalam diagram ER dengan cara yang sama • Istilah spesialisasi dan generalisasi digunakan bergantian
Spesialisasi dan Generalisasi • Dapat mempunyai banyak spesialiasi pada himpunan entitas berdasar pada fitur yang berbeda-beda • Contoh: permanent-employee vs. temporary-employee, selain officer vs. secretary vs. teller • Setiap employee tertentu adalah • anggota dari permanent-employee atau temporary-employee, • dan juga anggota officer, secretary, atau teller • Relationship ISA juga disebut sebagai relationshipsuperclass - subclass
Kendala Perancangan pada Spesialisasi/Generalisasi • Kendala di mana entitas dapat menjadi anggota dari himpunan entitas pada tingkat yang lebih rendah • didefinisikan oleh kondisi • didefinisikan oleh user • Kendala di mana entitas dapat menjadi milik lebih dari satu himpunan entitas pada level yang lebih rendah dalam suatu generasi tunggal atau tidak • Disjoint • Entitas dapat menjadi milik hanya satu himpunan entitas yang lebih rendah • Dicatat dalam diagram ER dengan menulis disjoint di sebelah segitigas ISA • Tumpang tindih • Entitas dapat dimiliki oleh lebih dari satu himpunan entitas level yang lebih rendah
Kendala Perancangan pada Spesialisasi/Generalisasi • Kendala Kelengkapan – menentukan apakah entitas dalam himpunan entitas level yang lebih tinggi harus menjadi bagian dari paling tidak satu himpunan entitas level yang lebih rendah tanpa generalisasi • total: suatu entitas harus menjadi bagian dari satu himpunan entitas level yang lebih rendah • parsial: suatu entitas tidak harus menjadi bagian dari satu himpunan entitas level yang lebih rendah
Agregasi • Tinjau relationship terner works-on • Misal kita ingin menyimpan data manager untuk tugas yang dilakukan oleh pekerja pada cabang tertentu
Agregasi • Himpunan relationshipworks-on dan manages mewakili informasi yang tumpang tindih • Setiap relationship manages berhubungan dengan relationship works-on • Meskipun demikian, beberapa relationship works-on dapat tidak berhubungan dengan relationships manages manapun • Sehingga kita tidak dapat menghapus relationship works-on • Hapuskan redundansi dengan agregasi • Perlakukan relationship sebagai entitas abstrak • Relationship antara relationship dimungkinkan • Abstraksi relationship ke dalam entitas baru • Tanpa memperkenalkan redundansi, diagram merepresentasikan • Employee bekerja pada job tertentu pada branch tertentu • Kombinasi dari employee, branch, job dapat mempunyai manager yang berkaitan
Keputusan Rancangan ER • Penggunaan atribut atau himpunan entitas untuk merepresentasikan objek • Apakah konsep dunia nyata paling baik diekspresikan dengan himpunan entitas atau himpunan relationship • Penggunaan relationship terner vs. pasangan relationship biner • Penggunaan himpunan entitas kuat atau lemah • Penggunaan spesialisasi/generalisasi – berkontribusi untuk modularitas dalam perancangan • Penggunaan agregasi – dapat memperlakukan himpunan entitas agregasi sebagai satu unit tunggal tanpa perhatian terhadap detil struktur internalnya