PERTEMUAN KE-11 NORMALISASI DATA (I)
Konsep Dasar Normalisasi adalah bagian dari perancangan basis data. Tanpa normalisasi, sistem basis data menjadi tidak akurat, lambat, tidak efisien, serta tidak memberikan data yang diharapkan. Pada waktu menormalisasi basis data, ada empat tujuan yang harus dicapai yaitu : Mengatur data dalam kelompok-kelompok sehingga masing-masing kelompok hanya menangani bagian kecil sistem. Meminimalkan data berulang dalam basis data. Membuat basis data yang datanya diakses dan dimanipulasi secara cepat dan efisien tanpa melupakan integritas data. Mengatur data sedemikian rupa sehingga ketika memodifikasi data, Anda hanya mengubah pada satu tempat. Jadi Tujuan Normalisasi adalah membuat kumpulan tabel relasional yang bebas dari data berulang dan dapat dimodifikasi secara benar dan konsisten. Ini berari bahwa semua tabel dalam basis data relasional harus berada dalam bentuk normal ketiga (3NF).
Aturan Normalisasi Hilangkan kelompok berulang – buat tabel terpisah untuk setiap himpunan atribut yang berhubungan dan tentukan kunci utama pada masing-masing tabel. Hilangkan data berulang – jika sebuah atribut hanya tergantung pada sebagian kunci utama gabungan, pindahkan atribut ke tabel lain. Hilangkan kolom yang tidak tergantung pada kunci – jika atribut tidak tergantung pada kunci, pindahkan atribut ke tabel lain. Pisahkan relasi majemuk – tidak ada tabel yang bisa mengandung dua atau lebih relasi 1:n atau n:m yang tidak berhubungan langsung. Pisahkan relasi majemuk yang berhubungan secara semantik – ada batasan pada informasi yang memperbolehkan pemisahan relasi many-to-many yang berhubungan secara logis. Bentuk normal optimal – sebuah model hanya dibatasi oleh fakta sederhana. Bentuk normal domain-key – sebuah model harus terbebas dari semua anomali.
Normalisasi dengan Ketergantungan Fungsional Sebuah tabel dapat dikategorikan efisien atau normal, jika telah memenuhi 3 (tiga) kriteria berikut : Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Terpeliharanya ketergantungan Fungsional pada saat perubahan data (Dependency Preservation). Tidak melanggar Boyce-Code Normal Form (BCNF). Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak, tabel tersebut tidak melanggar Bentuk Normal tahap Ketiga (3rd Normal Form/3NF).
Tabel Universal Hasil Rangkuman Data Mahasiswa, Kuliah, Dosen, Nilai dan Jadwal.
Normalisasi dengan Ketergantungan Fungsional 3 kelemahan mendasar yang dapat dilihat : Pengulangan Informasi misalnya pada atribut nama_mhs, alamat_mhs, dan tgl_lahir yang di nyatakan berulang-ulang sesuai dengan data untuk atribut nim-nya. Begitu juga dengan atribut nama_kul, tempat, waktu, dan seterusnya. Potensi inkonsistensi data pada operasi pengubahan misalnya, jika ada perubahan pada nama_mhs, dimana perubahan ini harus dijalarkan ke seluruh baris data pada tabel tersebut untuk nim yang sama. Jika tidak dilakukan perubahan maka akan terjadi inkonsistensi pada data.
Normalisasi dengan Ketergantungan Fungsional 3 kelemahan mendasar yang dapat dilihat : Tersembunyinya informasi tertentu Diketahui ada 4 mahasiswa, tetapi ditabel hanya tercantum 3 mhs, karena kebetulan mhs dengan nim=980003 sedang cuti. Tabel tidak dapat merepresentasikan adanya mata kuliah yang belum diselenggarakan karena belum ada mhs yg mengambilnya.
Bentuk Normalisasi Ada lima bentuk normalisasi yang dapat dipelajari. Bentuk Normal Tahap Pertama (1st Normal Form / 1NF) Bentuk Normal Tahap Kedua (2nd Normal Form) Bentuk Normal Tahap Ketiga (3rd Normal Form /3NF) Bentuk Normal Tahap Keempat (4th Normal Form /4NF) Bentuk Normal Tahap Kelima (5th Normal Form /5NF) Biasanya hanya tahapan normalisasi yang diterapkan pada prakteknya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik.