Bab2 model entity relationship
Upcoming SlideShare
Loading in...5
×
 

Bab2 model entity relationship

on

  • 672 views

 

Statistics

Views

Total Views
672
Views on SlideShare
608
Embed Views
64

Actions

Likes
0
Downloads
11
Comments
0

1 Embed 64

http://miftahabdurrozak.wordpress.com 64

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Bab2 model entity relationship Bab2 model entity relationship Presentation Transcript

  • ©Silberschatz, Korth and Sudarshan2.1Database System ConceptsBab 2 : Model Entity-RelationshipBab 2 : Model Entity-RelationshipKumpulan EntityKumpulan RelationshipHasil DesainKendala PemetaanKunciDiagram E-RKeistimewaan Perluasan E-RDesain dari Skema Database E-RReduksi dari Skema E-R ke Tabel
  • ©Silberschatz, Korth and Sudarshan2.2Database System ConceptsEntity SetsEntity SetsDatabase dapat dimodelkan sebagai: kumpulan dari entity (entitas) hubungan antar entity (entitas)Entity adalah suatu obyek yang dapat dikenali dari obyek yanglain.Contoh : seseorang yang khusus, perusahaan, peristiwa,tanaman.Entity mempunyai atributContoh : seseorang mempunyai nama dan alamatKumpulan entity adalah suatu kumpulan entity dengan tipe yangsama yang berbagi properti yang sama pula.Contoh : kumpulan orang, perusahaan, tanaman, tempat liburan
  • ©Silberschatz, Korth and Sudarshan2.3Database System ConceptsKumpulan Entitas Pelangganan (Kumpulan Entitas Pelangganan (customer)customer)dan Pinjaman (dan Pinjaman (loan)loan)customer-id customer- customer- customer- loan- amountname street city number
  • ©Silberschatz, Korth and Sudarshan2.4Database System ConceptsAttributesAttributesEntity ditampilkan oleh sekumpulan attribute, yang mana propertideskriptifnya 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 attributeTipe attribute : Simple (sederhana) dan composite (gabungan) attributes. Single-valued (satu-fungsi ) dan multi-valued (multi-fungsi ) attributesContoh : atribut multi-fungsi : nomor telepon Derived (asal) attributesDapat diperhitungkan dari atribut lainContoh : umur, tanggal kelahiran
  • ©Silberschatz, Korth and Sudarshan2.5Database System ConceptsComposite AttributesComposite Attributes
  • ©Silberschatz, Korth and Sudarshan2.6Database System ConceptsRelationship SetsRelationship SetsRelationship adalah kesesuaian antar beberapa entityContoh:Hayes depositor A-102customer entity relationship set account entityRelationship 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
  • ©Silberschatz, Korth and Sudarshan2.7Database System ConceptsRelationship SetRelationship Set borrowerborrower
  • ©Silberschatz, Korth and Sudarshan2.8Database System ConceptsRelationship Sets (lanjutan)Relationship Sets (lanjutan)Attribute dapat merupakan properti dari relationship set.Sebagai contoh: depositor merupakan relationship set antara entity setscustomer dan account mungkin beratribut access-date
  • ©Silberschatz, Korth and Sudarshan2.9Database System ConceptsTingkatanTingkatan Relationship SetRelationship SetMengacu pada jumlah entity sets yang terlibat dalam relationship set.Relationship sets yang melibatkan dua entity sets adalah binary (atautingkat dua).Umumnya, hampir semua relationship sets dalam sistem database adalahbinary.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 setiapcabang yang berlainan pula. Maka disini terdapat relationship setternary antara entity sets pegawai (employee), tugas (job) dancabang (branch)Relationships antara lebih dari dua entity sets sangat jarang. Kebanyakanhubungan adalah binary (akan dibahas lebih jauh nanti)
  • ©Silberschatz, Korth and Sudarshan2.10Database System ConceptsMapping Cardinalities (CardinalitasMapping Cardinalities (CardinalitasPemetaan)Pemetaan)Mengungkap jumlah entitas ke entitas yang lain bisadihubungkan melalui relationship set.Paling banyak digunakan dalam menggambarkanrelationship sets biner ..Untuk relationship set biner cardinalitas pemetaan harusmerupakan 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)
  • ©Silberschatz, Korth and Sudarshan2.11Database System ConceptsMapping Cardinalities (CardinalitasMapping Cardinalities (CardinalitasPemetaan)Pemetaan)One to one One to manyNote: Beberapa elemen di A dan B mungkin tidak dipetakan keelemen manapun di himpunan lain
  • ©Silberschatz, Korth and Sudarshan2.12Database System ConceptsMapping Cardinalities (CardinalitasMapping Cardinalities (CardinalitasPemetaan)Pemetaan)Many to one Many to manyNote: Beberapa elemen di A dan B mungkin tidak dipetakanpada elemen mana pun di himpunan lain.
  • ©Silberschatz, Korth and Sudarshan2.13Database System ConceptsMapping Cardinalities mempengaruhiMapping Cardinalities mempengaruhi ER DesignER DesignDapat membuat access-date sebagai atribut dari account, bukan atributrelationship , jika tiap account hanya mempunyai satu pelangganMisal, hubungan dari account ke pelanggan adalah banyak ke satu,atau secara equivalent, pelanggan ke account adalah satu ke banyak.
  • ©Silberschatz, Korth and Sudarshan2.14Database System ConceptsE-R DiagramsE-R DiagramsRectangles melambangkan set-set entitas .Diamonds melambangkan set-set hubungan (relationship) .Lines menghubungkan atribut dengan set-set entitas serta set-set entitasdengan set-set hubungan (relationship).Ellipses mewakili attributesDouble ellipses mewakili atribut multivalued .Dashed ellipses menunjukkan sifat yang didapat..Underline menunjukkan sifat kunci pokok (akan dipelajari nanti)
  • ©Silberschatz, Korth and Sudarshan2.15Database System ConceptsE-R Diagram dengan Composite,E-R Diagram dengan Composite,Multivalued, dan Derived AttributesMultivalued, dan Derived Attributes
  • ©Silberschatz, Korth and Sudarshan2.16Database System ConceptsRelationship Sets dengan Attributes RolesRelationship Sets dengan Attributes Roles
  • ©Silberschatz, Korth and Sudarshan2.17Database System ConceptsRolesRolesSatuan entity dalam suatu relationship tidak perlu terpisahLabel “manager” dan “worker” disebut sebagai tugas (roles);mereka menetapkan bagaimana entitas pegawai berinteraksidengan pekerjaan untuk relationship setsRoles ditunjukkan di E-R diagram dengan memberi label padagaris yang menyambungkan diamond ke segi empat.Label role adalah merupakan pilihan, dan dipergunakan untukmenjelaskan ilmu semantik relationship
  • ©Silberschatz, Korth and Sudarshan2.18Database System ConceptsCardinality Constraints (keterbatasan kardinalitas)Cardinality Constraints (keterbatasan kardinalitas)Kami mengungkapkan keterbatasan cardinalitas dengan menggambarkan baikitu 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 viahubungan borrower pinjaman dihubungkan dengan tak lebih dari satu orang pelanggan viaborrower
  • ©Silberschatz, Korth and Sudarshan2.19Database System ConceptsOne-To-Many Relationship (Hubungan satu ke banyakOne-To-Many Relationship (Hubungan satu ke banyak))Pada satu-ke-banyak hubungan pinjaman dihubungkan dengantak lebih dari satu orang pelanggan via peminjam, seorangpelanggan dihubungkan dengan beberapa (termasuk 0) yangmeminjami via borrower
  • ©Silberschatz, Korth and Sudarshan2.20Database System ConceptsMany-To-One RelationshipsMany-To-One Relationships((HubunganHubungan Banyak-Ke-BanyakBanyak-Ke-Banyak))Di dalam many-to-one relationship seorang pelanggandihubungkan dengan beberapa (mungkin 0) pinjaman viapeminjam, pinjaman dihubungkan dengan beberapa (mungkin 0)pelanggan via peminjam
  • ©Silberschatz, Korth and Sudarshan2.21Database System ConceptsMany-To-Many Relationship (Many-To-Many Relationship (HubunganHubungan Banyak-Ke-Banyak-Ke-BanyakBanyak))Seorang pelanggan dihubungkan dengan beberapa(mungkin 0) pinjaman via peminjamPinjaman dihubungkan dengan beberapa (mungkin 0)pelanggan via peminjam
  • ©Silberschatz, Korth and Sudarshan2.22Database System ConceptsPeran serta Set Entitas padaPeran serta Set Entitas pada Relationship SetRelationship SetTotal participation (Total partisipasi): (ditunjukkan dengan garis dobel): setiapentitas di set entitas mengambil bagian paling sedikit satu relationship padarelationship setMisal. Partisipasi pinjaman pada peminjam adalah keseluruhansetiap pinjaman harus mempunyai seorang pelanggan yangmenghubungkan ke itu (pinjaman) via peminjamPartial participation (Partial partisipasi): beberapa entitas mungkin tidakmengambil bagian dalam relationship (hubungan) yang mana pun padarelationship set..misal partisipasi pelanggan pada peminjam adalah parsial
  • ©Silberschatz, Korth and Sudarshan2.23Database System ConceptsNotasi Alternatif untuk BatasanNotasi Alternatif untuk BatasanCardinalitasCardinalitasBatas cardinalitas juga bisa mengungkapkan keterbatasan partisipasi
  • ©Silberschatz, Korth and Sudarshan2.24Database System ConceptsKeys (kunci-kunci)Keys (kunci-kunci)Super key (super kunci) dari set entitas adalahsatu atau lebih atribut yang mana nilainya secaraunik menentukan masing-masing entitas .Candidate key (calon kunci) dari suatu set entitasadalah Super key minimalCustomer-id (id pelanggan) adalah Candidatekey dari pelangganaccount-number (nomer rekening ): adalahcandidate key dari accountMeski beberapa candidate key mungkin ada,salah satu candidate key dipilih untuk menjadiprimary key (kunci pokok).
  • ©Silberschatz, Korth and Sudarshan2.25Database System ConceptsKey untuk Relationship SetKey untuk Relationship SetKombinasi primary keys (kunci pokok) dari set entitas yangberpartisipasi 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 taklebih dari satu relationship (hubungan) pada suatu relationship settertentu.Misal. jika kami menginginkan untuk melacak semua access-dates ke masing-masing rekening oleh masing-masingpelanggan, kita tidak bisa mengambil relationship (hubungan)untuk masing-masing akses. Tapi kita tetap bisa menggunakansifat multivaluedHarus mempertimbangkan pemetaan cardinalitas dari relationship set disaat mengambil keputusan apa calon kuncinya (candidate key)Tetap perlu mempertimbangkan ilmu semantik dari set hubungan(relationship set) dalam memilih primary key (kunci pokok) bila timbulmasalah adanya lebih dari satu candidate key (calon kunci)
  • ©Silberschatz, Korth and Sudarshan2.26Database System ConceptsDiagram E-R dengan Hubungan TernaryDiagram E-R dengan Hubungan Ternary((Ternary Relationship)Ternary Relationship)
  • ©Silberschatz, Korth and Sudarshan2.27Database System ConceptsKeterbatasan Cardinalitas pada HubunganKeterbatasan Cardinalitas pada HubunganTernary (Ternary Relationship)Ternary (Ternary Relationship)Diperbolehkan tak lebih dari satu anak panah dari hubungan ternary (atauderajat yang lebih besar) untuk menunjukkan keterbatasan cardinalitasMisal. Suatu anak panah dari wroks-on ke job menunjukkan masing-masingpegawai mengerjakan tak lebih dari satu pekerjaan di cabang yang manapun.Jika ada lebih dari satu anak panah, ada dua cara untuk mendefinisikanartinya. misal. Hubungan ternary R di antara A, B dan C dengan anak panah keB 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 denganentitas unik C, dan masing-masing pasang (A, C) dihubungkandengan entitas unik B Tiap alternatif sudah dipakai pada formalisme berbeda Untuk menghindari kebingungan tidak diijinkan menggunakan lebih darisatu anak panah
  • ©Silberschatz, Korth and Sudarshan2.28Database System ConceptsBinary Vs. Hubungan NonbinaryBinary Vs. Hubungan Nonbinary (Non-Binary(Non-BinaryRelationships)Relationships)Beberapa hubungan yang kelihatannya non binermungkin sebaiknya ditampilkan menggunakanhubungan binerMisal. Hubungan ternary orang tua, menghubungkanseorang anak ke bapak dan ibunya, hal ini paling baikdiganti oleh dua hubungan biner, bapak dan ibuDengan menggunakan dua hubungan binermemungkinkan informasi sebagian (misal hanyaibu yang tahu)Tetapi ada beberapa hubungan yang secara alaminon-binermisal. works-on
  • ©Silberschatz, Korth and Sudarshan2.29Database System ConceptsMengubah Hubungan Non Biner ke Bentuk BinerMengubah Hubungan Non Biner ke Bentuk BinerSecara umum, hubungan non biner mana pun bisa dilambangkan memakaihubungan biner dengan membuat set entitas buatan. Mengganti R di antara set-set entitas A, B dan C di samping set entitasE, dan tiga set hubungan (relationship sets ):1. RA, menghubungkan E dan A 2.RB, menghubungkan E dan B3. 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, menciptakan1. Entitas baru ei di set entitas E 2. menambah (ei, ai) ke RA3. menambah (ei, bi) ke RB 4. menambah (ei, ci) ke RC
  • ©Silberschatz, Korth and Sudarshan2.30Database System ConceptsMengubah 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 tidakdapat merespon segala kejadian di R yang mana punLatihan : menambahkan keterbatasan ke hubungan RA, RBdan RC untuk menjamin bahwa entitas yang barudiciptakan berhubungan kepada persis satu entitas padamasing-masing set-set entitas A, B dan C Kami bisa menghindari terciptanya pengenalan atributdengan membuatkan E suatu set entitas yang lemah (akandigambarkan tak lama lagi) yang dapat dikenali dari tiga sethubungan
  • ©Silberschatz, Korth and Sudarshan2.31Database System ConceptsDesign IssuesDesign IssuesMenggunakan set-set entitas vs. AtributPilihan utamanya tergantung pada struktur perusahaan yangdimodelkan, dan pada ilmu semantik yang dihubungkan dengansifat dalam pertanyaan.Menggunakan set-set entitas vs. relationship sets.Pedoman yang mungkin adalah mengarahkan suatu set hubunganuntuk menggambarkan sebuah tindakan yang terjadi antar entitasBinary versus n-ary relationship setsWalaupun mungkin untuk mengganti set hubungan (relationshipset) nonbiner manapun (n-ary, untuk n > 2) dengan beberapa sethubungan biner yang jelas, set hubungan n-ary menunjukkan lebihjelas bahwa beberapa entitas mengambil bagian pada satuhubungan.Penempatan atribut hubungan (relationship attributes)
  • ©Silberschatz, Korth and Sudarshan2.32Database System ConceptsWeak Entity Sets (Set-set EntitasWeak Entity Sets (Set-set EntitasLemah)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 setentitas pengenal (identifying entity set) harus berhubungan dengan set entitas pengenal melalui jumlahtotal, satu-ke-banyak set hubungan (one to many relationship) dariset pengenal ke set entitas lemah Hubungan pengenal (Identifying relationship ) digambarkan denganmemakai dobel diamondDiscriminator (atau kunci parsial) pada set entitas lemah adalahset dari sifat (atribut) yang membedakan antara semua entitasdari set entitas lemah.Kunci pokok (primary key ) dari set entitas lemah terbentuk olehkunci pokok (primary key ) dari set entitas kuat yang mana setentitas lemah keberadaannya tergantung, ditambah discriminatordari set entitas lemah.
  • ©Silberschatz, Korth and Sudarshan2.33Database System ConceptsWeak Entity Sets /Weak Entity Sets / Set-Set Entitas lemahSet-Set Entitas lemah(lanjutan)(lanjutan)Kita menggambarkan set entitas lemah dengan segi empat dobelKita menekankan discriminator pada set entitas lemah dengan garispisah.payment-number – discriminator dari set entitas paymentPrimary key untuk payment – (loan-number, payment-number)
  • ©Silberschatz, Korth and Sudarshan2.34Database System ConceptsWeak Entity Sets /Weak Entity Sets / Set-Set Entitas LemahSet-Set Entitas Lemah(lanjutan)(lanjutan)Catatan: primary key dari set entitas kuat tidakdisimpan secara gamblang/jelas dengan set entitaslemah, karena hal ini tersirat pada relationship(hubungan) pengenal.Jika loan-number disimpan secara jelas/gamblang,payment bisa dibuat entitas kuat, tetapi kemudianhubungan (relationship ) antara payment dan loanakan disalin oleh hubungan (relationship) tersirat yangditegaskan oleh sifat (attribut) loan-number biasa kepayment dan loan
  • ©Silberschatz, Korth and Sudarshan2.35Database System ConceptsContoh Lain Set Entitas LemahContoh Lain Set Entitas LemahDi universitas, kursus (course) adalah entitas kuat danpenawaran-kursus (course-offering) bisa diperagakansebagai entitas lemahDiscriminator 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 kuatkita akan peragakan course-number sebagai sifat.Kemudian relationship dengan course akan tersirat padaattribute course-number
  • ©Silberschatz, Korth and Sudarshan2.36Database System ConceptsSpesialisasiSpesialisasiProses 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 rendahyang mempunyai sifat/atribut atau mengambil bagian dalamhubungan/relationship yang tidak diterapkan dalam set entitas denganlevel lebih tinggi.Digambarkan dengan komponen segitiga (triangle) berlabel ISA (misal.Customer “adalah seseorang/ person”).Attribute inheritance (Attribut warisan) – set entitas dengan level lebihrendah mewarisi semua sifat / atribut dan partisipasi hubungan/relationship dari set entitas dengan level lebih tinggi yang mana hal initerhubung.
  • ©Silberschatz, Korth and Sudarshan2.37Database System ConceptsContoh SpesialisasiContoh Spesialisasi
  • ©Silberschatz, Korth and Sudarshan2.38Database System ConceptsGeneralisasiGeneralisasiProses desain dasar-ke atas (bottom-up) –menggabungkan sejumlah set entitas yang membagifitur yang sama menjadi set entitas dengan level lebihtinggi.Spesialisasi dan generalisasi adalah kebalikansederhana satu dengan yang lain; mereka diwakilkandalam diagram E-R dengan cara yang sama.Syarat-syarat spesialisasi dan generalisasi dapatdipakai bergantian
  • ©Silberschatz, Korth and Sudarshan2.39Database System ConceptsSpesialisasi dan GeneralisasiSpesialisasi dan Generalisasi(lanjutan)(lanjutan)Bisa mempunyai spesialisasi berlipat ganda pada set entitasberdasarkan fitur yang berbeda.Misal. Pegawai-permanen (permanent-employee) vs. Pegawai-sementara (temporary-employee), atau bisa juga pegawai kantorvs. 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 tellerHubungan/relationship ISA juga merujuk kepada hubungansuperkelas - subkelas (superclass - subclass )
  • ©Silberschatz, Korth and Sudarshan2.40Database System ConceptsKeterbatasan desain padaKeterbatasan desain padaSpesialisasi/GeneralisasiSpesialisasi/GeneralisasiKeterbatasan yang mana entitas bisa menjadi anggota dari setentitas dengan level lebih rendah yang diberikan. condition-defined (kondisi-yang ditentukan)Misal. semua pelanggan di atas 65 tahun adalah anggota dari setentitas warganegara-senior (senior-citizen); warganegara-senior ISAorang (senior-citizen ISA person). user-defined (pemakai-yang ditentukan)Keterbatasan pada entitas ataupun bukan bisa masuk pada lebihdari satu set entitas dengan level lebih rendah dalam satugeneralisasi. Disjointsuatu entitas bisa hanya masuk dalam satu set entitas dengan levellebih rendahdicatat pada diagram E-R dengan tulisan disjoint di samping segitigaISA Overlapping (penumpukan)suatu entitas bisa masuk pada lebih dari satu set entitas denganlevel lebih rendah
  • ©Silberschatz, Korth and Sudarshan2.41Database System ConceptsKeterbatasan Desain padaKeterbatasan Desain padaSpesialisasi/Generalisasi (lanjutan)Spesialisasi/Generalisasi (lanjutan)Completeness constraint (Keterbatasan sempurna) -menetapkanapakah entitas pada set entitas level lebih tinggi harus termasukdalam paling sedikit salah satu dari set-set entitas level lebihrendah dalam generalisasi. total :entitas harus masuk dalam salah satu dari set entitas levellebih rendah partial: entitas tidak perlu termasuk dalam salah satu set entitaslevel lebih rendah
  • ©Silberschatz, Korth and Sudarshan2.42Database System ConceptsAggregation (Aggregation (Aggregasi/Penjumlahan)Aggregasi/Penjumlahan)Menganggap hubungan ternary works-on , yang telah kami lihat diawalMisal kami ingin mencatat manajer untuk tugas yang dilakukanoleh seorang pegawai di suatu cabang
  • ©Silberschatz, Korth and Sudarshan2.43Database System ConceptsAggregation /Aggregation / PenjumlahanPenjumlahan(lanjutan)(lanjutan)Set hubungan works-on dan manages mewakili penumpukaninformation Tiap hubungan manages bersesuaian dengan hubungan works-on Tetapi, beberapa hubungan works-on mungkin tidak bersesuaian denganhubungan manages yang manapunJadi kami tidak dapat membuang hubungan works-onMenghapus kelebihan ini melalui penjumlahan (agregation) Memperlakukan hubungan sebagai entitas abstrak membolehkan hubungan antar hubungan mengabstraksi hubungan ke dalam entitas baruTanpa memperkenalkan kelebihan (redundancy), diagram berikutmewakili: seorang pegawai yang mengerjakan pekerjaan khusus di cabang khusus seorang pegawai (employee), cabang (branch), pekerjaan kombinasi (jobcombination ) mungkin mempunyai manager
  • ©Silberschatz, Korth and Sudarshan2.44Database System ConceptsDiagram E-R Dengan AggregationDiagram E-R Dengan Aggregation
  • ©Silberschatz, Korth and Sudarshan2.45Database System ConceptsPenetapan E-R DesignPenetapan E-R DesignPenggunaan sifat atau set entitas untuk melambangkan obyek.Konsep dunia nyata sebenarnya diungkapkan paling baikdengan set entitas atau set hubungan.Penggunaan hubungan ternary vs pasangan hubungan biner.Penggunaan set entitas kuat atau lemah.Penggunaan spesialisasi/generalisasi – menyumbang kemodularity (modularitas) pada bentuk.Penggunaan penjumlahan/agregation – bisa menganggap setentitas jumlah/agregate sebagai satu kesatuan tanpamemperhatikan detail dari struktur internalnya.
  • ©Silberschatz, Korth and Sudarshan2.46Database System ConceptsDiagram E-R bagi Perusahaan PerbankanDiagram E-R bagi Perusahaan Perbankan
  • ©Silberschatz, Korth and Sudarshan2.47Database System ConceptsRingkasan Simbol2 yang digunakanRingkasan Simbol2 yang digunakandalam notasi E-Rdalam notasi E-R
  • ©Silberschatz, Korth and Sudarshan2.48Database System ConceptsRingkasan Simbol2 (lanjutan)Ringkasan Simbol2 (lanjutan)
  • ©Silberschatz, Korth and Sudarshan2.49Database System ConceptsAlternatif notasi E-RAlternatif notasi E-R
  • ©Silberschatz, Korth and Sudarshan2.50Database System ConceptsUMLUMLUML: Unified Modeling LanguageUML mempunyai banyak bagian yang secara grafismemperagakan aspek berbeda dari seluruh software systemUML Class Diagrams bersesuaian dengan diagram E-R, tetapidengan beberapa perbedaan.
  • ©Silberschatz, Korth and Sudarshan2.51Database System ConceptsRingkasan dari UML Class DiagramRingkasan dari UML Class DiagramNotationNotation
  • ©Silberschatz, Korth and Sudarshan2.52Database System ConceptsUML Class Diagrams (lanjutan)UML Class Diagrams (lanjutan)Set-set entitas diperlihatkan sebagai kotak-kotak, dan sifatdiperlihatkan dalam kotak, atau bisa juga seperti elipsis terpisahpada E-R diagram.Set-set hubungan biner dilambangkan di UML hanya denganmemberi garis batas yang menyambung set-set entitas. Nama sethubungan ditulis berdampingan dengan garis.Peran yang dimainkan oleh set entitas pada set hubungan jugadapat ditetapkan dengan menulis nama peran di atas garis,berdampingan dengan set entitas.Nama set hubungan secara alternatif mungkin ditulis di sebuahkotak, beserta dengan sifat dari set hubungan, dan kotakdisambungkan, memakai garis bertitik-titik, ke garis yangmenggambarkan set hubungan.Hubungan nonbiner secara langsung tidak bisa dilambangkan diUML -- mereka mesti dibalik ke hubungan biner .
  • ©Silberschatz, Korth and Sudarshan2.53Database System ConceptsUML Class Diagram NotationUML Class Diagram Notation(lanjutan)(lanjutan)*Note reversal of position in cardinality constraint depiction
  • ©Silberschatz, Korth and Sudarshan2.54Database System ConceptsUML Class Diagrams (lanjutan)UML Class Diagrams (lanjutan)Keterbatasan cardinalitas ditetapkan dalam bentuk l…h, di mana lmenunjukkan jumlah minimum dan h jumlah maksimum hubungandimana suatu entitas bisa mengambil bagian.Perhatikan : posisi dari keterbatasan adalah persis kebalikan dariposisi keterbatasan dalam E-R diagram.Keterbatasan 0.. * pada sisi E2 dan 0.. 1 pada sisi E1 berarti bahwatiap entitas E2 tersebut dapat mengambil bagian paling banyakdalam satu hubungan, sedangkan masing-masing entitas E1 bisamengambil 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 1di pinggir diperlakukan sama dengan 1.. 1, sedangkan * adalah samadengan 0.. *.
  • ©Silberschatz, Korth and Sudarshan2.55Database System ConceptsPenurunan Skema E-R ke dalamPenurunan Skema E-R ke dalamTabelTabelPrimary keys (Kunci pokok) memungkinkan set-setentitas dan set-set hubungan diungkapkan secaraseragam sebagai tabel-tabel yang melambangkan isidatabase.Database yang menyesuaikan diri ke diagram E-R bisadiwakili oleh sekumpulan tabel.Untuk tiap set entitas dan set hubungan terdapat sebuahtabel unik yang menandakan nama dari set entitas atauset hubungan yang berhubungan.Tiap tabel mempunyai sejumlah kolom (umumnyaberhubungan dengan sifat), yang mempunyai nama unik.Membalik diagram E-R menjadi bentuk tabel adalahdasar untuk memperoleh pola database relasional dari E-R diagram.
  • ©Silberschatz, Korth and Sudarshan2.56Database System ConceptsMelambangkan Set-Set Entitas sebagaiMelambangkan Set-Set Entitas sebagaiTabelTabelSet entitas kuat berkurang menjadi tabel dengan sifat yang sama
  • ©Silberschatz, Korth and Sudarshan2.57Database System ConceptsAtribut Kombinasi (Atribut Kombinasi (Composite)Composite) dan Nilaidan NilaiGanda (Ganda (Multivalued)Multivalued)Atribut kombinasi dikeluarkan dengan membuat atribut terpisah untukmasing-masing komponen atribut misal. Memberikan set entitas customer dengan atribut kombinasi namadengan komponen atribut first-name dan last-name, tabel yangberhubungan dengan set entitas mempunyai dua atributname.first-name and name.last-nameAtribut nilai ganda M dari entitas E diwakili oleh tabel EM yangterpisah Table EM mempunyai atribut yang cocok dengan primary key E danatribut yang cocok dengan atribut nilai ganda M misal. Atribut nilai ganda dependent-names dari pegawai diwakili olehtabel employee-dependent-names( employee-id, dname) Masing-masing nilai dari atribut nilai ganda dipetakan ke dalam baristerpisah dari tabel EMmisal., entitas pegawai dengan primary key John dantanggungan/dependents Johnson dan Johndotir memetakan ke duajajaran/baris: :(John, Johnson) dan (John, Johndotir)
  • ©Silberschatz, Korth and Sudarshan2.58Database System ConceptsMerepresentasi Set Entitas LemahMerepresentasi Set Entitas LemahSet entitas lemah menjadi sebuah tabel yang menyertakankolom untuk primary key dari set entitas kuat pengenal
  • ©Silberschatz, Korth and Sudarshan2.59Database System ConceptsMerepresentasikan Set HubunganMerepresentasikan Set Hubungan((Relationship SetsRelationship Sets)) sebagai Tabelsebagai TabelSet hubungan banyak-ke-banyak (many to many) diwakilkansebagai tabel dengan kolom-kolom untuk primary key - primarykey dari kedua set entitas yang mengambil bagian, dan setiapsifat deskriptif dari set hubungan.Misal. : tabel untuk set hubungan borrower
  • ©Silberschatz, Korth and Sudarshan2.60Database System ConceptsKelebihan TabelKelebihan TabelSet-set hubungan banyak-ke-satu (many to one) dan satu-ke-banyak (one to many) yang total di sisi many bisa diwakilkandengan 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 entitasaccount
  • ©Silberschatz, Korth and Sudarshan2.61Database System ConceptsRedundancy of Tables (Cont.)Redundancy of Tables (Cont.)For one-to-one relationship sets, either side can be chosento act as the “many” side That is, extra attribute can be added to either of the tablescorresponding to the two entity setsIf participation is partial on the many side, replacing atable by an extra attribute in the relation corresponding tothe “many” side could result in null valuesThe table corresponding to a relationship set linking a weakentity set to its identifying strong entity set is redundant. E.g. The payment table already contains the information that wouldappear in the loan-payment table (i.e., the columns loan-numberand payment-number).
  • ©Silberschatz, Korth and Sudarshan2.62Database System ConceptsRepresenting Specialization asTablesTablesMethod 1: Form a table for the higher level entity Form a table for each lower level entity set, include primary key ofhigher level entity set and local attributestable table attributesperson name, street, citycustomer name, credit-ratingemployee name, salary Drawback: getting information about, e.g., employee requiresaccessing two tables
  • ©Silberschatz, Korth and Sudarshan2.63Database System ConceptsRepresenting Specialization asRepresenting Specialization asTables (Cont.)Tables (Cont.)Method 2: Form a table for each entity set with all local and inheritedattributestable table attributesperson name, street, citycustomer name, street, city, credit-ratingemployee name, street, city, salaryIf specialization is total, no need to create table for generalizedentity (person) Drawback: street and city may be stored redundantly for personswho are both customers and employees
  • ©Silberschatz, Korth and Sudarshan2.64Database System ConceptsRelations Corresponding toRelations Corresponding toAggregationAggregationTo represent aggregation, create a table containingprimary key of the aggregated relationship,the primary key of the associated entity setAny descriptive attributes
  • ©Silberschatz, Korth and Sudarshan2.65Database System ConceptsRelations Corresponding toRelations Corresponding toAggregation (Cont.)Aggregation (Cont.)E.g. to represent aggregation manages between relationshipworks-on and entity set manager, create a tablemanages(employee-id, branch-name, title, manager-name)Table works-on is redundant provided we are willing to storenull values for attribute manager-name in table manages
  • End of Chapter 2End of Chapter 2
  • ©Silberschatz, Korth and Sudarshan2.67Database System ConceptsE-R Diagram for Exercise 2.10E-R Diagram for Exercise 2.10
  • ©Silberschatz, Korth and Sudarshan2.68Database System ConceptsE-R Diagram for Exercise 2.15E-R Diagram for Exercise 2.15
  • ©Silberschatz, Korth and Sudarshan2.69Database System ConceptsE-R Diagram for Exercise 2.22E-R Diagram for Exercise 2.22
  • ©Silberschatz, Korth and Sudarshan2.70Database System ConceptsE-R Diagram for Exercise 2.15E-R Diagram for Exercise 2.15
  • ©Silberschatz, Korth and Sudarshan2.71Database System ConceptsExistence DependenciesExistence DependenciesIf the existence of entity x depends on the existence ofentity 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 paymentloanIf a loan entity is deleted, then all its associated payment entitiesmust be deleted also.