Latihan Normalisasi Data
Latihan Normalisasi Data
Deletion anomaly: Jika semua baris yang terkait dg nilai rating tertentu
dihapus (misalnya baris utk employee ‘Smethurst’ dan ‘Guldu’ dihapus),
maka kita akan kehilangan informasi ketergantungan antara nilai rating dan
nilai wages yang diasosiasikan dengan nilai rating tsb (yaitu rating = 5 dan
wages = 7)
Penyebab Anomali
<Hilangkan atribut
bernilai
banyak
Namakul Nrp
vvvvv-P-.-v
namaMhs NiHuruf
Struktur Data 980001 Ali Akbar A
WvVvWvWvWvVvV
Indah Susanti ■v-v-v-v-v-v-v-v-v-v-v-v
WvVvWvWvWvVvV
Bahasa Indonesia
\AAAAAAAAAAAAA^
980001 Ali Akbar vvvvv-v-v-v-v--.---.--v
B
Matematika 1
____wwwwwwwwwwww^_______________________________________________
980002 Budi Haryanto C
Functional Dependency
Functional Dependency dari tabel nilai
• Nrp -> namaMhs
Karena untuk setiap nilai nrp yang sama, maka nilai
namaMhs juga sama.
• {Namakul, nrp} -> NiHuruf
Karena attribut Nihuruf tergantung pada Namakul dan nrp secara
bersama-sama. Dalam arti lain untuk Namakul dan nrp yang sama,
maka NiHuruf juga sama, karena Namakul dan nrp merupakan key
(bersifat unik).
• NamaKul -f> nrp
• Nrp NiHuruf
Bentuk-bentuk Normal
Atau:
Nrp nama hobil hobi2 Hobi3
Heri Susanto Sepak Bo La Membaca berenang
12020001 WWWW' wwwvwwvww^ VvYvvkwvW- WWVWVWVWWVWW wwwvwwwww^?
komik
12020013 Siti Zulaiha
www^ wwwvwwww
Memasak
VWWWVWVWWWW^
mrogram wvwvvvwwvvvwv
komputer
12020015 Dini Susanti
WvVvWv WvWvWvWvWv_____________________________________
Menjahit membuat kue W-S-SSSS-________
Tabel Hobi
Nrp Hobi
1202000 SepakboLa
1202000 membaca kpmik
1
1202000 Berenang
1202001 Memasak
3
1202001 m rogra m komp ute r
3
1202001 Menjahit
5
1202001 membuat rod
5
Contoh 2 (composite)
..............................................O................................................
JadwalKuliah
| Kodekul | NamaKul | Posen | Kelas | Jadwal |
Contoh
.....................O...................
Functional dependencynya sbb:
> karena masih terdapat atribut non primary key (yakni alm kota dan
alm_Provinsi) yang memiliki ketergantungan terhadap atribut non primary key
yang lain (yakni alm_kodepos):
alm_kodepos -> {alm_Provinsi, alm_kota}
> Sehingga tabel tersebut perlu didekomposisi menjadi:
Mahasiswa (Nrp, nama, almjalan, alm_kodepos) Kodepos (alm
kodepos, alm_provinsi, alm_kota)
Boyce-Code Normal Form
(BCNF)
Contoh
Misal, tabel berikut tidak memenuhi 4NF:
Employee Project Skill
Jim 11 Progra
Mary 5 m
Design
Mary NULL Analysis
Setiap employee dapat bekerja di lebih dari satu project dan dapat
memiliki lebih dari satu skill. Untuk kasus seperti ini tabel tersebut
harus di-dekomposisi menjadi:
(Employee, Project)
(Employee, Skill)