Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Normalisasi (bagian III) Lossless-Join Decomposition Dependency Preservation BCNF.

Presentasi serupa


Presentasi berjudul: "Normalisasi (bagian III) Lossless-Join Decomposition Dependency Preservation BCNF."— Transcript presentasi:

1 Normalisasi (bagian III) Lossless-Join Decomposition Dependency Preservation BCNF

2 Diagram Ketergantungan NPM  nama_mhs NPM  alamat_mhsNPM  nama_mhs alamat_mhs tgl_lahir NPM  tgl_lahir Kode_kul  nama_kul Kode_kul  sksKode_kul  nama_kul sks semester Kode_kul  semester NPM kode_kul  indeks_nilai

3 Kelemahan Mendasar (i) Pengulangan informasi Pengulangan pada atribut nama_mhs, alamat_mhs dan tgl_lahir dinyatakan berulang-ulang sesuai npm Pengulangan pada atribut nama_kul, semester, sks sesuai kode_kul Potensi inkonsistensi data pada operasi pengubahan Jika ada perubahan pada data nama_mhs, maka perubahan ini harus dijalarkan ke seluruh baris data pada tabel tersebut untuk npm yang sama. Jika perubahan ini tidak dilakukan maka ketergantungan fungsional yang telah ditetapkan akan terganggu, karena akan ada 2 row atau lebih dengan npm yang sama tapi nama_mhs nya berbeda.

4 Kelemahan Mendasar (ii) Tersembunyinya informasi tertentu Ada data yang tidak terlihat misalnya data mahasiswa dengan NPM ‘ ’ sedang tdak mengambil kuliah apapun, sehingga tidak disertakan dalam tabel tersebut Kelemahan yang ada tersebut mengiring kita untuk melakukan dekomposisi, yakni melakukan pemilahan tabel tersebut untuk menjadi beberapa tabel dengan mempertimbangkan ketergantungan fungsionalnya.

5 Lossless-Join Decomposition Dekomposisi yang benar terjadi jika hasil dekomposisi tabel-tabel dapat digabungkan kembali untuk menghasilkan tabel awal sebelum didekomposisi Dekomposisi yang benar semacam ini disebut Lossless-Join Decomposition atau Lossless Decomposition (Dekomposisi aman)

6 Lossless-Join Decomposition Contoh abstrak yang menghasilkan dekomposisi yang tidak aman (Lossy-Join Decomposition) Tabel ABC dengan 2 ketergantungan Fungsi yaitu : A  B dan B  C ABC A1100C1 A2200C2 A3300C3 A4200C4

7 Lossless-Join Decomposition ABC A1100C1 A2200C2 A3300C3 A4200C4 AB A1100 A2200 A3300 A4200 BC 100C1 200C2 300C3 200C4

8 Lossless-Join Decomposition ABC A1100C1 A2200C2 A2200C4 A3300C3 A4200C2 A4200C4 AB A1100 A2200 A3300 A4200 BC 100C1 200C2 300C3 200C4 A4 – 200 – C2

9 Dependency Preservation (i) Dependency Preservation (Pemeliharaan Ketergantungan): Ketika kita melakukan perubahan data, maka harus bisa dijamin agar perubahan tersebut tidak menghasilkan inkonsistensi data yang mengakibatkan KF yang sudah benar menjadi tidak terpenuhi. Pada tabel universal, misalnya ada perubahan data alamat untuk mahasiswa dengan NPM = ‘ ’ maka perubahan ini harus kita lakukan pada atribut alamat_mhs di semua row yang nilai atribut npm-nya bernilai ‘ ’. Hal ini menjadi tidak efisien.

10 Dependency Preservation (ii) Contoh lain : Misalkan terdapat 2 tabel: tabel mahasiswa (npm, nama, alamat_mhs, tgl_lahir) dan tabel nilai (npm, nama_mhs, nama_kul, indeks_nilai) Pada tabel nilai terdapat dua buah KF yaitu : nama_kul npm  indeks_nilai dan npm  nama_mhs Jika di tabel mahasiswa terjadi perubahan data pada atribut alamat_mhs atau tgl_lahir, maka perubahan itu tidak perlu dijalarkan ke tabel nilai karena memang di tabel nilai atribut tsb tidak dilibatkan

11 Dependency Preservation (iii) Tetapi jika perubahan itu terjadi pada atribut nama_mhs di tabel mahasiswa, maka perubahan ini harus dijalarkan ke tabel nilai, krn atribut ini juga digunakan di tabel nilai Karena itu solusi terbaik agar criteria Dependency Preservation dapat terpenuhi adalah dengan meniadakan atribut nama_mhs dari tabel nilai, sehingga tabel nilai hanya berisi 3 buah atribut yaitu : nama_kul, npm dan indeks_nilai

12 BCNF (i) Kriteria: Untuk semua ketergantungan fungsional harus merupakan candidate key pada relasi tersebut. Jika tabel hanya memiliki sebuah candidate key, 3NF dan BCNF-nya ekuivalen BCNF merupakan special case dari 3NF

13 BCNF (ii) Jika kita tinjau tabel universal, jelas tabel tersebut tidak memenuhi BCNF. Buktinya, kita ambil salah satu KF, yaitu : npm  nama_mhs alamat_mhs tgl_lahir, maka seharusnya npm merupakan candidate key di tabel tsb tapi pada kenyataanya tidak demikian karena pada tabel tsb npm tidak unik. Karena itu tabel universal harus didekomposisi.

14 BCNF (iii) Jika kita tinjau tabel universal, jelas tabel tersebut tidak memenuhi BCNF. Buktinya, kita ambil salah satu KF, yaitu : npm  nama_mhs alamat_mhs tgl_lahir, maka seharusnya npm merupakan candidate key di tabel tsb tapi pada kenyataanya tidak demikian karena pada tabel tsb npm tidak unik. Karena itu tabel universal harus didekomposisi.

15 BCNF (iv) Tabel “mahasiswa” Npm  nama_mhs alamat_mhs tgl_lahir Tabel “kuliah” Kode_kul  nama_kul sks semester Tabel “nilai” Npm kode_kul  indeks_nilai


Download ppt "Normalisasi (bagian III) Lossless-Join Decomposition Dependency Preservation BCNF."

Presentasi serupa


Iklan oleh Google