2. Redundancy
Sumber masalah mengapa perlu Schema Refinement
Dipecahkan dengan Dekomposisi
Dekomposisi tidak terbebas dari masalah
Harus dilakukan dengan hati-hati
Redundant Storage
Perulangan penyimpanan informasi
Update Anomalies
Jika satu salinan informasi yang berulang di-update,
muncul inkonsistensi
Normal Form 2
3. Redundancy
Insertion Anomalies
Penambahan informasi baru menimbulkan
inkonsitensi, kecuali menyertakan informasi lain yang
tidak berkait
Deletion Anomalies
Penghapusan informasi tertentu menimbulkan
inkonsistensi kecuali informasi lain (yang tidak
berkaitan) juga dihapus
Normal Form 3
4. Contoh Kasus
Nilai Rating 8 berkorespondensi dengan honor per
jam 10
Perulangan informasi, redundant storage
Honor per jam pada baris pertama bisa diupdate tanpa
mengupdate baris lainnya
Update anomalies
Ssn Name Lot Rating hourlySalary hoursWorked
123-22-3666 Attisho 48 8 10 40
231-31-5368 Smiley 22 8 10 30
131-24-3650 Smethurst 35 5 7 30
434-26-3751 Guldu 35 5 7 32
612-67-4134 Madayan
Normal Form 35 8 10 40 4
5. Contoh Kasus
Penyisipan data baru harus mengetahui honor per jam
Insertion anomalies
Berapa honor per jam untuk Rating 7?
Menghapus semua baris dengan rating 5
menghilangkan informasi honor per jam 7
Deletion anomalies
Ssn Name Lot Rating hourlySalary hoursWorked
123-22-3666 Attisho 48 8 10 40
231-31-5368 Smiley 22 8 10 30
131-24-3650 Smethurst 35 5 7 30
434-26-3751 Guldu 35 5 7 32
612-67-4134 Madayan
Normal Form 35 8 10 40 5
7. Dekomposisi
Seberapa perlu?
Jika perlu dilakukan, konsekuensi masalah apa yang
mungkin muncul?
Normal Form
Jika schema berada dalam bentuk NF, tidak perlu
dekomposisi
Normal Form 7
8. Dekomposisi
Lossless-join
Merekonstruksi ulang relasi dari hasil dekomposisi
Dependency-preservation
Constraint enforcement pada hasil dekomposisi dijamin
juga berlaku pada relasi awal
Normal Form 8
9. Kinerja
Join dua tabel (atau lebih) hasil dekomposisi mungkin
menurunkan kinerja DBMS
Jika kueri pada relasi awal sering dilakukan
Dekomposisi dikorbankan
Redundancy dan Anomalies
Application-side checks
Mungkin meningkatkan kinerja
Update pada tabel hasil dekomposisi
Normal Form 9
10. Functional Dependencies
A good DB Designer and DBA should understand FD
Masalah apa yang bisa diatasi dengan dekomposisi FD
Masalah apa yang tidak bisa diatasi
Potensi masalah dalam melakukan dekomposisi
Apakah sebuah relasi berada dalam bentuk Normal?
Apakah sebuah dekomposisi memenuhi sifat
dependency-preserving?
Normal Form 10
11. Functional Dependencies
R sebuah relasi
X dan Y himpunan non-empty dari atribut-atribut R
XY
X functionally determines Y
X menentukan Y
Y tergantung kepada X
Sebuah instance r dari relasi R memenuhi X Y jika
memenuhi
Jika dua baris data (tuple) di X nilainya sama, maka nilai
di Y harus sama
Normal Form 11
12. Functional Dependencies
A B C D
FD AB C
a1 b1 c1 d1
AB bukan Key a1 b1 c1 d2
Kenapa? a1 b2 c2 d1
FD adalah bentuk khusus dari a2 b1 c3 d1
Integrity Constraint (IC) a1 b1 c2 d1
Instance yang sah (legal instance) harus memenuhi
semua IC (termasuk juga FD)
Normal Form 12
13. Functional Dependencies
Dengan melihat sebuah instance
Kita bisa menyimpulkan apakah sebuah FD tidak
terpenuhi
Kita tidak bisa menyimpulkan apakah sebuah FD
terpenuhi
FD dan IC adalah kriteria yang dinyatakan untuk
semua kemungkinan legal instance dari sebuah
tabel
Normal Form 13
14. Primary Key dan FD
PK adalah kasus khusus dari FD
Atribut-atribut yang menjadi PK adalah X dalam FD
XY
Normal Form 14
15. Primary Key dan FD
PK adalah kasus khusus dari FD
Atribut-atribut yang menjadi PK adalah X dalam FD
XY
Definisi FD tidak mengharuskan X sebagai himpunan
minimal
X bisa berupa kumpulan satu atau lebih atribut
Jika FD X Y berlaku, dengan Y himpunan seluruh
atribut dan terdapat proper subset V dari X sehingga V
Y berlaku, maka X disebut sebagai superkey
Normal Form 15
16. Gagasan Tentang FD
Diberikan himpunan FD dari sebuah tabel R, beberapa
FD tambahan dapat diturunkan
Contoh relasi: Workers(ssn, name, lot, did, since)
FD ssn did terpenuhi
Karena ssn adalah primary key
FD did lot diberikan
berdasarkan proses bisnis
Normal Form 16
17. Gagasan Tentang FD
Pada setiap legal instance Workers
jika dua tuple memiliki nilai ssn yang sama
maka kedua tuple pasti memiliki nilai did yang sama
jika dua tuple memiliki nilai did yang sama
maka kedua tuple pasti memiliki nilai lot yang sama
FD ssn lot diturunkan
Sebuah FD f diturunkan dari sekumpulan FD F jika
f terpenuhi pada setiap instance yang memenuhi
semua dependencies di F
Normal Form 17
18. Closure dari Himpunan FD
Closure
Himpunan semua FD yang diturunkan dari himpunan
FD F yang diberikan
Ditulis F+
Aksioma Armstrong
aturan-aturan untuk menurunkan F+ dari F
X, Y, dan Z mewakili himpunan atribut dari sebuah
tabel R
Normal Form 18
19. Closure dari Himpunan FD
Aksioma Armstrong
Reflexivity: Jika X ⊇ Y maka X Y
Trivial FD X Y
Y hanya terdiri atas atribut-atribut yang juga ada di X
Augmentation: Jika X Y maka XZ YZ untuk
sembarang Z
Transitivity: Jika X Y dan Y Z maka X Z
aturan tambahan
Union: Jika X Y dan X Z maka X YZ
Decomposition: Jika X YZ maka X Y dan X Z
Normal Form 19
20. Contoh Penerapan Aksioma
Armstrong
Relasi ABC dengan FD
AB
BC
Aturan Reflexivity
Semua trivial FD
Transitivity
AC
Augmentation
AC BC, AB AC, AB CB
Normal Form 20
21. Pustaka
Ramakhrisnan, Raghu & Johannes Gehrke, "Database
Management Systems", 2nd ed., McGraw-Hill, 2000.
Elmasri dan Navathe, "Foundation of Database System"
http://tjerdastangkas.blogspot.com/search/label/ikd312
Normal Form 21