Diagram Entity Relationship IK203 Sistem Basis Data Pertemuan #10 Suryo Widiantoro, ST, MMSI, M.Com(IS)
Weak entity
Weak entity adalah entity yang memenuhi kriteria: existence-dependent: tidak mungkin ada tanpa adanya entity yang memiliki relationship dengannya memiliki primary key yang sebagian atau seluruhnya diturunkan dari parent entity yang memiliki relationship dengannya
Strong (identifying) relationship mengindikasikan bahwa entity yang berhubungan weak DEPENDENT (tanggungan) tidak mungkin ada tanpa EMPLOYEE dan PK DEPENDENT merupakan turunan dari PK EMPLOYEE
Composite (Associative) entity
Relationship M:N mengharuskan kita membuat “jembatan” penghubung di antara entity Associative entity digunakan untuk implementasi relationship M:N antara 2 atau lebih entity Associative entity (disebut juga composite entity atau bridge entity) disusun dari primary key setiap entity yang akan dihubungkan
Sebuah class mungkin ada (setidaknya saat awal registrasi) walaupun belum berisi student Juga saat seorang student baru diterima, student tersebut belum terdaftar di class. Sehingga setidaknya pada awalnya CLASS adalah optional terhadap STUDENT dan STUDENT adalah optional terhadap CLASS.
Karena relationship M:N antara STUDENT dan CLASS dipisah menjadi 2 relationship 1:M melalui ENROLL, partisipasi optional harus dipindahkan ke ENROLL Dengan kata lain, sekarang dimungkinkan sebuah class tidak terdapat di ENROLL bila tidak ada student yang mendaftar di class tersebut Karena sebuah class tidak perlu ada di ENROLL, maka ENROLL menjadi optional terhadap CLASS. Dan karena ENROLL tercipta sebelum ada student mendaftar ke sebuah class, ENROLL juga optional terhadap STUDENT
Latihan soal #1
Sebuah klub sepak bola remaja membutuhkan database system untuk mencatat remaja yang bermain di klub. Data harus disimpan untuk setiap tim dan remaja yang menjadi anggota setiap tim serta data orangtua. Juga perlu disimpan data mengenai pelatih untuk setiap tim. Buat ERD sesuai penjelasan berikut ini. Entity dibutuhkan: Tim, Pemain, Pelatih, dan Orangtua. Attribute dibutuhkan: Tim: nomer tim, nama tim, dan warna tim. Pemain: nomer pemain, nama depan pemain, nama belakang pemain, dan usia pemain. Pelatih: nomer pelatih, nama depan pelatih, nama belakang pelatih, nomer telpon pelatih. Orangtua: nomer orangtua, nama depan orangtua, nama belakang orangtua, nomer telpon rumah, dan alamat rumah (jalan, kota, propinsi, dan kodepos)
Relationship berikut harus ditentukan: Tim berhubungan dengan Pemain. Tim berhubungan dengan Pelatih. Pemain berhubungan dengan Orangtua. Connectivity dan participation ditentukan sebagai berikut: Sebuah Tim bisa punya atau tidak punya seorang Pemain. Seorang Pemain harus punya sebuah Tim. Sebuah Tim bisa punya banyak Pemain. Seorang Pemain hanya punya satu Tim. Sebuah Tim bisa punya atau tidak punya seorang Pelatih. Seorang Pelatih harus punya sebuah Tim. Sebuah Tim bisa punya banyak Pelatih. Seorang Pelatih hanya punya satu Tim. Seorang Pemain harus punya satu Orangtua. Satu Orangtua harus punya seorang Pemain. Seorang Pemain bisa punya banyak Orangtua. Satu Orangtua bisa punya banyak Pemain.
Latihan soal #2
Perhatikan business rules di bawah untuk membuat ERD Crow’s Foot Perhatikan business rules di bawah untuk membuat ERD Crow’s Foot . Tuliskan connectivity dan cardinality pada ERD. Sebuah department mempekerjakan beberapa employee, tetapi setiap employee dipekerjakan oleh hanya satu department. Beberapa employee, disebut “rovers,” tidak tercatat pada department manapun. Sebuah division mengoperasikan beberapa department, tetapi setiap department dioperasikan oleh hanya satu division. Seorang employee bisa mengerjakan beberapa project, dan sebuah project bisa memiliki beberapa employee yang mengerjakannya. Sebuah project harus memiliki sedikitnya satu employee yang mengerjakannya. Seorang dari employee mengelola setiap department, dan setiap department dikelola oleh hanya seorang employee. Seorang dari employee menjalankan setiap division, dan setiap division dijalankan oleh hanya seorang employee.
Latihan soal #3
Tuliskan business rules dari ERD di atas. Tentukan cardinality dari entity yang ada (gunakan asumsi bila diperlukan).
Bonus latihan #4
Jonesburgh County Basketball Conference (JCBC) adalah asosiasi bola basket amatir. Setiap kota di wilayah tersebut memiliki satu tim perwakilan. Setiap tim memiliki maksimal 12 pemain dan minimal 9 pemain. Setiap tim juga memiliki maksimal 3 pelatih (pelatih offensive, defensive, dan physical training). Selama masa kompetisi, setiap tim bermain 2 pertandingan (home dan visitor) melawan setiap tim lainnya. Dengan kondisi seperti itu, lakukan hal berikut: Identifikasi connectivity dari setiap relationship. Identifikasi cardinality antara tim dan pemain serta antara tim dan kota. Gambarkan ERD Crow’s Foot untuk menjelaskan database JCBC.
Bonus latihan #5
Buatlah sebuah ERD dengan notasi Crow’s Foot, berdasarkan kebutuhan/requirement berikut ini: Sebuah INVOICE ditulis oleh seorang SALESREP. Seorang sales representative dapat menulis beberapa invoice, tetapi setiap invoice ditulis oleh seorang sales representative tunggal. INVOICE dituis untuk seorang CUSTOMER tunggal. Namun, setiap customer dapat memiliki banyak invoice. Sebuah INVOICE dapat berisi banyak baris detil (LINE), yang masing-masing menjelaskan satu product yang dibeli oleh customer. Informasi product disimpan pada entity PRODUCT. Informasi vendor product berada pada entity VENDOR.
penutup