model entity relationship bagian ii berkas dan basis data cs2323 ade, htt, kal [email protected]...
TRANSCRIPT
Model Entity RelationshipBagian II
Sistem Berkas dan Basis DataCS2323
ADE, HTT, KAL
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
Diagram E-R dengan atribut Composite, Multivalued dan derived
Himpunan Relasi dengan Atribut
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
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
Relasi Satu ke Banyak
• Dalam relasi satu ke Banyak, Paling banyak SatuCustomer dapat berhubungan dengan beberapa (termasuk0) Loan melalui borrower.
Relasi Banyak ke Satu
• Dalam relasi banyak ke satu, Satu Loan berhubungandengan beberapa (termasuk 0) customer melalui borrower, customer berhubungan dengan paling banyak satu Loan melalui borrower
Relasi Banyak ke Banyak
• customer berhubungan dengan beberapa (mungkin 0) Loan melalui borrower
• Loan berhubungan dengan beberapa (mungkin 0) custonmer melalui borrower
Partisipasi Himpunan Entitas dalam suatuRelasi
• Partisipasi Total : (ditandai dengan garis dobel) : Setiap entitaspada suatu himpunan entitas berhubungan paling sedikit satu relasidalam 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
Notasi Alternatif untuk MenggambarkanKardinalitas
• Jumlah kardinalitas dapat juga digambarkanmenggunakan notasi dibawah ini
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 himpunanrelasi ketikan memilih primary key dari satu atau beberapacandidate key
Diagram ER dalam Relasi Ternary
Konstraint Kardinalitas untuk Relasi Ternary
• Diperbolehkan paling banyak satu panah yang keluar dari relasi Ternary untukmengindikasikan 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 mendefinisikanmaksudnya.
– 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 B
atau C. ATAU2. Setiap pasangan entitas dari (A, B) berhubungan dengan entitas
unik C, dan setiap pasangan (A, C) berhubungan dengan entitasunik B
– Setiap alternatif telah digunakan dalam formalisasi yang berbeda– Untuk menghindari kebingungan, penggambaran lebih dari satu panah dianggap tidak
syah
Relasi Binary Vs Non-Binary
• Beberapa relasi yang digambarkan non binay akan lebihbaik direpresentasikan menggunakan relasi binay.– Contoh : Relasi ternary ; parents, yang menghubungkan antara a
child to his/her father and mother, adalah yang terbaik denganmenggunakan 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
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 B3. 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 RA3. tambah (ei , bi ) ke RB 4. tambah(ei , ci ) ke RC
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 dengansatu entitas pada setiap himpunan entitas A, B dan C
– Hal demikian (membuat identifikasi atribut) dapat dihindaridengan membuat E sebagai Weak entity untuk mengidentifikasitiga himpunan relasi tersebut
Hal Penting dalam Perancangan• Gunakan Himpunan Entitas dan atributnya untuk menggambarkan
suatu sistem. Pilih entitas penting yang berhubungan dengan sistemyang dimodelkan.
• Gunakan himpunan entitas dan relasi, untuk merancang himpunanrelasi antar himpunan entitas
• Relasi Binary dan n-aryDimungkinakn untuk merubah n-ary ke relasi Binary denganmenambahkan satu himpunan entitas untuk menggambarkannya
• Penempatan/pemilihan atribut relasi