Normalisasi (bagian III)

Slides:



Advertisements
Presentasi serupa
NORMALISASI DATA Basis Data.
Advertisements

SQL (Structured Query Language)
Ketergantungan Fungsional (Functional Dependency)
functional dependencies (FD)
Normalisasi.
Normalisasi Basis Data
Normalisasi Basis Data
ATRIBUT TABEL (TABLE ATTRIBUTE)
NORMALISASI.
NORMALISASI.
Ketergantungan Fungsional (KF)/ Functional Dependency (FD)
NORMALISASI.
Normalisasi Basis Data
SISTEM BASIS DATA STMIK – AUB SURAKARTA
Normalisasi Mardhiya Hayaty, ST.
KETERGANTUNGAN (DEPENDENCY)
Mentari Puji Lestari TI 2B D3
Sistem Basis Data Redudancy Anomali.
ATRIBUT TABEL Materi Pertemuan ke-4
Sistem Basis Data Dependency Teknik Normalisasi.
Perancangan Data Base Relasi
BASIS DATA 11 NORMALISASI Bentuk 1NF s/d 3NF 1.
Normalisasi (bagian I)
Sistem Basis Data Renni Angreni, M.Kom.
UNIVERSUTAS NEGERI MAKASSAR
BASIS DATA 8 KETERGANTUNGAN (Dependency) 1.
NORMALISASI BASIS DATA
Normalisasi Basis Data
Rizka Hadiwiyanti, S.Kom, M.Kom
Analisa & Perancangan Sistem Informasi
FUNCTIONAL DEPENDENCY (NORMALISASI)
Basis Data dan SBP Disusun Oleh : Lily Wulandari.
NORMALISASI.

NORMALISASI.
NORMALISASI.
PERANCANGAN BASIS DATA
Normalization (Part 1).
Basis Data.
NORMALISASI DATA Basis Data.
Normalisasi Basis Data
Normalisasi.
NORMALISASI KUSRINI.
NORMALISASI.
BASIS DATA 11 NORMALISASI Bentuk 1NF s/d 3NF 1.
Basis Data 1 Rudi Hartono, S.E, M.Kom.
PERTEMUAN 2 NORMALISASI
DESAIN DATABASE DAN NORMALISASI
Matakuliah : Sistem Basisdata Versi Materi
Matakuliah : Sistem Basisdata Versi Materi
Normalisasi.
ISTILAH-ISTILAH DALAM NORMALISASI
Normalisasi.
PERTEMUAN KE-11 NORMALISASI DATA (I).
NORMALISASI KUSRINI, M.KOM.
Lossless Join Decomposition
Normalisasi Basis Data
Pertemuan ke-13 Normalisasi Betha Nurina Sari.
Normalisasi.
Perancangan Data Base Relasi
NORMALISASI DATA Gede Aditra Pradnyana, S.Kom., M.Kom.
DESAIN DATABASE DAN NORMALISASI
Normalisasi Basis Data
NORMALISASI.
Oleh : Oman Somantri, S.Kom
Normalisasi.
KETERGANTUNGAN (DEPENDENCY)
Normalisasi Didi Supriyadi, S.T., M.Kom Pertemuan ke-7
ENTOT SUHARTONO, SKOM, MKOM
NORMALISASI DATABASE Achmad fitro, M.Kom.
Transcript presentasi:

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

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

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.

Kelemahan Mendasar (ii) Tersembunyinya informasi tertentu Ada data yang tidak terlihat misalnya data mahasiswa dengan NPM ‘2001.25.002’ 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.

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)

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 A B C A1 100 C1 A2 200 C2 A3 300 C3 A4 C4

Lossless-Join Decomposition A B A1 100 A2 200 A3 300 A4 A B C A1 100 C1 A2 200 C2 A3 300 C3 A4 C4 B C 100 C1 200 C2 300 C3 C4

Lossless-Join Decomposition A B A1 100 A2 200 A3 300 A4 A B C A1 100 C1 A2 200 C2 C4 A3 300 C3 A4 B C 100 C1 200 C2 300 C3 C4 A4 – 200 – C2

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 = ‘2001.25.001’ maka perubahan ini harus kita lakukan pada atribut alamat_mhs di semua row yang nilai atribut npm-nya bernilai ‘2001.25.001’. Hal ini menjadi tidak efisien.

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

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

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

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.

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.

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