View
42
Download
0
Category
Preview:
Citation preview
Sistem Basis DataChapter 5: Logical Database Design and the Relational Model
Andronicus Riyono, M.T.
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.
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)
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
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)
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)
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
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)
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)
Referential Integrity Constraints
Referential integrity constraints
digambarkan dengan panah
dari tabel dependent ke tabel parent
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
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!
Simple Attributes menjadi kolom-kolom pada relation
Entity menjadi Relation
Simple attributes menjadi kolom-kolom
dalam relation
Components dari Composite Attribute menjadi kolom-kolom pada relation
components dari composite attributes menjadi kolom-kolom dalam relation
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
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
Weak Entity menjadi Relation terpisah dengan foreign key menjadi bagian primary key-nya
Foreign Key
------ Composite Primary Key -------
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
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
Many-to-Many Binary Relationship:Buat sebuah relation baru dengan primary key...
Many-to-Many Binary Relationship:...dari kedua entities sebagai primary key-nya
Foreign KeyForeign Key
Composite Primary Key
NEW Intersection Relation
One-to-One Binary Relationship:Primary key dari sisi mandatory...
One-to-One Binary Relationship:... menjadi foreign key di sisi optional
Foreign Key
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
Associative Entities:Memiliki Natural Identifier-nya sendiri...
Associative Entities:...yang kemudian menjadi Primary Key
Foreign KeyForeign KeyPrimary Key
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
Unary Relationship:One-to-Many
Unary Relationship:Many-to-Many
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
Ternary Relationship
Ternary Relationship
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
Supertype/Subtype Relationship
Supertype/Subtype
Recommended