sistem basis data -...
TRANSCRIPT
![Page 1: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/1.jpg)
Sistem Basis DataChapter 5: Logical Database Design and the Relational Model
Andronicus Riyono, M.T.
![Page 2: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/2.jpg)
E-R & Relational Model
• Conceptual Data Model (E-R Model) dibuat untuk memahami kebutuhan data dan aturan-aturan bisnisnya
• Logical Data Model (Relational Model) dibuat untuk mengatur struktur data agar data dapat diproses dengan baik
• Menterjemahkan Conceptual Design menjadi Logical Database Design untuk kemudian diimplementasikan pada DBMS yang dipilih.
![Page 3: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/3.jpg)
Komponen-Komponen Relational Data Model
• Data Structure
• Data dalam bentuk tabel (baris & kolom)
• Data Manipulation
• SQL
• Data Integrity
• Fasilitas untuk menjaga integritas data (kaitannya dengan aturan-aturan bisnis)
![Page 4: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/4.jpg)
Relation• Tabel data dua dimensi yang memiliki nama• Tabel terdiri dari baris dan kolom• Tidak semua tabel adalah relation
• Syarat Relation• Setiap relation memiliki nama unik• Setiap attributenya atomic (tidak
multivalued, tidak composite)• Setiap baris adalah unik (tidak ada dua
baris dengan isi seluruh kolomnya sama)• Attributes (kolom) dalam tabel memiliki
nama unik• Urutan baris atau kolom tidak relevan
![Page 5: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/5.jpg)
Keterkaitan dengan E-R Model
• Relations (tabel) terkait dengan entity types dan many-to-many relationship types
• Baris-baris terkait dengan entity instances dan many-to-many relationship instances
• Kolom-kolom terkait dengan attributes
• Catatan: kata relation (dalam relational database) berbeda dengan relationship (dalam E-R model)
![Page 6: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/6.jpg)
Kolom-kolom Kunci/Key
• Primary key adalah kolom (atau gabungan beberapa kolom) yang menjadi identitas unik tiap-tiap baris pada sebuah relation.
• Foreign key adalah kolom (atau gabungan beberapa kolom) yang merupakan primary key pada relation (tabel) lain
• Berguna untuk menghubungkan antara dependent relation (sisi many) dengan parent relation (sisi one)
![Page 7: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/7.jpg)
Primary & Foreign Key
Primary Key
Foreign Key
implementasi one-to-many (1:N)relationship
antaramahasiswa
dan jurusan)
bersama membentuk composite primary key (unik untuk tiap mahasiswa
mengambil matakuliah)...namun masing-masing merupakan foreign key,
NIM dari tabel mahasiswa, dan Kode_MK dari tabel matakuliah
implementasi many-to-many (M:N) relationship antaramahasiswa dan matakuliah
![Page 8: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/8.jpg)
Integrity Constraints
• Domain Constraints
• Batasan mengenai nilai yang boleh muncul dalam sebuah kolom
• Entity Integrity
• Primary key tidak boleh NULL
• Primary key harus berisi data
• Action Assertions
• Aturan bisnis yang dinamis (Chapter 4)
![Page 9: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/9.jpg)
Referential Integrity• Aturan yang menyatakan bahwa nilai suatu
foreign key harus cocok dengan sebuah nilai primary key dari sisi one suatu relationship. (atau foreign key boleh null)
• Contoh: Delete Rule
• Restrict - membatasi penghapusan baris dari parent apabila ada baris terkait di sisi dependent
• Cascade - otomatis menghapus baris-baris terkait di sisi dependent apabila parent dihapus
• Set-to-Null - foreign key diubah menjadi null bila parent dihapus (tidak boleh untuk weak entity)
![Page 10: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/10.jpg)
Referential Integrity Constraints
Referential integrity constraints
digambarkan dengan panah
dari tabel dependent ke tabel parent
![Page 11: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/11.jpg)
7 Langkah Mengubah EER Diagram menjadi Relations
• Langkah 1: Entity menjadi Relation
• Langkah 2: Weak Entity
• Langkah 3: Binary Relationships
• Langkah 4: Associative Entities
• Langkah 5: Unary Relationships
• Langkah 6: Ternary (dan n-ary) Relationships
• Langkah 7: Supertype/Subtype Relationships
![Page 12: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/12.jpg)
Langkah 1: Entity menjadi Relation
• Simple Attribute: ubah simple attribute langsung menjadi kolom pada Relation
• Composite Attribute: ubah hanya component attributes-nya saja menjadi kolom-kolom
• Multivalued Attribute: ubah menjadi relation yang berbeda dengan foreign key diambil dari entitynya
• Catatan: Multivalued Attribute seharusnya sudah diubah menjadi many-to-many relationships sejak di EER diagram!
![Page 13: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/13.jpg)
Simple Attributes menjadi kolom-kolom pada relation
Entity menjadi Relation
Simple attributes menjadi kolom-kolom
dalam relation
![Page 14: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/14.jpg)
Components dari Composite Attribute menjadi kolom-kolom pada relation
components dari composite attributes menjadi kolom-kolom dalam relation
![Page 15: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/15.jpg)
Multivalued Attribute menjadi Relation terpisah dengan foreign key dari superior entity
Catatan: sebaiknya multivalued attribute sudah diubah terlebih dahulu menjadi many-to-many
relationship sejak di EER Diagram
![Page 16: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/16.jpg)
Langkah 2: Weak Entity
• Weak Entity menjadi relation terpisah dengan foreign key dari Strong Entity
• Primary Key relationnya akan terdiri dari:
• Primary Key dari Strong Entity (foreign key)
• Bagian yang membuat tiap Weak Entity instance menjadi unik
![Page 17: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/17.jpg)
Weak Entity menjadi Relation terpisah dengan foreign key menjadi bagian primary key-nya
Foreign Key
------ Composite Primary Key -------
![Page 18: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/18.jpg)
Langkah 3: Binary Relationships
• One-to-Many: Primary key dari sisi one menjadi foreign key di sisi many
• Many-to-Many: Buat sebuah relation baru dengan primary key dari kedua entities sebagai primary key-nya
• One-to-One: Primary key dari sisi mandatory menjadi foreign key di sisi optional
![Page 19: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/19.jpg)
One-to-Many Binary Relationship:Primary key sisi one menjadi foreign key sisi many
Foreign Key
berarti tidak boleh ada nilai null di foreign key ini, karena minimum cardinalitynya mandatory one
Perhatikan!mandatory one
![Page 20: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/20.jpg)
Many-to-Many Binary Relationship:Buat sebuah relation baru dengan primary key...
![Page 21: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/21.jpg)
Many-to-Many Binary Relationship:...dari kedua entities sebagai primary key-nya
Foreign KeyForeign Key
Composite Primary Key
NEW Intersection Relation
![Page 22: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/22.jpg)
One-to-One Binary Relationship:Primary key dari sisi mandatory...
![Page 23: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/23.jpg)
One-to-One Binary Relationship:... menjadi foreign key di sisi optional
Foreign Key
![Page 24: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/24.jpg)
Langkah 4: Associative Entities
• Tanpa Unique Identifier-nya sendiri
• Primary Key terbentuk dari gabungan primary key dua entities yang membentuknya (seperti pada many-to-many relationship)
• Dengan Unique Identifier-nya sendiri
• Memiliki Natural Identifier yang memang unik, atau bila gabungan primary key kedua entity yang dihubungkannya tidak bisa unik
![Page 25: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/25.jpg)
Associative Entities:Memiliki Natural Identifier-nya sendiri...
![Page 26: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/26.jpg)
Associative Entities:...yang kemudian menjadi Primary Key
Foreign KeyForeign KeyPrimary Key
![Page 27: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/27.jpg)
Langkah 5: Unary Relationship
• One-to-Many
• Ditambahkan foreign key pada tabel itu sendiri yang berasal dari primary key-nya
• Many-to-Many
• Ditambahkan sebuah Associative Relation yang primary key-nya terdiri atas 2 kolom, yang keduanya berasal dari primary key milik entity yang terkait
![Page 28: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/28.jpg)
Unary Relationship:One-to-Many
![Page 29: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/29.jpg)
Unary Relationship:Many-to-Many
![Page 30: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/30.jpg)
Langkah 6: Ternary (dan n-ary) Relationship
• Satu Relation untuk tiap entity dan satu untuk associative entity-nya
• Associative entity-nya memiliki foreign key dari tiap-tiap entity yang terkait dalam relationship
![Page 31: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/31.jpg)
Ternary Relationship
![Page 32: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/32.jpg)
Ternary Relationship
![Page 33: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/33.jpg)
Langkah 7: Supertype/Subtype Relationships
• Masing-masing satu relation untuk supertype dan tiap-tiap subtypes-nya
• Supertype attributes (termasuk subtype discriminator) berada pada supertype relation
• Subtype attribute berada pada masing-masing subtype relation, primary key dari supertype juga menjadi primary key dari subtype
• One-to-One relationship dari tiap subtype ke supertype-nya
![Page 34: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/34.jpg)
Supertype/Subtype Relationship
![Page 35: Sistem Basis Data - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/02/sistem-basis-data... · Logical Database Design untuk kemudian ... bersama membentuk composite](https://reader030.vdocuments.site/reader030/viewer/2022033121/5e2b85a4f47de418ae00347b/html5/thumbnails/35.jpg)
Supertype/Subtype