Bab2 model entity relationship

71
©Silberschatz, Korth and Sudarsha 2.1 Database System Concepts Bab 2 : Model Entity- Bab 2 : Model Entity- Relationship Relationship Kumpulan Entity Kumpulan Relationship Hasil Desain Kendala Pemetaan Kunci Diagram E-R Keistimewaan Perluasan E-R Desain dari Skema Database E-R Reduksi dari Skema E-R ke Tabel

description

 

Transcript of Bab2 model entity relationship

Page 1: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.1Database System Concepts

Bab 2 : Model Entity-RelationshipBab 2 : Model Entity-Relationship

Kumpulan Entity

Kumpulan Relationship

Hasil Desain

Kendala Pemetaan

Kunci

Diagram E-R

Keistimewaan Perluasan E-R

Desain dari Skema Database E-R

Reduksi dari Skema E-R ke Tabel

Page 2: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.2Database System Concepts

Entity SetsEntity Sets

Database dapat dimodelkan sebagai: kumpulan dari entity (entitas)

hubungan antar entity (entitas)

Entity adalah suatu obyek yang dapat dikenali dari obyek yang lain.

Contoh : seseorang yang khusus, perusahaan, peristiwa, tanaman.

Entity mempunyai atribut Contoh : seseorang mempunyai nama dan alamat

Kumpulan entity adalah suatu kumpulan entity dengan tipe yang sama yang berbagi properti yang sama pula.

Contoh : kumpulan orang, perusahaan, tanaman, tempat liburan

Page 3: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.3Database System Concepts

Kumpulan Entitas Pelangganan (Kumpulan Entitas Pelangganan (customer) customer) dan Pinjaman (dan Pinjaman (loan)loan)

customer-id customer- customer- customer- loan- amount name street city number

Page 4: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.4Database System Concepts

AttributesAttributes

Entity ditampilkan oleh sekumpulan attribute, yang mana properti deskriptifnya dikuasai oleh seluruh anggota dalam kumpulan entity.

Contoh :

customer = (customer-id, customer-name, customer-street, customer-city)

loan = (loan-number, amount)

Domain –adalah satuan nilai yang diperbolehkan pada setiap attribute

Tipe attribute : Simple (sederhana) dan composite (gabungan) attributes.

Single-valued (satu-fungsi ) dan multi-valued (multi-fungsi ) attributes

Contoh : atribut multi-fungsi : nomor telepon

Derived (asal) attributes

Dapat diperhitungkan dari atribut lain

Contoh : umur, tanggal kelahiran

Page 5: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.5Database System Concepts

Composite AttributesComposite Attributes

Page 6: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.6Database System Concepts

Relationship SetsRelationship Sets

Relationship adalah kesesuaian antar beberapa entity Contoh:

Hayes depositor A-102customer entity relationship set account entity

Relationship set adalah hubungan matematika antara entity n>2, tiap bagiannya diambil dari satuan entity {(e1, e2, … en) | e1 E1, e2 E2, …, en En} dimana (e1, e2, …, en) adalah relationship

Contoh :

(Hayes, A-102) depositor

Page 7: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.7Database System Concepts

Relationship Set Relationship Set borrowerborrower

Page 8: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.8Database System Concepts

Relationship Sets (lanjutan)Relationship Sets (lanjutan) Attribute dapat merupakan properti dari relationship set.

Sebagai contoh: depositor merupakan relationship set antara entity sets customer dan account mungkin beratribut access-date

Page 9: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.9Database System Concepts

Tingkatan Tingkatan Relationship SetRelationship Set

Mengacu pada jumlah entity sets yang terlibat dalam relationship set.

Relationship sets yang melibatkan dua entity sets adalah binary (atau tingkat dua).

Umumnya, hampir semua relationship sets dalam sistem database adalah binary.

Relationship sets mungkin melibatkan lebih dari dua entity sets.

Contoh : misal seorang pegawai bank bekerja (bertanggung jawab) dalam beberapa cabang, dengan tugas yang berlainan dalam setiap cabang yang berlainan pula. Maka disini terdapat relationship set ternary antara entity sets pegawai (employee), tugas (job) dan cabang (branch)

Relationships antara lebih dari dua entity sets sangat jarang. Kebanyakan hubungan adalah binary (akan dibahas lebih jauh nanti)

Page 10: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.10Database System Concepts

Mapping Cardinalities (Cardinalitas Pemetaan)Mapping Cardinalities (Cardinalitas Pemetaan)

Mengungkap jumlah entitas ke entitas yang lain bisa dihubungkan melalui relationship set.

Paling banyak digunakan dalam menggambarkan relationship sets biner ..

Untuk relationship set biner cardinalitas pemetaan harus merupakan salah satu dari tipe berikut: One to one (satu ke satu)

One to many (satu ke banyak)

Many to one (banyak ke satu)

Many to many (banyak ke banyak)

Page 11: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.11Database System Concepts

Mapping Cardinalities (Cardinalitas Pemetaan)Mapping Cardinalities (Cardinalitas Pemetaan)

One to one One to many

Note: Beberapa elemen di A dan B mungkin tidak dipetakan ke elemen manapun di himpunan lain

Page 12: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.12Database System Concepts

Mapping Cardinalities (Cardinalitas Pemetaan)Mapping Cardinalities (Cardinalitas Pemetaan)

Many to one Many to many

Note: Beberapa elemen di A dan B mungkin tidak dipetakan pada elemen mana pun di himpunan lain.

Page 13: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.13Database System Concepts

Mapping Cardinalities mempengaruhi Mapping Cardinalities mempengaruhi ER DesignER Design

Dapat membuat access-date sebagai atribut dari account, bukan atribut relationship , jika tiap account hanya mempunyai satu pelanggan

Misal, hubungan dari account ke pelanggan adalah banyak ke satu, atau secara equivalent, pelanggan ke account adalah satu ke banyak.

Page 14: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.14Database System Concepts

E-R DiagramsE-R Diagrams

Rectangles melambangkan set-set entitas .

Diamonds melambangkan set-set hubungan (relationship) . Lines menghubungkan atribut dengan set-set entitas serta set-set entitas

dengan set-set hubungan (relationship). Ellipses mewakili attributes

Double ellipses mewakili atribut multivalued .

Dashed ellipses menunjukkan sifat yang didapat..

Underline menunjukkan sifat kunci pokok (akan dipelajari nanti)

Page 15: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.15Database System Concepts

E-R Diagram dengan Composite, Multivalued, E-R Diagram dengan Composite, Multivalued, dan Derived Attributesdan Derived Attributes

Page 16: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.16Database System Concepts

Relationship Sets dengan Attributes RolesRelationship Sets dengan Attributes Roles

Page 17: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.17Database System Concepts

RolesRoles

Satuan entity dalam suatu relationship tidak perlu terpisah Label “manager” dan “worker” disebut sebagai tugas (roles);

mereka menetapkan bagaimana entitas pegawai berinteraksi dengan pekerjaan untuk relationship sets

Roles ditunjukkan di E-R diagram dengan memberi label pada garis yang menyambungkan diamond ke segi empat.

Label role adalah merupakan pilihan, dan dipergunakan untuk menjelaskan ilmu semantik relationship

Page 18: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.18Database System Concepts

Cardinality Constraints (keterbatasan kardinalitas)Cardinality Constraints (keterbatasan kardinalitas)

Kami mengungkapkan keterbatasan cardinalitas dengan menggambarkan baik itu batas yang ditujukan (), menandakan “one,” atau garis yang tak ditujukan (—), menandakan “many,” di antara relationship set dan set entitas.

E.g.: Seperti : Relationship satu-ke-satu : seorang pelanggan dihubungkan dengan tak lebih dari satu pinjaman via

hubungan borrower pinjaman dihubungkan dengan tak lebih dari satu orang pelanggan via

borrower

Page 19: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.19Database System Concepts

One-To-Many Relationship (Hubungan satu ke banyakOne-To-Many Relationship (Hubungan satu ke banyak))

Pada satu-ke-banyak hubungan pinjaman dihubungkan dengan tak lebih dari satu orang pelanggan via peminjam, seorang pelanggan dihubungkan dengan beberapa (termasuk 0) yang meminjami via borrower

Page 20: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.20Database System Concepts

Many-To-One Relationships (Many-To-One Relationships (HubunganHubungan Banyak-Ke-BanyakBanyak-Ke-Banyak))

Di dalam many-to-one relationship seorang pelanggan dihubungkan dengan beberapa (mungkin 0) pinjaman via peminjam, pinjaman dihubungkan dengan beberapa (mungkin 0) pelanggan via peminjam

Page 21: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.21Database System Concepts

Many-To-Many Relationship (Many-To-Many Relationship (HubunganHubungan Banyak-Ke-BanyakBanyak-Ke-Banyak))

Seorang pelanggan dihubungkan dengan beberapa (mungkin 0) pinjaman via peminjam

Pinjaman dihubungkan dengan beberapa (mungkin 0) pelanggan via peminjam

Page 22: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.22Database System Concepts

Peran serta Set Entitas padaPeran serta Set Entitas pada Relationship Set Relationship Set

Total participation (Total partisipasi): (ditunjukkan dengan garis dobel): setiap entitas di set entitas mengambil bagian paling sedikit satu relationship pada relationship set

Misal. Partisipasi pinjaman pada peminjam adalah keseluruhan

setiap pinjaman harus mempunyai seorang pelanggan yang menghubungkan ke itu (pinjaman) via peminjam

Partial participation (Partial partisipasi): beberapa entitas mungkin tidak mengambil bagian dalam relationship (hubungan) yang mana pun pada relationship set..

misal partisipasi pelanggan pada peminjam adalah parsial

Page 23: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.23Database System Concepts

Notasi Alternatif untuk Batasan Notasi Alternatif untuk Batasan CardinalitasCardinalitas

Batas cardinalitas juga bisa mengungkapkan keterbatasan partisipasi

Page 24: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.24Database System Concepts

Keys (kunci-kunci)Keys (kunci-kunci)

Super key (super kunci) dari set entitas adalah satu atau lebih atribut yang mana nilainya secara unik menentukan masing-masing entitas .

Candidate key (calon kunci) dari suatu set entitas adalah Super key minimal

Customer-id (id pelanggan) adalah Candidate key dari pelanggan

account-number (nomer rekening ): adalah candidate key dari account

Meski beberapa candidate key mungkin ada, salah satu candidate key dipilih untuk menjadi primary key (kunci pokok).

Page 25: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.25Database System Concepts

Key untuk Relationship Set Key untuk Relationship Set

Kombinasi primary keys (kunci pokok) dari set entitas yang berpartisipasi membentuk super key (kunci super) pada relationship set (set hubungan).

customer-id, account-number (pelanggan-id, rekening-jumlah) adalah super key (kunci pokok) dari depositor

CATATAN: ini berarti sepasang set-set entitas bisa mempunyai tak lebih dari satu relationship (hubungan) pada suatu relationship set tertentu.

Misal. jika kami menginginkan untuk melacak semua access-dates ke masing-masing rekening oleh masing-masing pelanggan, kita tidak bisa mengambil relationship (hubungan) untuk masing-masing akses. Tapi kita tetap bisa menggunakan sifat multivalued

Harus mempertimbangkan pemetaan cardinalitas dari relationship set di saat mengambil keputusan apa calon kuncinya (candidate key)

Tetap perlu mempertimbangkan ilmu semantik dari set hubungan (relationship set) dalam memilih primary key (kunci pokok) bila timbul masalah adanya lebih dari satu candidate key (calon kunci)

Page 26: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.26Database System Concepts

Diagram E-R dengan Hubungan Ternary Diagram E-R dengan Hubungan Ternary ((Ternary Relationship)Ternary Relationship)

Page 27: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.27Database System Concepts

Keterbatasan Cardinalitas pada Hubungan Ternary Keterbatasan Cardinalitas pada Hubungan Ternary (Ternary Relationship)(Ternary Relationship)

Diperbolehkan tak lebih dari satu anak panah dari hubungan ternary (atau derajat yang lebih besar) untuk menunjukkan keterbatasan cardinalitas

Misal. Suatu anak panah dari wroks-on ke job menunjukkan masing-masing pegawai mengerjakan tak lebih dari satu pekerjaan di cabang yang mana pun.

Jika ada lebih dari satu anak panah, ada dua cara untuk mendefinisikan artinya.

misal. Hubungan ternary R di antara A, B dan C dengan anak panah ke B dan C bisa berarti :

1. Tiap-tiap entitas A dihubungkan dengan entitas unik dari B dan C atau

2. Masing-masing pasang entitas dari (A, B) dihubungkan dengan entitas unik C, dan masing-masing pasang (A, C) dihubungkan dengan entitas unik B

Tiap alternatif sudah dipakai pada formalisme berbeda

Untuk menghindari kebingungan tidak diijinkan menggunakan lebih dari satu anak panah

Page 28: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.28Database System Concepts

Binary Vs. Hubungan NonbinaryBinary Vs. Hubungan Nonbinary (Non-Binary (Non-Binary Relationships)Relationships)

Beberapa hubungan yang kelihatannya non biner mungkin sebaiknya ditampilkan menggunakan hubungan biner

Misal. Hubungan ternary orang tua, menghubungkan seorang anak ke bapak dan ibunya, hal ini paling baik diganti oleh dua hubungan biner, bapak dan ibu

Dengan menggunakan dua hubungan biner memungkinkan informasi sebagian (misal hanya ibu yang tahu)

Tetapi ada beberapa hubungan yang secara alami non-biner

misal. works-on

Page 29: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.29Database System Concepts

Mengubah Hubungan Non Biner ke Bentuk BinerMengubah Hubungan Non Biner ke Bentuk Biner

Secara umum, hubungan non biner mana pun bisa dilambangkan memakai hubungan biner dengan membuat set entitas buatan. Mengganti R di antara set-set entitas A, B dan C di samping set entitas

E, dan tiga set hubungan (relationship sets ):

1. RA, menghubungkan E dan A 2.RB, menghubungkan E dan B 3. RC, menghubungkan E dan C

Menciptakan atribut pengenal khusus bagi E Menambah atribut mana pun dari R ke E Untuk setiap hubungan (ai, bi, ci) di R, menciptakan

1. Entitas baru ei di set entitas E 2. menambah (ei, ai) ke RA

3. menambah (ei, bi) ke RB 4. menambah (ei, ci) ke RC

Page 30: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.30Database System Concepts

Mengubah Hubungan Non Biner (lanjutan)Mengubah Hubungan Non Biner (lanjutan)

Juga perlu menterjemahkan keterbatasan

Menterjemahkan semua keterbatasan bisa jadi tidak mungkin

Mungkin ada permisalan di skema terjemahan yang tidak dapat merespon segala kejadian di R yang mana pun

Latihan : menambahkan keterbatasan ke hubungan RA, RB dan RC untuk menjamin bahwa entitas yang baru diciptakan berhubungan kepada persis satu entitas pada masing-masing set-set entitas A, B dan C

Kami bisa menghindari terciptanya pengenalan atribut dengan membuatkan E suatu set entitas yang lemah (akan digambarkan tak lama lagi) yang dapat dikenali dari tiga set hubungan

Page 31: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.31Database System Concepts

Design IssuesDesign Issues

Menggunakan set-set entitas vs. Atribut Pilihan utamanya tergantung pada struktur perusahaan yang dimodelkan, dan pada ilmu semantik yang dihubungkan dengan sifat dalam pertanyaan.

Menggunakan set-set entitas vs. relationship sets. Pedoman yang mungkin adalah mengarahkan suatu set hubungan untuk menggambarkan sebuah tindakan yang terjadi antar entitas

Binary versus n-ary relationship sets Walaupun mungkin untuk mengganti set hubungan (relationship set) nonbiner manapun (n-ary, untuk n > 2) dengan beberapa set hubungan biner yang jelas, set hubungan n-ary menunjukkan lebih jelas bahwa beberapa entitas mengambil bagian pada satu hubungan.

Penempatan atribut hubungan (relationship attributes)

Page 32: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.32Database System Concepts

Weak Entity Sets (Set-set Entitas Weak Entity Sets (Set-set Entitas Lemah) Lemah)

Set entitas yang tidak mempunyai kunci pokok (primary key) disebut sebagai set entitas lemah (weak entity set.).

Keberadaan set entitas lemah tergantung pada keberadaan set entitas pengenal (identifying entity set) harus berhubungan dengan set entitas pengenal melalui jumlah

total, satu-ke-banyak set hubungan (one to many relationship) dari set pengenal ke set entitas lemah

Hubungan pengenal (Identifying relationship ) digambarkan dengan memakai dobel diamond

Discriminator (atau kunci parsial) pada set entitas lemah adalah set dari sifat (atribut) yang membedakan antara semua entitas dari set entitas lemah.

Kunci pokok (primary key ) dari set entitas lemah terbentuk oleh kunci pokok (primary key ) dari set entitas kuat yang mana set entitas lemah keberadaannya tergantung, ditambah discriminator dari set entitas lemah.

Page 33: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.33Database System Concepts

Weak Entity Sets / Weak Entity Sets / Set-Set Entitas lemah Set-Set Entitas lemah (lanjutan) (lanjutan)

Kita menggambarkan set entitas lemah dengan segi empat dobel

Kita menekankan discriminator pada set entitas lemah dengan garis pisah.

payment-number – discriminator dari set entitas payment

Primary key untuk payment – (loan-number, payment-number)

Page 34: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.34Database System Concepts

Weak Entity Sets / Weak Entity Sets / Set-Set Entitas Lemah Set-Set Entitas Lemah (lanjutan)(lanjutan)

Catatan: primary key dari set entitas kuat tidak disimpan secara gamblang/jelas dengan set entitas lemah, karena hal ini tersirat pada relationship (hubungan) pengenal.

Jika loan-number disimpan secara jelas/gamblang, payment bisa dibuat entitas kuat, tetapi kemudian hubungan (relationship ) antara payment dan loan akan disalin oleh hubungan (relationship) tersirat yang ditegaskan oleh sifat (attribut) loan-number biasa ke payment dan loan

Page 35: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.35Database System Concepts

Contoh Lain Set Entitas LemahContoh Lain Set Entitas Lemah

Di universitas, kursus (course) adalah entitas kuat dan penawaran-kursus (course-offering) bisa diperagakan sebagai entitas lemah

Discriminator dari course-offering adalah semester (termasuk tahun) dan bagian-jumlah (section-number) (jika terdapat lebih dari satu bagian)

Jika kita peragakan course-offering sebagai entitas kuat kita akan peragakan course-number sebagai sifat.

Kemudian relationship dengan course akan tersirat pada attribute course-number

Page 36: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.36Database System Concepts

SpesialisasiSpesialisasi

Proses desain atas-bawah (Top-down); kami mengarahkan sub-pengelompokan dalam set entitas yang khas dari entitas lain di dalam set.

Sub-pengelompokan ini menjadi set-set entitas dengan level lebih rendah yang mempunyai sifat/atribut atau mengambil bagian dalam hubungan/relationship yang tidak diterapkan dalam set entitas dengan level lebih tinggi.

Digambarkan dengan komponen segitiga (triangle) berlabel ISA (misal. Customer “adalah seseorang/ person”).

Attribute inheritance (Attribut warisan) – set entitas dengan level lebih rendah mewarisi semua sifat / atribut dan partisipasi hubungan/ relationship dari set entitas dengan level lebih tinggi yang mana hal ini terhubung.

Page 37: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.37Database System Concepts

Contoh SpesialisasiContoh Spesialisasi

Page 38: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.38Database System Concepts

GeneralisasiGeneralisasi

Proses desain dasar-ke atas (bottom-up) – menggabungkan sejumlah set entitas yang membagi fitur yang sama menjadi set entitas dengan level lebih tinggi.

Spesialisasi dan generalisasi adalah kebalikan sederhana satu dengan yang lain; mereka diwakilkan dalam diagram E-R dengan cara yang sama.

Syarat-syarat spesialisasi dan generalisasi dapat dipakai bergantian

Page 39: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.39Database System Concepts

Spesialisasi dan Generalisasi (lanjutan)Spesialisasi dan Generalisasi (lanjutan)

Bisa mempunyai spesialisasi berlipat ganda pada set entitas berdasarkan fitur yang berbeda.

Misal. Pegawai-permanen (permanent-employee) vs. Pegawai-sementara (temporary-employee), atau bisa juga pegawai kantor vs. sekretaris vs. teller (officer vs. secretary vs. teller ).

Tiap pegawai khusus (particular employee ) akan menjadi seorang anggota dari satu pegawai-permanen (permanent-employee)

atau pegawai-sementara (temporary-employee), dan juga seorang anggota dari satu pegawai kantor (officer),

sekretaris(secretary), atau teller

Hubungan/relationship ISA juga merujuk kepada hubungan superkelas - subkelas (superclass - subclass )

Page 40: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.40Database System Concepts

Keterbatasan desain pada Keterbatasan desain pada Spesialisasi/GeneralisasiSpesialisasi/Generalisasi

Keterbatasan yang mana entitas bisa menjadi anggota dari set entitas dengan level lebih rendah yang diberikan. condition-defined (kondisi-yang ditentukan)

Misal. semua pelanggan di atas 65 tahun adalah anggota dari set entitas warganegara-senior (senior-citizen); warganegara-senior ISA orang (senior-citizen ISA person).

user-defined (pemakai-yang ditentukan) Keterbatasan pada entitas ataupun bukan bisa masuk pada lebih

dari satu set entitas dengan level lebih rendah dalam satu generalisasi. Disjoint

suatu entitas bisa hanya masuk dalam satu set entitas dengan level lebih rendah

dicatat pada diagram E-R dengan tulisan disjoint di samping segitiga ISA

Overlapping (penumpukan) suatu entitas bisa masuk pada lebih dari satu set entitas dengan

level lebih rendah

Page 41: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.41Database System Concepts

Keterbatasan Desain pada Keterbatasan Desain pada Spesialisasi/Generalisasi (lanjutan) Spesialisasi/Generalisasi (lanjutan)

Completeness constraint (Keterbatasan sempurna) -menetapkan apakah entitas pada set entitas level lebih tinggi harus termasuk dalam paling sedikit salah satu dari set-set entitas level lebih rendah dalam generalisasi. total :entitas harus masuk dalam salah satu dari set entitas level

lebih rendah

partial: entitas tidak perlu termasuk dalam salah satu set entitas level lebih rendah

Page 42: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.42Database System Concepts

Aggregation (Aggregation (Aggregasi/Penjumlahan)Aggregasi/Penjumlahan)

Menganggap hubungan ternary works-on , yang telah kami lihat di awal

Misal kami ingin mencatat manajer untuk tugas yang dilakukan oleh seorang pegawai di suatu cabang

Page 43: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.43Database System Concepts

Aggregation / Aggregation / Penjumlahan (lanjutan)Penjumlahan (lanjutan)

Set hubungan works-on dan manages mewakili penumpukan information Tiap hubungan manages bersesuaian dengan hubungan works-on Tetapi, beberapa hubungan works-on mungkin tidak bersesuaian dengan

hubungan manages yang manapun Jadi kami tidak dapat membuang hubungan works-on

Menghapus kelebihan ini melalui penjumlahan (agregation) Memperlakukan hubungan sebagai entitas abstrak membolehkan hubungan antar hubungan mengabstraksi hubungan ke dalam entitas baru

Tanpa memperkenalkan kelebihan (redundancy), diagram berikut mewakili: seorang pegawai yang mengerjakan pekerjaan khusus di cabang khusus seorang pegawai (employee), cabang (branch), pekerjaan kombinasi (job

combination ) mungkin mempunyai manager

Page 44: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.44Database System Concepts

Diagram E-R Dengan AggregationDiagram E-R Dengan Aggregation

Page 45: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.45Database System Concepts

Penetapan E-R DesignPenetapan E-R Design

Penggunaan sifat atau set entitas untuk melambangkan obyek.

Konsep dunia nyata sebenarnya diungkapkan paling baik dengan set entitas atau set hubungan.

Penggunaan hubungan ternary vs pasangan hubungan biner.

Penggunaan set entitas kuat atau lemah.

Penggunaan spesialisasi/generalisasi – menyumbang ke modularity (modularitas) pada bentuk.

Penggunaan penjumlahan/agregation – bisa menganggap set entitas jumlah/agregate sebagai satu kesatuan tanpa memperhatikan detail dari struktur internalnya.

Page 46: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.46Database System Concepts

Diagram E-R bagi Perusahaan PerbankanDiagram E-R bagi Perusahaan Perbankan

Page 47: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.47Database System Concepts

Ringkasan Simbol2 yang digunakan Ringkasan Simbol2 yang digunakan dalam notasi E-Rdalam notasi E-R

Page 48: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.48Database System Concepts

Ringkasan Simbol2 (lanjutan)Ringkasan Simbol2 (lanjutan)

Page 49: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.49Database System Concepts

Alternatif notasi E-RAlternatif notasi E-R

Page 50: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.50Database System Concepts

UMLUML

UML: Unified Modeling Language

UML mempunyai banyak bagian yang secara grafis memperagakan aspek berbeda dari seluruh software system

UML Class Diagrams bersesuaian dengan diagram E-R, tetapi dengan beberapa perbedaan.

Page 51: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.51Database System Concepts

Ringkasan dari UML Class Diagram NotationRingkasan dari UML Class Diagram Notation

Page 52: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.52Database System Concepts

UML Class Diagrams (lanjutan)UML Class Diagrams (lanjutan)

Set-set entitas diperlihatkan sebagai kotak-kotak, dan sifat diperlihatkan dalam kotak, atau bisa juga seperti elipsis terpisah pada E-R diagram.

Set-set hubungan biner dilambangkan di UML hanya dengan memberi garis batas yang menyambung set-set entitas. Nama set hubungan ditulis berdampingan dengan garis.

Peran yang dimainkan oleh set entitas pada set hubungan juga dapat ditetapkan dengan menulis nama peran di atas garis, berdampingan dengan set entitas.

Nama set hubungan secara alternatif mungkin ditulis di sebuah kotak, beserta dengan sifat dari set hubungan, dan kotak disambungkan, memakai garis bertitik-titik, ke garis yang menggambarkan set hubungan.

Hubungan nonbiner secara langsung tidak bisa dilambangkan di UML -- mereka mesti dibalik ke hubungan biner .

Page 53: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.53Database System Concepts

UML Class Diagram Notation (lanjutan)UML Class Diagram Notation (lanjutan)

*Note reversal of position in cardinality constraint depiction

Page 54: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.54Database System Concepts

UML Class Diagrams (lanjutan) UML Class Diagrams (lanjutan)

Keterbatasan cardinalitas ditetapkan dalam bentuk l…h, di mana l menunjukkan jumlah minimum dan h jumlah maksimum hubungan dimana suatu entitas bisa mengambil bagian.

Perhatikan : posisi dari keterbatasan adalah persis kebalikan dari posisi keterbatasan dalam E-R diagram.

Keterbatasan 0.. * pada sisi E2 dan 0.. 1 pada sisi E1 berarti bahwa tiap entitas E2 tersebut dapat mengambil bagian paling banyak dalam satu hubungan, sedangkan masing-masing entitas E1 bisa mengambil bagian dalam banyak hubungan; dengan kata lain, hubungannya adalah banyak ke satu dari E2 ke E1.

Nilai tunggal, seperti 1 atau * mungkin ditulis di pinggir; nilai tunggal 1 di pinggir diperlakukan sama dengan 1.. 1, sedangkan * adalah sama dengan 0.. *.

Page 55: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.55Database System Concepts

Penurunan Skema E-R ke dalam TabelPenurunan Skema E-R ke dalam Tabel

Primary keys (Kunci pokok) memungkinkan set-set entitas dan set-set hubungan diungkapkan secara seragam sebagai tabel-tabel yang melambangkan isi database.

Database yang menyesuaikan diri ke diagram E-R bisa diwakili oleh sekumpulan tabel.

Untuk tiap set entitas dan set hubungan terdapat sebuah tabel unik yang menandakan nama dari set entitas atau set hubungan yang berhubungan.

Tiap tabel mempunyai sejumlah kolom (umumnya berhubungan dengan sifat), yang mempunyai nama unik.

Membalik diagram E-R menjadi bentuk tabel adalah dasar untuk memperoleh pola database relasional dari E-R diagram.

Page 56: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.56Database System Concepts

Melambangkan Set-Set Entitas sebagai Tabel Melambangkan Set-Set Entitas sebagai Tabel

Set entitas kuat berkurang menjadi tabel dengan sifat yang sama

Page 57: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.57Database System Concepts

Atribut Kombinasi (Atribut Kombinasi (Composite)Composite) dan Nilai dan Nilai Ganda (Ganda (Multivalued)Multivalued)

Atribut kombinasi dikeluarkan dengan membuat atribut terpisah untuk masing-masing komponen atribut misal. Memberikan set entitas customer dengan atribut kombinasi nama

dengan komponen atribut first-name dan last-name, tabel yang berhubungan dengan set entitas mempunyai dua atribut name.first-name and name.last-name

Atribut nilai ganda M dari entitas E diwakili oleh tabel EM yang terpisah Table EM mempunyai atribut yang cocok dengan primary key E dan

atribut yang cocok dengan atribut nilai ganda M misal. Atribut nilai ganda dependent-names dari pegawai diwakili oleh

tabel employee-dependent-names( employee-id, dname) Masing-masing nilai dari atribut nilai ganda dipetakan ke dalam baris

terpisah dari tabel EM misal., entitas pegawai dengan primary key John dan

tanggungan/dependents Johnson dan Johndotir memetakan ke dua jajaran/baris: : (John, Johnson) dan (John, Johndotir)

Page 58: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.58Database System Concepts

Merepresentasi Set Entitas LemahMerepresentasi Set Entitas Lemah

Set entitas lemah menjadi sebuah tabel yang menyertakan kolom untuk primary key dari set entitas kuat pengenal

Page 59: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.59Database System Concepts

Merepresentasikan Set Hubungan Merepresentasikan Set Hubungan ((Relationship SetsRelationship Sets)) sebagai Tabel sebagai Tabel

Set hubungan banyak-ke-banyak (many to many) diwakilkan sebagai tabel dengan kolom-kolom untuk primary key - primary key dari kedua set entitas yang mengambil bagian, dan setiap sifat deskriptif dari set hubungan.

Misal. : tabel untuk set hubungan borrower

Page 60: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.60Database System Concepts

Kelebihan Tabel Kelebihan Tabel

Set-set hubungan banyak-ke-satu (many to one) dan satu-ke-banyak (one to many) yang total di sisi many bisa diwakilkan dengan menambahkan atribut ekstra ke sisi banyak (many), berisi primary key pada sisi one.

Misal. : Daripada membuat tabel untuk hubungan account-branch, lebih baik menambahkan atribut branch ke set entitas account

Page 61: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.61Database System Concepts

Redundancy of Tables (Cont.)Redundancy of Tables (Cont.)

For one-to-one relationship sets, either side can be chosen to act as the “many” side That is, extra attribute can be added to either of the tables

corresponding to the two entity sets

If participation is partial on the many side, replacing a table by an extra attribute in the relation corresponding to the “many” side could result in null values

The table corresponding to a relationship set linking a weak entity set to its identifying strong entity set is redundant. E.g. The payment table already contains the information that would

appear in the loan-payment table (i.e., the columns loan-number and payment-number).

Page 62: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.62Database System Concepts

Representing Specialization as TablesRepresenting Specialization as Tables

Method 1: Form a table for the higher level entity

Form a table for each lower level entity set, include primary key of higher level entity set and local attributes

table table attributespersonname, street, city customername, credit-ratingemployeename, salary

Drawback: getting information about, e.g., employee requires accessing two tables

Page 63: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.63Database System Concepts

Representing Specialization as Tables Representing Specialization as Tables (Cont.)(Cont.)

Method 2: Form a table for each entity set with all local and inherited

attributestable table attributes

personname, street, citycustomername, street, city, credit-ratingemployee name, street, city, salary

If specialization is total, no need to create table for generalized entity (person)

Drawback: street and city may be stored redundantly for persons who are both customers and employees

Page 64: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.64Database System Concepts

Relations Corresponding to Relations Corresponding to AggregationAggregation

To represent aggregation, create a table containing

primary key of the aggregated relationship,

the primary key of the associated entity set

Any descriptive attributes

Page 65: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.65Database System Concepts

Relations Corresponding to Relations Corresponding to Aggregation (Cont.)Aggregation (Cont.)

E.g. to represent aggregation manages between relationship works-on and entity set manager, create a table manages(employee-id, branch-name, title, manager-name)

Table works-on is redundant provided we are willing to store null values for attribute manager-name in table manages

Page 66: Bab2 model entity relationship

End of Chapter 2End of Chapter 2

Page 67: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.67Database System Concepts

E-R Diagram for Exercise 2.10E-R Diagram for Exercise 2.10

Page 68: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.68Database System Concepts

E-R Diagram for Exercise 2.15E-R Diagram for Exercise 2.15

Page 69: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.69Database System Concepts

E-R Diagram for Exercise 2.22E-R Diagram for Exercise 2.22

Page 70: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.70Database System Concepts

E-R Diagram for Exercise 2.15E-R Diagram for Exercise 2.15

Page 71: Bab2 model entity relationship

©Silberschatz, Korth and Sudarshan2.71Database System Concepts

Existence DependenciesExistence Dependencies

If the existence of entity x depends on the existence of entity y, then x is said to be existence dependent on y. y is a dominant entity (in example below, loan)

x is a subordinate entity (in example below, payment)

loan-payment paymentloan

If a loan entity is deleted, then all its associated payment entities must be deleted also.