Model Entity Relationship Bagian II Sistem Berkas dan Basis Data CS2323 ADE, HTT, KAL
[email protected]
Outline • Diagram ER • Konstrain Kardinalitas • Relasi Ternary
[email protected]
Diagram ER •
Diagram ER merupakan model konseptual untuk menggambarkan struktur logis dari basisdata berbasis grafis
•
Diagram ER dibangun dari komponen berikut : – Segi Empat : menunjukkan Entitas – Elips : menunjukkan Atribut – Belah ketupat : menunjukkan Relasi – Garis : Link yang menghubungkan atara Entitas dengan atribut, dan entitas dengan relasi – Elips dobel : Menunjukkan atribut yang multivalued – Elips dengan garis terputus : Menunjukkan atribut turunan
[email protected]
Diagram E-R dengan atribut Composite, Multivalued dan derived
[email protected]
Himpunan Relasi dengan Atribut
[email protected]
Peran (Roles) • • • •
Relasi Himpunan entitas tidak harus dalam bentuk yang berbeda Label “manager” dan “worker” disebut Roles (peran), yang menspesifikasi bagaimana entitas employee berinteraksi melalui relasi Works-for Peran dalam ER diagram diindikasikan dengan memberikan label (nama) pada garis yang menghubungkan relasi dengan entitas Label peran bersifat optional dan digunakan untuk mengklarifikasi semantik suatu relasi
[email protected]
Constraint Kardinalitas • Dalam menggambarkam kardinalitas pada Diagram ER, digunakan garis panah (→) yang menunjukkan “Satu” atau garis biasa (—) yang menunjukkan “Banyak”, antara relasi dengan entitas • Contoh : Relasi Satu ke satu – Satu Customer hanya boleh berhubungan dengan satu Loan, melalui relasi borrower – Satu Loan hanya boleh berhubungan paling banyak oleh satu Customer, melalui relasi borrower
[email protected]
Relasi Satu ke Banyak • Dalam relasi satu ke Banyak, Paling banyak Satu Customer dapat berhubungan dengan beberapa (termasuk 0) Loan melalui borrower.
[email protected]
Relasi Banyak ke Satu • Dalam relasi banyak ke satu, Satu Loan berhubungan dengan beberapa (termasuk 0) customer melalui borrower, customer berhubungan dengan paling banyak satu Loan melalui borrower
[email protected]
Relasi Banyak ke Banyak
• customer berhubungan dengan beberapa (mungkin 0) Loan melalui borrower • Loan berhubungan dengan beberapa (mungkin 0) custonmer melalui borrower
[email protected]
Partisipasi Himpunan Entitas dalam suatu Relasi •
•
Partisipasi Total : (ditandai dengan garis dobel) : Setiap entitas pada suatu himpunan entitas berhubungan paling sedikit satu relasi dalam suatu himpunan relasi – Contoh : partisipasi entitas loan pada borrower adalah total – Setiap entitas loan harus memiliki hubungan dengan customer melalui borrower Partisipasi sebagian (parsial) : Beberapa entitas boleh tidak berhubungan pada tiap relasi dalam suatu himpunan relasi – Contoh : partisipasi entitas customer pada borrower adalah parsial
[email protected]
Notasi Alternatif untuk Menggambarkan Kardinalitas • Jumlah kardinalitas dapat juga digambarkan menggunakan notasi dibawah ini
[email protected]
Kunci untuk Himpunan Relasi • Kombinasi dari primary key pada himpunan entitas yang berelasi adalah super key suatu himpunan relasi – (customer-id, account-number) adalah super key untuk relasi depositor
• Harus mempertimbangkan pemetaan kardinalitas dari himpunan relasi ketika menentukan atribut mana yang merupakan candidate key • Perlu juga mempertimbangkan semantik dari himpunan relasi ketikan memilih primary key dari satu atau beberapa candidate key
[email protected]
Diagram ER dalam Relasi Ternary
[email protected]
Konstraint Kardinalitas untuk Relasi Ternary • • •
Diperbolehkan paling banyak satu panah yang keluar dari relasi Ternary untuk mengindikasikan konstrain kardinalitas Contoh : Panah dari works-on ke job mengindikasikan setiap employee works on paling banyak satu job pada setiap branch. Jika ada lebih dari satu panah, maka ada dua cara untuk mendefinisikan maksudnya. – Contoh : Relasi ternary R antara A, B dan C dengan panah ke B dan C bisa diartikan :
1. Setiap entitas A entity berhubungan dengan entitas unik dari atau C. ATAU 2. Setiap pasangan entitas dari (A, B) berhubungan dengan entitas unik C, dan setiap pasangan (A, C) berhubungan dengan entitas unik B
B
– Setiap alternatif telah digunakan dalam formalisasi yang berbeda – Untuk menghindari kebingungan, penggambaran lebih dari satu panah dianggap tidak syah
[email protected]
Relasi Binary Vs Non-Binary • Beberapa relasi yang digambarkan non binay akan lebih baik direpresentasikan menggunakan relasi binay. – Contoh : Relasi ternary ; parents, yang menghubungkan antara a child to his/her father and mother, adalah yang terbaik dengan menggunakan dua relasi binay yaitu, father dan mother • Menggunakan dua relasi binary membolehkan informasi parsial (contoh. Hanya mother yang diketahui)
– Tapi ada beberapa relasi yang secara natural adalah non binary • Contoh . works-on
[email protected]
Konversi Relasi Non-Binary ke Bentuk Binary •
Pada umumnya, setiap relasi non-binary dapat direpresentasikan menggunkan relasi binary dengan membuat himpunan entitas buatan (artificial) – Gantikan R antara himpunan entitas A, B and C dengan himpunan entitas E, dan tiga himpunan relasi: 1. RA, merelasilkan E dan A
2.RB, merelasilkan E dan B
3. RC, merelasilkan E dan C
– Buat identifikasi atribut khusus untuk E – Tambahkan setiap atribut R untuk E – Untuk masing-masing relasi (ai , bi , ci) di R, buat 1. Entitas baru ei di himpunan entitas E
2. tambah (ei , ai ) ke RA
3. tambah (ei , bi ) ke RB
4. tambah(ei , ci ) ke RC
[email protected]
Konversi Relasi Non-Binary ke Bentuk Binary (lanj.) • Juga dibutuhkan untuk mentranslasi konstrain – Mentranslasikan semua konstrain ada kemungkinan tidak dapt dilakukan – Ada beberapa instans dalam skema translasi tidak bisa cocok/dihubungkan untuk setiap instans direlasi R • Latihan : tambahkan konstrain/atribut pada relasi RA, RB dan RC untuk meyakinkan bahwa entitas yang baru dibuat cocok /berhubungan dengan satu entitas pada setiap himpunan entitas A, B dan C
– Hal demikian (membuat identifikasi atribut) dapat dihindari dengan membuat E sebagai Weak entity untuk mengidentifikasi tiga himpunan relasi tersebut
[email protected]
Hal Penting dalam Perancangan • Gunakan Himpunan Entitas dan atributnya untuk menggambarkan suatu sistem. Pilih entitas penting yang berhubungan dengan sistem yang dimodelkan. • Gunakan himpunan entitas dan relasi, untuk merancang himpunan relasi antar himpunan entitas • Relasi Binary dan n-ary Dimungkinakn untuk merubah n-ary ke relasi Binary dengan menambahkan satu himpunan entitas untuk menggambarkannya • Penempatan/pemilihan atribut relasi
[email protected]