sistem basis data -...

Post on 01-Jan-2020

33 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related