25
Desain Basis Data ( Minggu 3 ) Oleh : Andrew B. Osmond

Desain Basis Data (3)

Embed Size (px)

Citation preview

Page 1: Desain Basis Data (3)

Desain Basis Data( Minggu 3 )

Oleh :Andrew B. Osmond

Page 2: Desain Basis Data (3)

Objektif• Entitas kuat <> entitas lemah• Supertypes <> Subtypes• Generalisasi <> Spesialisasi• Supertypes constraint ( completeness, disjoint )

Page 3: Desain Basis Data (3)

Supertypes <> Subtypes• Subtipe : Sebuah pengelompokan entitas di suatu entity yang memiliki

atribut yang berbeda dari bentuk kelompok lainnya.• Supertipe : Tipe umum entitas yang mempunyai relasi dengan satu

atau lebih subtipe.• Pewarisan :• Entitas subtipe mewarisi semua atribut dari supertipe.• Instance dari subtipe juga merupakan instance dari supertipe.

Page 4: Desain Basis Data (3)

Supertypes <> Subtypes

Page 5: Desain Basis Data (3)

Supertypes <> Subtypes

Page 6: Desain Basis Data (3)

Relasi dan subtipe• Relasi pada level subtipe mengindikasikan bahwa semua subtipe akan

berpartisipasi pada relasi.• Instance dari subtipe boleh berelasi secara unik. Relasi ditunjukkan

pada level subtipe.

Page 7: Desain Basis Data (3)

Relasi dan subtipeBoth outpatients and resident patients are cared for by a responsible physician

Only resident patients are assigned to a bed

Page 8: Desain Basis Data (3)

Generalisasi & Spesialisasi• Generalisasi : proses mendefinisikan beberapa entitas yang bentuknya

spesifik ke dalam entitas yang lebih umum. Biasa disebut juga dengan bottom-up.• Spesialisasi : proses mendefinisikan satu atau lebih subtipe ke dalam

relasi supertipe.

Page 9: Desain Basis Data (3)

Generalisasi

Mobil

No_register

Jml_penumpang

No_rangka

Nama

Motor

No_register No_rangka

Nama

Truk

No_register

Kapasitas

No_rangka

Nama

Page 10: Desain Basis Data (3)

Generalisasi & Spesialisasi

Adakah atribut yang mirip dari beberapa entitas di atas?

Page 11: Desain Basis Data (3)

Generalisasi

Mobil

Jml_penumpang

Kendaraan

No_register No_rangka

Nama

Truk

Kapasitas

Dalam generalisasi, atribut yang sama dari beberapa entitas disatukan dibuat

sebagai entitas yang umum. Sedangkan atribut yang

berbeda dibuat dalam entitas turunan

Page 12: Desain Basis Data (3)

Spesialisasi

Mahasiswa

NIM

Hobi

Alamat

Nama Spesialisasi harus dilakukan ketika muncul atribut yang multi-valued karena akan

menyalahi aturan normalisasi.

Page 13: Desain Basis Data (3)

Spesialisasi

Mahasiswa

NIM Alamat

Nama

Hobi

ID_hobi

Hobi

punya

Page 14: Desain Basis Data (3)

Completeness Constraint Supertype• Completeness constraint terjadi pada saat sebuah instance dari

sebuah supertipe wajib menjadi anggota pada salah satu supertipe.• Apabila memenuhi total specialization rule notasinya menggunakan

garis ganda, jika tidak hanya menggunakan satu buah garis ( partial specialization rule ).

Page 15: Desain Basis Data (3)

Total Specialization Rule

Pasien itu pilihannya cuma dua, rawat jalan atau rawat inap.

Page 16: Desain Basis Data (3)

Partial Specialization Rule

Mobil

Jml_penumpang

Kendaraan

No_register No_rangka

Nama

Truk

Kapasitas

Kendaraan bisa berupa mobil, truk, atau motor

Page 17: Desain Basis Data (3)

Normalisasi• Merupakan proses pembentukan struktur basis data sehingga

sebagian besar ambiguitas dapat dihilangkan.• Normalisasi dilakukan untuk :• Mengurangi redundansi data ( kemunculan data yang berulang )• Menghindari anomali data• Meningkatkan integritas data

• Prinsip normalisasi yang utama yaitu menghilangkan atribut bernilai banyak ( multi-value ) dan menghilangkan dependensi antar atribut.

Page 18: Desain Basis Data (3)

Normalisasi

Page 19: Desain Basis Data (3)

Normalisasi 1NF• Tahapan 1NF dilakukan dengan menghilangkan adanya atribut yang

bernilai banyak atau menghilangkan kolom yang kosong. Pada ERD tahapan 1NF dilakukan dengan spesialisasi.NIM Nama Mahasiswa Hobi

110411010 Damar Aditya Berenang, membaca

110411012 Ringgo Djenggo Berkuda

110411013 Maman Sopyan Bepergian, berselancar, berkuda

NIM Nama Mahasiswa Hobi 1 Hobi 2 Hobi 3110411010 Damar Aditya Berenang Membaca

110411012 Ringgo Djenggo Berkuda

110411013 Maman Sopyan Bepergian Berselancar Berkuda

Page 20: Desain Basis Data (3)

Normalisasi 1NF• Hasil normalisasi dari tabel di atas sbb :NIM Nama Hobi

110411010 Damar Aditya Berenang

110411010 Damar Aditya Membaca

110411012 Ringgo Djenggo Berkuda

110411013 Maman Sopyan Bepergian

110411013 Maman Sopyan Berselancar

110411013 Maman Sopyan Berkuda

Page 21: Desain Basis Data (3)

Normalisasi 2NF• Normalisasi 2NF dilakukan dengan menghilangkan atribut non

primary key yang sifatnya seperti primary key (=candidate key).• Contoh :

Page 22: Desain Basis Data (3)

Normalisasi 2NF• Dilakukan dengan menentukan PK terlebih dahulu, lalu mencari CK.

PK CK1 NIM, KodeMK = CK2

Page 23: Desain Basis Data (3)

Normalisasi 2NF• NIM NamaMHS, Alamat• KodeMK NamaMK, SKS• NIM, KodeMK Nilai

Page 24: Desain Basis Data (3)

Normalisasi 2NF• Secara struktur bentuknya menjadi sbb :

NIM NamaMhs

NIM KodeMK Nilai

KodeMK NamaMK

Page 25: Desain Basis Data (3)

Normalisasi 3NF• Normalisasi 3NF dilakukan dengan menghilangkan atribut non

primary key yang sifatnya seperti primary key (=candidate key) pada tabel 2NF.• Contoh :