7/11/2011
Normalisasi Reff : Database Systems : A Practical Approach to Design, Implementation and Management Carolyn Begg & Thomas Connolly Dasar Perancangan & Implementasi Database Relasional Abdul Kadir 1
Normalisasi
Tujuan j utama p pengembangan g g sebuah model data lojik j untuk sistem basisdata relasional adalah untuk membuat representasi data, relasi, dan batasannya secara akurat.
Untuk mencapai tujuan ini, harus diidentifikasi kumpulan tabel yang sesuai.
Normalisasi N li i d dapatt di dipakai k i untuk t k memverifikasi ifik i ttabel‐ b l tabel hasil transformasi model ERD – apakah sudah berstrukur baik atau belum.
2
1
7/11/2011
Normalisasi
Tiga bentuk normal yang paling umum digunakan adalah first normal form (1NF), second normal form (2NF), dan third normal form (3NF). Umumnya tabel yang telah memenuhi 3NF sudah tidak memiliki masalah.
Pada beberapa kondisi khusus, masih diperlukan proses normalisasi lebih lanjut, yaitu untuk mencapai bentuk Boyce–Codd normal form (BCNF), fourth normal form (4NF) d (4NF), dan fifth normall fform (5NF). (5NF)
Normalisasi didasarkan pada aturan ketergantungan fungsional (functional dependencies) di antara atribut dalam suatu tabel. 3
Redundansi
Data yang redundan adalah data yang disimpan berkali‐ berkali kali. Redundansi adalah istilah lain untuk duplikasi.
Normalisasi berfungsi meminimalkan redundansi data.
Bila redundansi data dapat diminimalkan, maka :
Tempat penyimpanan data dapat diefisienkan Potensi timbulnya anomali update dapat dicegah
4
2
7/11/2011
Redundansi
Masalah yang terkait dengan redundansi data diilustrasikan dalam tabel berikut ini :
Tabel StaffBranch mempunyai data yang redundan : detil dari suatu cabang diulang untuk setiap anggota staff. 5
Anomali Update
Tabel y yangg mengandung g g informasi y yangg redundan dapat p mengalami anomali update.
Anomali update adalah masalah yang timbul dalam tabel ketika terjadi operasi pemutakhiran data, misalnya pengubahan data yang mengakibatkan inkonsistensi data, atau bahkan suatu data menjadi hilang.
Tipe anomali update mencakup :
IInsertion i Deletion Modification.
6
3
7/11/2011
Anomali Insert
Seorangg staff baru bergabung g g dengan g branch B005
Insert baris baru pada tabel StaffBranch Misal di‐entri alamat yang salah : 163 Main St, Glasgow. Basisdata sekarang menjadi tidak konsisten !
Membuat cabang baru tanpa anggota staff
B008, 57 Princes St, Edinburgh Tidak ada anggota staff, sehingga staffNo harus NULL Tetapi staffNo adalah primary key pada tabel StaffBranch, sehingga tidak boleh NULL !
7
Anomali Delete
Mary Howe Howe, staffNo SA9 SA9, keluar (resign) dari perusahaan
Hapus baris yang tepat pada tabel StaffBranch Hal ini juga akan menghapus detil dari branch B007 dimana Mary Howe bekerja Tetapi tidak ada orang lain di cabang B007, sehingga kita tidak bisa lagi mengetahui alamat cabang ini !
8
4
7/11/2011
Anomali Modifikasi
Branch B003 dipindah ke lokasi yang baru
Alamat barunya adalah : 145 Main St, Glasgow Harus mengubah tiga baris data di tabel StaffBranch. Andaikan hanya salah satu saja yang diubah, maka akan terjadi inkonsistensi data !
9
Identifikasi Candidate Key
Candidate keyy adalah atribut atau himpunan p atribut y yangg secara unik mengidentifikasi sebuah baris.
Tidak ada bagian dari candidate key yang boleh bernilai NULL.
Atribut yang secara fungsional menentukan setiap atribut yang lain adalah sebuah candidate key.
10
5
7/11/2011
Identifikasi Primary Key
Primary key adalah candidate key yang dipilih untuk mengidentifikasi baris‐baris sebuah tabel secara unik. Candidate key yang lain disebut alternate keys.
Beberapa pedoman untuk memilih primary key : Ambil candidate key dengan atribut paling sedikit. Ambil candidate key dengan panjang terpendek. Ambil candidate key dengan jaminan keunikan paling baik. Ambil candidate key yang paling masuk akal.
11
Dependensi Fungsional
Konsep utama yang terkait dengan normalisasi.
Dependensi fungsional (functional dependency – FD)
Menjelaskan relasi antar atribut dalam suatu tabel. Jika A dan B adalah atribut dalam tabel R, B tergantung secara fungsional pada A (dinotasikan dengan A → B), jika setiap nilai dari A di R berhubungan dengan tepat satu nilai dari B di R.
Representasi diagramatik :
Determinant dari sebuah FD mengacu pada atribut atau sekelompok atribut pada sisi kiri anak panah. 12
6
7/11/2011
Contoh FD (1)
13
Contoh FD (2) IdDosen 041 041 042 042 042 043
NamaDosen Faizal Rahman Faizal Rahman Shinta Dewi Shinta Dewi Shinta Dewi Kartono
JenisKelamin Pria Pria Wanita Wanita Wanita Pria
Pendidikan S1 S2 S1 S2 S3 S1
TahunLulus 1984 1990 1988 1991 1995 1985
Contoh‐contoh FD dari tabel di atas : IdDosen Æ NamaDosen IdDosen Æ JenisKelamin Dua FD di atas dapat juga ditulis : IdDosen Æ {NamaDosen, JenisKelamin} {IdDosen, Pendidikan} Æ TahunLulus 14
7
7/11/2011
Contoh FD (2) Notasi FD berikut ini : IdDosen Æ {NamaDosen, JenisKelamin} {IdDosen, Pendidikan} Æ TahunLulus dapat digambarkan dengan diagram sebagai berikut :
IdDosen
NamaDosen
JenisKelamin
Pendidikan
TahunLulus
15
Unnormalized Form (UNF)
UNF adalah sebuah tabel yang memiliki atribut yang bernilai ganda (repeating groups) Cara membuat UNF : ubah data dari sumber informasi kedalam bentuk tabel dengan kolom dan baris. CustomerId
FirstName
Surname
PhoneNumber
123
Robert
Ingram g
555‐861‐2025
456
Jane
Wright
555‐403‐1659 555‐776‐4100
789
Maria
Fernandez
555‐808‐9633
16
8
7/11/2011
First Normal Form (1NF)
1NF adalah sebuah tabel dimana interseksi (perpotongan) dari setiap baris dan kolom hanya mengandung satu nilai.
Cara mengubah UNF menjadi 1NF : 1. 2. 3.
Baris data yang memiliki atribut ganda dijadikan beberapa baris (sejumlah datanya) Isi bagian perpotongan baris & kolom yang kosong dengan melakukan l k k flattening fl i the h table. bl Tetapkan PK untuk tabel 1NF yang telah terbentuk
17
Contoh (1) UNF Æ 1NF CustomerId
FirstName Surname
PhoneNumber
123
Robert
Ingram
555‐861‐2025
456
Jane
Wright
555‐403‐1659 555‐776‐4100
789
Maria
Fernandez 555‐808‐9633
CustomerId FirstName Surname
PhoneNumber
123
Robert
Ingram
555‐861‐2025
456
Jane
Wright
555‐403‐1659
456
Jane
Wright
555‐776‐4100
789
Maria
Fernandez 555‐808‐9633 18
9
7/11/2011
Contoh (2) UNF Æ 1NF clientNo cName propertyNo pAddress rentStart rentFinish rent ownerNo oName CR76 J h John PG4 6L Lawrence St St, 1-Jul-00 1 J l 00 31-Aug-01 31 A 01 350 CO40 Ti M Tina Murphy h Kay Glasgow PG16 CR56
PG4 Aline Stewart
5 Novar Dr, Glasgow
1-Sep-01
6 Lawrence St, 1-Sep-99 Glasgow
1-Sep-02
450 CO93
Tony shaw
10-June-00
350 CO40
Tina Murphy
PG36
2 Manor Rd, Glasgow
10-Oct-00 1-Dec-01
375 CO93
Tony shaw
PG16
5 Novar Dr, Glasgow
1-Nov-02
450 CO93
Tony shaw
10-Aug-03
clientNo cName propertyNo pAddress rentStart rentFinish CR76 John Kay PG4 6 Lawrence St, 1-Jul-00 31-Aug-01 Glasgow CR76
John Kay PG16
5 Novar Dr, Glasgow
CR56
Aline Stewart
PG4
6 Lawrence St, 1-Sep-99 Glasgow
CR56
Aline Stewart
PG36
2 Manor Rd, Glasgow
CR56
Aline Stewart
PG16
5 Novar Dr, Glasgow
1-Sep-01
rent ownerNo oName 350 CO40 Tina Murphy
1-Sep-02
450 CO93
Tony shaw
10-June-00
350 CO40
Tina Murphy
10-Oct-00 1-Dec-01
375 CO93
Tony shaw
1-Nov-02
450 CO93
Tony shaw
10-Aug-03
19
PK pada ClientRental
Candidate keys pada ClientRental adalah :
{clientNo, propertyNo} {clientNo, rentStart} {propertyNo, rentStart}
Pilih {clientNo, propertyNo} sebagai PK clientNo propertyNo cName pAddress rentStart rentFinish rent ownerNo oName CR76 PG4 John Kay 6 Lawrence St, 1-Jul-00 31-Aug-01 350 CO40 Tina Murphy Glasgow CR76
PG16
John Kay 5 Novar Dr, Glasgow
1-Sep-01 1-Sep-02
450 CO93
Tony shaw
CR56
PG4
Aline Stewart
6 Lawrence St, 1-Sep-99 10-June-00 Glasgow
350 CO40
Tina Murphy
CR56
PG36
Aline Stewart
2 Manor Rd, Glasgow
10-Oct-00 1-Dec-01
375 CO93
Tony shaw
CR56
PG16
Aline Stewart
5 Novar Dr, Glasgow
1-Nov-02 10-Aug-03
450 CO93
Tony shaw 20
10
7/11/2011
Tabel ClientRental 1NF clientNo propertyNo cName pAddress rentStart rentFinish rent ownerNo oName CR76 PG4 John Kay 6 Lawrence St, 1 1-Jul-00 Jul 00 31-Aug-01 31 Aug 01 350 CO40 Tina Murphy Glasgow CR76
PG16
John Kay 5 Novar Dr, Glasgow
CR56
PG4
Aline Stewart
CR56
PG36
CR56
PG16
1-Sep-01 1-Sep-02
450 CO93
Tony shaw
6 Lawrence St, 1-Sep-99 10-June-00 Glasgow
350 CO40
Tina Murphy
Aline Stewart
2 Manor Rd, Glasgow
10-Oct-00 1-Dec-01
375 CO93
Tony shaw
Aline Stewart
5 Novar Dr, Glasgow
1-Nov-02 10-Aug-03
450 CO93
Tony shaw
Tabel T b l Cli ClientRental tR t l d dapatt dit ditulis li d dengan notasi t i standar t d sbb bb : ClientRental (clientNo, propertyNo, cName, pAddress, rentStart, rentFinish, rent, ownerNo, oName)
21
Dependensi Parsial IdDosen 041 041 042 042 042 043
JenisKelamin Pendidikan TahunLulus Pria P i Pria Wanita Wanita Wanita Pria
S1 S2 S1 S2 S3 S1
1984 1990 1988 1991 1995 1985
Atribut Y memiliki dependensi parsial terhadap X jika :
NamaDosen Faizal F i lR Rahman h Faizal Rahman Shinta Dewi Shinta Dewi Shinta Dewi Kartono
XÆY Y adalah atribut non‐PK dan X adalah BAGIAN dari atribut PK
Tabel Dosen di atas memiliki PK : IdDosen + Pendidikan Untuk contoh tabel Dosen, JenisKelamin memiliki dependensi parsial terhadap IdDosen 22
11
7/11/2011
Second Normal Form (2NF)
2NF adalah sebuah tabel yang telah memenuhi 1NF dan tidak mengandung dependensi parsial.
Agar sebuah tabel yang mengandung dependensi parsial bisa memenuhi bentuk 2NF, maka dependensi parsialnya harus dihilangkan.
Cara mengubah 1NF menjadi 2NF : 1. 2.
Ubahlah setiap dependensi parsial menjadi sebuah tabel baru. Jadikan determinannya sebagai PK PK. Ubahlah dependensi yang terkait langsung dengan PK sebagai tabel tersendiri. Jadikan PK semula menjadi PK tabel tersebut.
23
Contoh 1NF Æ 2NF clientNo propertyNo cName pAddress rentStart rentFinish rent ownerNo oName CR76 PG4 John Kay 6 Lawrence St St, 1-Jul-00 1 Jul 00 31 31-Aug-01 Aug 01 350 CO40 Tina Murphy Glasgow CR76
PG16
John Kay 5 Novar Dr, Glasgow
CR56
PG4
Aline Stewart
CR56
PG36
CR56
PG16
1-Sep-01 1-Sep-02
450 CO93
Tony shaw
6 Lawrence St, 1-Sep-99 10-June-00 Glasgow
350 CO40
Tina Murphy
Aline Stewart
2 Manor Rd, Glasgow
10-Oct-00 1-Dec-01
375 CO93
Tony shaw
Aline Stewart
5 Novar Dr, Glasgow
1-Nov-02 10-Aug-03
450 CO93
Tony shaw
Dependensi parsial pada tabel ClientRental adalah :
clientNo Æ cName propertyNo Æ {pAddress, rent, ownerNo, oName}
24
12
7/11/2011
Contoh 1NF Æ 2NF
Tabel semula (1NF) : ClientRental (clientNo, propertyNo, cName, pAddress, rentStart, rentFinish, rent, ownerNo, oName)
Dependensi parsial pada tabel ClientRental adalah :
clientNo Æ cName propertyNo Æ {pAddress, rent, ownerNo, oName}
Hasil dekomposisi 2NF :
Tabel T b l Client Cli t (clientNo (clientNo, cName) Tabel PropertyOwner (propertyNo, pAddress, rent, ownerNo, oName) Tabel Rental (clientNo, propertyNo, rentStart, rentFinish)
25
Contoh 1NF Æ 2NF Hasil dekomposisi 1NF menjadi 2NF : Tabel Client ClientNo
Tabel Rental cName
clientNo
propertyNo
rent Start
rentFinish
CR76
John Kay
CR76
PG4
1‐Jul‐00
31‐Aug‐01
CR56
Aline Stewart
CR76
PG16
1‐Sep‐01
1‐Sep‐01
CR56
PG4
1‐Sep‐99
10‐June‐00
CR56
PG36
10‐Oct‐00
1‐Dec‐01
CR56
PG16
1‐Nov‐02
10‐Aug‐03
Tabel PropertyOwner propertyNo
pAddress
rent
ownerNo
oName
PG4
6 Lawrence St, Glasgow
350
CO40
Tina Murphy
PG16
5 Novar Dr, Glasgow
450
CO93
Tony Shaw
PG36
2 Manor Rd, Glasgow
375
CO93
Tony Shaw
26
13
7/11/2011
Latihan-1 IdDosen 041 041 042 042 042 043
NamaDosen Faizal F i lR Rahman h Faizal Rahman Shinta Dewi Shinta Dewi Shinta Dewi Kartono
JenisKelamin Pendidikan TahunLulus Pria P i Pria Wanita Wanita Wanita Pria
S1 S2 S1 S2 S3 S1
1984 1990 1988 1991 1995 1985
Tabel di atas memenuhi kriteria yang mana : (a) UNF (b) 1NF (c) 2NF Jelaskan argumen anda !
Lakukan normalisasi hingga 1 level di atasnya ! 27
Dependensi Transitif MataKuliah Struktur St kt D Data t Pancasila Web Design Sistem Pakar Metode Numerik
Jadwal SSenin, i 10 10‐12 12 Senin, 14‐16 Selasa, 12‐14 Rabu, 14‐16 Kamis, 10‐12
Ruang
Lokasi
1205 3037 1209 3017 3012
Gedung G d B Baratt Gedung Timur Gedung Barat Gedung Timur Gedung Timur
FD pada tabel Kuliah di atas adalah : MataKuliah Æ {Jadwal, Ruang, Lokasi} Ruang ua g Æ Lokasi o as
Atribut Z memiliki dependensi transitif terhadap X jika : XÆY YÆZ Dependensi transitif tersebut dapat dinotasikan sebagai : X Æ Y Æ Z
Untuk contoh tabel Kuliah, Lokasi memiliki dependensi transitif terhadap MataKuliah (karena : MataKuliah Æ Ruang Æ Lokasi)
28
14
7/11/2011
Third Normal Form (3NF)
3NF adalah sebuah tabel yang telah memenuhi 2NF dan tidak mengandung dependensi transitif.
Agar sebuah tabel yang mengandung dependensi transitif bisa memenuhi bentuk 3NF, maka dependensi transitifnya harus dihilangkan.
Cara mengubah 2NF menjadi 3NF : 1.
2.
Bentuklah tabel baru yang mewakili dependensi fungsional yang tidak melibatkan PK tabel semula semula. Jadikan determinannya sebagai PK pada tabel baru tersebut. Bentuklah tabel yang memuat semua atribut non‐PK yang bergantung pada PK tapi tidak bergantung pada determinan lain. Jadikan PK semula menjadi PK tabel tersebut. Tambahkan juga determinan perantara pada dependensi transitif menjadi FK pada tabel ini.
29
Contoh 2NF Æ 3NF Tabel PropertyOwner propertyNo
pAddress
rent
ownerNo
oName
PG4
6 Lawrence St, Glasgow
350
CO40
Tina Murphy
PG16
5 Novar Dr, Glasgow
450
CO93
Tony Shaw
PG36
2 Manor Rd, Glasgow
375
CO93
Tony Shaw
Dependensi fungsional pada tabel PropertyOwner adalah :
propertyNo Æ {pAddress, rent, ownerNo, oName} ownerNo Æ oName
Sehingga tabel PropertyOwner mengandung dependensi transitif :
propertyNo Æ ownerNo Æ oName atau dengan kata lain : oName tergantung secara transitif terhadap atribut PK (propertyNo) 30
15
7/11/2011
Contoh 2NF Æ 3NF Tabel PropertyOwner propertyNo
pAddress
rent
ownerNo
oName
PG4
6 Lawrence St, Glasgow
350
CO40
Tina Murphy
PG16
5 Novar Dr, Glasgow
450
CO93
Tony Shaw
PG36
2 Manor Rd, Glasgow
375
CO93
Tony Shaw
Berdasarkan langkah‐1* transformasi 2NF Æ 3NF diperoleh : Tabel Owner (ownerNo, oName) Dan berdasarkan langkah‐2* transformasi 2NF Æ 3NF diperoleh : Tabel Property (propertyNo, pAddress, rent, ownerNo) *) Lihat slide halaman 29
Tabel Property
Tabel Owner
propertyNo
pAddress
rent
ownerNo
ownerNo
oName
PG4
6 Lawrence St, Glasgow
350
CO40
CO40
Tina Murphy
PG16
5 Novar Dr, Glasgow
450
CO93
CO93
Tony Shaw
PG36
2 Manor Rd, Glasgow
375
CO93
31
Latihan-2 MataKuliah S k Struktur D Data
Jadwal S i 10 Senin, 10‐12 12
Ruang 1205
Lokasi G d Gedung B Barat
Pancasila
Senin, 14‐16
3037
Gedung Timur
Web Design
Selasa, 12‐14
1209
Gedung Barat
Sistem Pakar
Rabu, 14‐16
3017
Gedung Timur
Metode Numerik
Kamis, 10‐12
3012
Gedung Timur
Tabel di atas memenuhi kriteria yang mana : (a) UNF (b) 1NF (c) 2NF (d) 3NF Jelaskan argumen anda !
Lakukan normalisasi hingga 1 level di atasnya !
32
16
7/11/2011
Latihan-3 Lakukan normalisasi untuk tabel berikut ini :
33
Boyce–Codd Normal Form (BCNF)
Sebuah tabel memenuhi bentuk BCNF jika dan hanya jika determinan dalam setiap FD pada tabel tersebut merupakan candidate key.
Setiap tabel yang memenuhi bentuk BCNF juga memenuhi kriteria bentuk 3NF. Tetapi tidak berlaku sebaliknya !! A Agar sebuah b h ttabel b l 3NF (yang ( b belum l memenuhi hi BCNF) bisa dijadikan tabel BCNF, maka FD yang melibatkan determinan non-candidate key harus dipisahkan menjadi satu tabel tersendiri.
34
17
7/11/2011
Contoh 3NF Æ BCNF clientNo interviewDate interviewTime staffNo CR76 13‐May‐02 10:30 SG5 CR56 13‐May‐02 12:00 SG5 12:00 SG37 CR74 13‐May‐02 CR56 1‐Jul‐02 10:30 SG5
roomNo G101 G101 G102 G102
Tabel ClientInterview (clientNo, interviewdate, interviewTime, staffNo, roomNo) Tabel ClientInterview memenuhi bentuk 3NF. Apakah juga memenuhi BCNF ?
35
Contoh 3NF Æ BCNF
FD pada tabel ClientInterview : fd1 : clientNo, interviewdate Æ interviewTime, staffNo, roomNo fd2 : staffNo, interviewdate, interviewTime Æ clientNo fd3 : roomNo, interviewdate, interviewTime Æ staffNo, clientNo fd4 : staffNo, interviewdate Æ roomNo
Cek determinan pada semua FD : fd1 : fd2 : fd3 : fd4 :
determinan adalah PK (berarti merupakan candidate key) determinan merupakan candidate key determinan merupakan candidate key determinan bukan merupakan candidate key
Kesimpulan : tabel ClientInterview belum memenuhi BCNF
36
18
7/11/2011
Contoh 3NF Æ BCNF
Untuk membentuk tabel yang memenuhi BCNF :
Pisahkan atribut yang terlibat dalam fd4 menjadi tabel baru StaffRoom. Jadikan atribut determinan sebagai PK dalam tabel tsb. Tabel semula (ClientInterview) yang telah dibuang atribut dependant‐nya (pada fd4) dijadikan tabel Interview.
Hasil normalisasi menjadi bentuk BCNF : clientNo interviewDate interviewTime staffNo CR76 13‐May‐02 10:30 SG5 CR56 13‐May‐02 12:00 SG5 CR74 13‐May‐02 12:00 SG37 CR56 1‐Jul‐02 10:30 SG5
staffNo interviewDate 13‐May‐02 SG5 13‐May‐02 SG5 13‐May‐02 SG37 1‐Jul‐02 SG5
roomNo G101 G101 G102 G102
37
Multi Valued Dependency (MVD)
MVD adalah dependensi antara dua atribut (misal A & B) dalam sebuah tabel dengan ciri sbb :
Untuk setiap nilai A terdapat sejumlah nilai B. Notasi MVD untuk dua atribut tsb ditulis : A –>> B
Jika terdapat MVD sbb :
X –>> Y dan X –>> Z Atribut Y dan Z bersifat independen (tidak saling bergantung)
M k k Maka kondisi di i tersebut b d dapat di ditulis li : X –>> Z | Y
38
19
7/11/2011
Fourth Normal Form (4NF)
4NF adalah sebuah tabel yang telah memenuhi BCNF dan tidak mengandung lebih dari satu MVD yang versifat independen.
Agar sebuah tabel BCNF bisa memenuhi bentuk 4NF, maka harus mengikuti aturan konversi yang termuat dalam Teorema Fagin : Bila T(A, B, C) merupakan sebuah tabel dengan A, B, C sebagai atributnya, maka T dapat dipecah menjadi (A, B) dan (A, C) jika T memenuhi MVD : A –>> B | C
39
Contoh BCNF Æ 4NF MataKuliah SBD SBD SBD SBD PTI PTI PTI PTI
BukuReferensi Database Systems Modern Data Management Database Systems Modern Data Management IT Horizons Computer Sciences IT Horizons Computer Sciences
Tabel di atas memiliki dua MVD yaitu :
Dosen Ir. Tukul Ir Ir. Tukul Dr. Sule Dr. Sule Komeng MSc Komeng MSc Drs. Parto Drs. Parto
MataKuliah –>> Dosen MataKuliah –>> >> BukuReferensi
Karena atribut Dosen dan BukuReferensi bersifat independen, maka : MataKuliah –>> Dosen | BukuReferensi
40
20
7/11/2011
Contoh BCNF Æ 4NF MataKuliah SBD SBD SBD SBD PTI PTI PTI PTI
Dosen Ir Tukul Ir. Ir. Tukul Dr. Sule Dr. Sule Komeng MSc Komeng MSc Drs. Parto Drs. Parto
BukuReferensi Database Systems Modern Data Management Database Systems Modern Data Management IT Horizons Computer Sciences IT Horizons Computer Sciences
Berdasarkan Teorema Fagin, tabel tersebut dapat dipecah menjadi :
MataKuliah_Dosen (MataKuliah, Dosen) MataKuliah _BukuReferensi BukuReferensi (MataKuliah, (M t K li h BukuReferensi) B k R f i)
MataKuliah SBD SBD PTI PTI
Dosen Ir. Tukul Dr. Sule Komeng MSc Drs. Parto
MataKuliah SBD SBD PTI PTI
BukuReferensi Database Systems Modern Data Management IT Horizons Computer Sciences
41
Fifth Normal Form (5NF)
5NF adalah sebuah tabel yang telah memenuhi 4NF dan tidak dapat didekomposisikan lebih lanjut.
Andaikan pada sebuah tabel 5NF dilakukan dekomposisi menjadi beberapa tabel yang lebih kecil, maka sesungguhnya pada tabel‐ tabel hasil dekomposisi tersebut bila dilakukan rekonstruksi akan kembali menghasilkan tabel 5NF yang semula.
42
21
7/11/2011
Contoh 5NF Tabel Mahasiswa NPM 2010110001 2010110002 2010110003 2010110004
NamaMhs Joe Satriani Steve Vai Jimmy Page Janis Joplin
JenisKelamin Pria Pria Pria Wanita
TgLahir 1‐May‐60 5‐Aug‐65 2‐Feb‐50 9‐Apr‐49
Misalkan tabel Mahasiswa di atas dipecah menjadi tiga tabel sbb : Mhs1 (NPM, NamaMhs) Mhs2 (NPM, (NPM JenisKelamin) Mhs3 (NPM, TgLahir)
Jika dilakukan rekonstruksi pada ketiga tabel tsb, maka akan kembali menghasilkan tabel 5NF yang semula, yaitu tabel Mahasiswa. 43
22