Minggu, 21 April 2013

Normalisasi x Denormalisasi



Normalisasi
Sebuah upaya untuk memperoleh sebuah basis data dengan struktur yang baik (ruang penyimpanan yang efisien) dengan cara menerapkan sejumlah aturan (bentuk normal) pada setiap tabel yang menjadi anggota basis data tersebut.

Tujuan Normalisasi
Agar data yang ada tidak redundan dan memiliki data integrity yang kuat sehingga ketika kita melakukan relasi antara tabel akan dengan mudah kita menjaga data integrity dan mendapatkan datanya.


Permasalahan dalam Normalisasi
Redundansi data (ruang penyimpanan)
Anomalies (penyimpangan dalam proses modifikasi data)
oInsert Anomalies
oUpdate Anomalies
oDelete Anomalies

Redundansi Data

Insert Anomalies


Update Anomalies

Delete Anomalies


Denormalisasi
Pelanggaran Normalisasi basis data disebut dengan Denormalisasi.
Satu-satunya alasan mengapa kita boleh melakukan denormalisasi adalah pertimbangan performansi.
Jika performansi yang kita peroleh bisa menjadi jauh lebih baik, maka normalisasi yang telah dilakukan cukup beralasan untuk dilanggar.




Normalisasi vs Denormalisasi
Normalisasi akan meningkatkan data integrity tetapi juga akan meningkatkan query complexity.
Denormalisasi akan mengurangi data integrity dan juga akan mengurangi query complexity

Pada basis data relational, redundansi tidak bisa dihilangkan sama sekali khususnya redundansi pada atribut-atribut yang berfungsi sebagai key primer.
Karena dengan inilah keterhubungan antara tabel satu dengan yang lain dapat terakomodasi.

Akan tetapi redundansi juga harus diminimalisir karena berpotensi mengganggu integritas basis data.
Khususnya pada saat terjadi operasi perubahan data yang tidak dijalarkan ke tabel-tabel lain yang berhubungan.