Basis Data Normalisasi dengan KF Sebuah tabel dikategorikan
Basis Data
Normalisasi dengan KF • Sebuah tabel dikategorikan efisien/normal, jika telah memenuhi 3 kriteria berikut: – Jika ada dekomposisi tabel, maka dekomposisinya harus aman(Lossless-Join Decomposition) – Terpeliharanya KF pada saat perubahan data (Dependency Preservation) – Tidak melanggar Boyce-Code Normal Form (BCNF) Jika BCNF tidak terpenuhi dapat digantikan dengan 3 NF
BCNF • X Y • X merupakan Superkey (Superkey: kumpulan atribut yang dapat membedakan setiap baris data secara unik)
Tabel universal/star NIM Nama. Mhs Alamat. Mhs A 11. 2015. Jl. Dago Pojok 91. Ali Akbar Bandung 40135 00001 Kode. M Tgl. Lahir K nama. MK SK Semest Index. N Waktu S er ilai Tempat Nama. Dosen Alamat. Dosen Struktur 2 -Jan-92 IF-110 Data 3 1 A Senin, 10: 00 -12: 00 Dr. Umar Ruang A Hakim Cibaduyut Kidul No. 57 C, Bandung 40239 21 -Jun. Struktur 92 IF-110 Data 3 1 B Senin, 10: 00 -12: 00 Dr. Umar Ruang A Hakim Cibaduyut Kidul No. 57 C, Bandung 40239 A 11. 2015. Jl. Dago Pojok 91. Ali Akbar Bandung 40135 00001 2 -Jan-92 IF-310 Basis Data 3 3 Rabu, 09: 00 -10: 40 Dewi Jl. Antapani No. 14, Bandung Ruang A Sundari, MA 40291 A 11. 2015. Budi Jl. Pasantren 25 D, 00002 Haryanto Cimahi 40533 6 -Oct-91 IF-310 Basis Data 3 3 Rabu, 09: 00 -10: 40 Senin, 08: 00 -09: 40 dan Kamis, 11: 0011: 50 Selasa, 10: 00 -11: 40 dan Jumat, 08: 0009: 40 A 11. 2015. Jl. Titiran No. 2, Hasanudin Bandung 40133 00004 A 11. 2015. Jl. Titiran No. 2, 00004 Hasanudin Bandung 40133 A 11. 2015. Jl. Dago Pojok 91. 00001 Ali Akbar Bandung 40135 21 -Jun- MA 92 115 KU 2 -Jan-92 234 Matematika Diskrit 3 Algoritma Pemrograma n 4 1 2 B Dewi Jl. Antapani No. 14, Bandung Ruang A Sundari, MA 40291 Drs. Taufik Ruang C Ismail Kanayakan Baru No 135, Bandung 40135 Dr. Umar Ruang B Hakim Cibaduyut Kidul No. 57 C, Bandung 40239 KF nim nama. Mhs, Alamat. Mhs, tgl. Lahir kode. MK nama. MK, SKS, Semester, Waktu, Tempat, Nama. Dosen Alamat. Dosen Nim, kode. MK >index. Nilai
Normalisasi dengan KF • KF – – nim nama. Mhs, Alamat. Mhs, tgl. Lahir kode. MK nama. MK, SKS, Semester, Waktu, Tempat, Nama. Dosen Alamat. Dosen Nim, kode. MK->index. Nilai • Dekomposisi – – Mahasiswa(nim, nama. Mhs, Alamat. Mhs, tgl. Lahir) [BCNF] Kuliah(kode. MK nama. MK, SKS, Semester, Waktu, Tempat, Nama. Dosen)[BCNF] Dosen(Nama. Dosen, Alamat. Dosen) )[BCNF] Nilai(Nim, kode. MK, index. Nilai) )[BCNF]
Dekomposisi • Atribut Komposit Mahasiswa nim A 11. 2015. 00001 A 11. 2015. 00002 A 11. 2015. 00003 namamhs Ali Akbar Budi Haryanto Indah Susanti A 11. 2015. 00004 Hasanudin • Mahasiswa KF • nim namamhs, alamat, kota, tgllahir • alamat, kota kodepos (alamat, kota bukan merupakan superkey) • alamat tgllahir Jl. Dago Pojok 91. Bandung 40135 2 -Jan-92 Jl. Pasantren 25 D, Cimahi 40533 6 -Oct-91 Jl. Anggrek 15, Sumedang 45323 15 -May-91 Jl. Griya Asri No. 2, Sumedang 45323 21 -Jun-92 KF nim A 11. 2015. 00001 A 11. 2015. 00002 A 11. 2015. 00003 A 11. 2015. 00004 nim namamhs, alamat, kota, tgllahir [BCNF] nim A 11. 2015. 00001 A 11. 2015. 00002 A 11. 2015. 00003 A 11. 2015. 00004 • KF Alamat, kota kodepos Kodepos kota (alamat, kota merupakan superkey, tapi kodepos bukan. sehingga ) Kode pos tidak unik Maka [tidak memenuhi BCNF] namamhs Ali Akbar Budi Haryanto Indah Susanti Hasanudin alamat Jl. Dago Pojok 91 Jl. Pasantren 25 D Jl. Anggrek 15 Jl. Griya Asri kota kodepos tgllahir Bandung 40135 2 -Jan-92 Cimahi 40533 6 -Oct-91 Sumedang 45323 15 -May-91 Bandung 45323 21 -Jun-92 Mahasiswa namamhs Ali Akbar Budi Haryanto Indah Susanti Hasanudin alamat Jl. Dago Pojok 91 Jl. Pasantren 25 D Jl. Anggrek 15 Jl. Griya Asri kota tgllahir Bandung 2 -Jan-92 Cimahi 6 -Oct-91 Sumedang 15 -May-91 Sumedang 21 -Jun-92 Alamat alamat Jl. Dago Pojok 91 Jl. Pasantren 25 D Jl. Anggrek 15 Jl. Griya Asri kota kodepos Bandung 40135 Cimahi 40533 Sumedang 45323
Alamat alamat Jl. Dago Pojok 91 Jl. Pasantren 25 D Jl. Anggrek 15 Jl. Griya Asri kota kodepos Bandung 40135 Cimahi 40533 Sumedang 45324 Alamat 1 Alamat 2 alamat kodepos Jl. Dago Pojok 91 40135 Jl. Pasantren 25 D 40533 Jl. Anggrek 15 45323 Jl. Griya Asri 45324 [BCNF] kodepos kota 40135 Bandung 40533 Cimahi 45323 Sumedang 4532 Sumedang [BCNF]
3 NF Alamat alamat Jl. Dago Pojok 91 Jl. Pasantren 25 D Jl. Anggrek 15 Jl. . Anggrek 15 kota kodepos Bandung 40135 Cimahi 40533 Sumedang 45324 Alamat 1 alamat kodepos Jl. Dago Pojok 91 40135 Jl. Pasantren 25 D 40533 Jl. Anggrek 15 45323 Jl. . Anggrek 15 45324 Alamat 2 kodepos kota 40135 Bandung 40533 Cimahi 45323 Sumedang 45324 Sumedang KF Alamat -/-> kodepos Lossy-Join Decomposition Not Depedency Preservation • Alamat melanggar BCNF namun ketika dilakukan dekomposisi magnakibatkan lossy-Join dan not dependency Preservation • Jika tidak memenuhi BCNF bisa diganti 3 NF
3 NF • X Y • X harus Superkey atau Y merupakan bagian dari Primary Key
3 NF nim A 11. 2015. 00001 A 11. 2015. 00002 A 11. 2015. 00003 A 11. 2015. 00004 namamhs Ali Akbar Budi Haryanto Indah Susanti Hasanudin alamat Jl. Dago Pojok 91 Jl. Pasantren 25 D Jl. Anggrek 15 Jl. Griya Asri kota kodepos tgllahir Bandung 40135 2 -Jan-92 Cimahi 40533 6 -Oct-91 Sumedang 45323 15 -May-91 Bandung 45323 21 -Jun-92 Tdk memenuhi BCNF dan 3 NF • KF: – Nim namamhs, alamat, tgllahir – alamat, kota kode. Pos [tdk memenuhi 3 NF] (alamat, kota bukan superkey dan kode. Pos bukan bagian dari Primary. Key)
nim A 11. 2015. 00001 A 11. 2015. 00002 A 11. 2015. 00003 A 11. 2015. 00004 • Alamat • KF: alamat, kota kode. Pos [3 NF] Kode. Pos kota namamhs Ali Akbar Budi Haryanto Indah Susanti Hasanudin alamat Jl. Dago Pojok 91 Jl. Pasantren 25 D Jl. Anggrek 15 Jl. Griya Asri kota tgllahir Bandung 2 -Jan-92 Cimahi 6 -Oct-91 Sumedang 15 -May-91 Sumedang 21 -Jun-92 alamat Jl. Dago Pojok 91 Jl. Pasantren 25 D Jl. Anggrek 15 Jl. Griya Asri kota kodepos Bandung 40135 Cimahi 40533 Sumedang 45323
Bentuk Normal Lainnya • • 1 NF 2 NF 4 NF 5 NF
1 NF • Tabel tidak memiliki Multi. Valued Attribute • Tabel tidak memiliki banyak atribut dengan domain nilai yang sama Matakuliah Struktur Data Algoritma Pemrograman Basis Data Matematika Diskrit Waktu Senin, 10: 00 -12: 00 Selasa, 10: 00 -11: 40 dan Jumat, 08: 00 -09: 40 Rabu, 09: 00 -10: 40 Senin, 08: 00 -09: 40 dan Kamis, 11: 00 -11: 50 Waktu 1 Senin, 10: 00 -12: 00 Selasa, 10: 00 -11: 40 Rabu, 09: 00 -10: 40 Senin, 08: 00 -09: 40 Tempat Ruang A Ruang B Ruang A Ruang C Tempat 1 Waktu 2 Ruang A Ruang B Jumat, 08: 00 -09: 40 Ruang A Ruang C Kamis, 11: 00 -11: 50 Nama. Dosen Dr. Umar Hakim Dewi Sundari, MA Drs. Taufik Ismail Tempat 2 Ruang A Ruang B Ruang A Ruang C Nama. Dosen Dr. Umar Hakim Dewi Sundari, MA Drs. Taufik Ismail
2 NF • Semua atribut yang bukan primary key memiliki Ketergantungan Fungsional pada primary key secara utuh. • KF: Matakuliah Struktur Data Basis Data Matematika Diskrit Algoritma Pemrograman NIM A 11. 2015. 00001 A 11. 2015. 00004 A 11. 2015. 00001 A 11. 2015. 00002 A 11. 2015. 00004 A 11. 2015. 00001 Nama Mahasiswa Ali Akbar Hasanudin Ali Akbar Budi Haryanto Hasanudin Ali Akbar – Matakuliah, nim index. NIlai – NIM Nama. Mahasiswa (Nama. Mahasiswa memiliki ketergantungan parsial hanya pada nim) (dikatakan utuh jika tergantung pada primary key [matakuliah , nim]) Index. Nilai A B B
4 NF dan 5 NF • 4 NF Berkaitan dengan sifat ketergantungan banyak nilai (multivalued dependency) pada suatu tabel yang merupakan pengembangan dari Ketergantungan Fungsional • 5 NF Project-Join Normal Form (PJNF) ketergantungan Relasi antar tabel (Join Dependency)
Normalisasi – Normalisasi dengan KF • • Lossless-Join Decomposition) Dependency Preservation Boyce-Code Normal Form (BCNF) 3 NF 1 NF 2 NF 4 NF 5 NF
Latihan Tanggal. TX Nama. Pelanggan Alamat. Pelanggan 13 -3 -2017 Asep 13 -3 -2017 Aceng 13 -3 -2017 Dadang Jl Nakula 12 Semarang Jl Merbabu 11 Semarang Jl. Peterongan 12 Semarang Telp. Pelanggan Nama. Barang Satuan Harga. Jual 81123123 Oli Mesran Liter 81123123 Bridge. Stone 15 unit 81123123 Foglamp Avanza set Jumlah. Jual Jumlah. Kotor Potongan Jumlah. Bersih 270, 00 100, 000 3 300, 000 30, 000 0 700, 000 4 2, 800, 000 80, 000 2, 720, 000 1, 200, 000 1 1, 200, 000 50, 000 1, 150, 000 200, 000 1 200, 000 - 0 821090909 Wiper Ertiga set 821090909 Ambipur Cover Body 82222222 Innova Unit 40, 000 1 40, 000 Unit 300, 000 1 300, 000 Buatlah tabel tersebut menjadi bentuk normal - 0 40, 000 300, 00
- Slides: 17