Normalisasi Basis Data
Dalam
perancangan sebuah basis data perlu dilakukan secara cermat agar
dihasilkan basis data yang kompak dan efisien dalam penggunaan ruang
penyimpanan, cepat dalam pengaksesan dan mudah dalam manipulasi data.
Salah satu cara yang dapat dilakukan dalam merancang basis data seperti
ini adalah dengan melakukan normalisasi.
Normalisasi adalah proses penyusunan tabel-tabel yantg tidak redundan (dobel), yang dapat
menyebabkan anomali pada saat terjadi operasi manipulasi data seperti
tambah, ubah dan hapus. Anomali yaitu proses basis data yang memberikan
efek samping yang tidak diharapkan (misalnya menyebabkan
ketidakkonsistenan data atau membuat sesuatu data menjadi hilang ketika
data lain dihapus). Sebuah tabel dapat dikategorikan efisien atau normal
jika telajh memenuhi tiga kriteria, yaitu :
- Jika ada dekomposisi tabel dimana dekomposisinya dijamin aman (Lossless Join Decompotition). Dekomposisi adalah proses pemisahan satu tabel menjadi dua atau lebih tabel baru.
- Trepeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
- Tidak melanggar Boyce-Codd Normal Form (BCNF).
Tahap-tahap normalisasi :
1. Membawa suatu relasi tak ternormalisasi ke bentuk
normal kesatu (1NF) dengan cara menghapus semua pegulangan group dan
mungkin diperlukan pemecahan relasi menjadi 2 atau lebih. Pada langkah
ini diperlukan pula penentuan kunci primer (primary key). Suatu relasi
dikatakan berada dalam bentuk normal kesatu (1NF) bila tidak terjadi
pengulangan group atau semua data bersifat atomic
2. Menghilangkan ketergantungan parsial atribut
yaitu merubah/memecah relasi sehingga semua atribut bergantung fungsi
kepada kunci primer. Ini disebut bentuk normal kedua (2NF).
Dari tabel1 dapat dilihat bahwa terdapat lebih dari satu
ketergantungan fungsional terhadap kunci primernya, yaitu atribut
indeks_nilai yang bergantung penuh kepada atribut kode-kul dan nim
sebagai kunci primernya, sedangkan atribut nama-mhs juga bergantung
penuh terhadap atribut nim (padahal atribut nim hanya bagian dari kunci
primer), jadi tabel1 dikatakan tidak memenuhi syarat 2NF. Pada tabel 2,
tabel1 dipecah menjadi 2 tabel sehingga bentuknya menjadi 2NF.
3. Mengeliminasi ketergantungan transitif yaitu
merubah/memecah sebagai relasi sehingga semua atribut yang bukan kunci
tergantung fungsi secara penuh kepada kunci primer/tidak ada
ketergantungan parsial yaitu ketergantungan atribut kepada atribut yang
bukan kunci. Ini disebut bentuk normal ketiga (3NF).
Pada tabel1 alamat mahasiswa di pecah
menjadi beberapa atribut yaitu alamat_jalan, nama_kota dan kode_pos dan
pada tabel ini yang bertindak sebagai kunci primernya adalah nim, tetapi
pada tabel1 ini ada atribut lain yang bukan kunci primer yang saling
tergantung yaitu atribut nama_kota bergantung pada atribut kode pos,
sehingga tabel1 dikatakan tidak normal karena tidak memenuhi bentuk 3NF.
Agar tabel1 dapat dikatakan bentuk normal maka tabel1 dipecah menjadi 2
tabel yang terlihat pada tabel2, atribut nama dan atribut alamat_jalan
bergantung dengan kunci primernya yaitu atribut nim, sedangkan pada
tabel selanjutnya atribut nama_kota bergantung kepada kunci primernya
yaitu atribut kode_pos.





