Anda di halaman 1dari 35

Sistem Basis Data

Chapter 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 Logical Database Design untuk kemudian diimplementasikan pada DBMS yang dipilih.

Menterjemahkan Conceptual Design menjadi

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 many-to-many relationship instances

Baris-baris terkait dengan entity instances dan 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 Foreign key adalah kolom (atau gabungan
beberapa kolom) yang menjadi identitas unik tiap-tiap baris pada sebuah relation. beberapa kolom) yang merupakan primary key pada relation (tabel) lain dependent relation (sisi many) dengan parent relation (sisi one)

Berguna untuk menghubungkan antara

Primary Key

Foreign Key

implementasi one-to-many (1:N) relationship antara mahasiswa 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 antara mahasiswa dan matakuliah

Primary & Foreign Key

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 Contoh: Delete Rule

foreign key harus cocok dengan sebuah nilai primary key dari sisi one suatu relationship. (atau foreign key boleh null)
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 digambarkan dengan panah dari tabel dependent ke tabel parent

Referential Integrity Constraints

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


sudah diubah menjadi many-to-many relationships sejak di EER diagram!

yang berbeda dengan foreign key diambil dari entitynya

Catatan: Multivalued Attribute seharusnya

Entity menjadi Relation

Simple attributes menjadi kolom-kolom dalam relation

Simple Attributes menjadi kolomkolom pada relation

components dari composite attributes menjadi kolom-kolom dalam relation

Components dari Composite Attribute menjadi kolom-kolom pada relation

Catatan: sebaiknya multivalued attribute sudah diubah terlebih dahulu menjadi many-to-many relationship sejak di EER Diagram

Multivalued Attribute menjadi Relation terpisah dengan foreign key dari superior entity

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

Foreign Key ------ Composite Primary Key -------

Weak Entity menjadi Relation terpisah dengan foreign key menjadi bagian primary key-nya

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 One-to-One: Primary key dari sisi mandatory
menjadi foreign key di sisi optional

dengan primary key dari kedua entities sebagai primary key-nya

Perhatikan! mandatory one


berarti tidak boleh ada nilai null di foreign key ini, karena minimum cardinalitynya mandatory one

Foreign Key

One-to-Many Binary Relationship: Primary key sisi one menjadi foreign key sisi many

Many-to-Many Binary Relationship: Buat sebuah relation baru dengan primary key...

NEW Intersection Relation Foreign Key Foreign Key

Composite Primary Key

Many-to-Many Binary Relationship: ...dari kedua entities sebagai primary key-nya

One-to-One Binary Relationship: Primary key dari sisi mandatory...

Foreign Key

One-to-One Binary Relationship: ... menjadi foreign key di sisi optional

Langkah 4: Associative Entities

Tanpa Unique Identier-nya sendiri Primary Key terbentuk dari gabungan

primary key dua entities yang membentuknya (seperti pada many-to-many relationship)

Dengan Unique Identier-nya sendiri Memiliki Natural Identier yang memang

unik, atau bila gabungan primary key kedua entity yang dihubungkannya tidak bisa unik

Associative Entities: Memiliki Natural Identier-nya sendiri...

Primary Key

Foreign Key

Foreign Key

Associative Entities: ...yang kemudian menjadi Primary 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 relation, primary key dari supertype juga menjadi primary key dari subtype supertype-nya

Subtype attribute berada pada masing-masing One-to-One relationship dari tiap subtype ke

Supertype/Subtype Relationship

Supertype/Subtype

Anda mungkin juga menyukai