Normalisasi Database

Normalisasi database dilakukan karena adanya redundancy data. Oleh karena itu dilakukan normalisasi untuk meminimalkan ukuran penyimpanan dan meminimalkan resiko inkosistensi data. Jika table pada database mengalami redundancy maka secara otomatis mengakibatkan pemborosan tempat, mempersulit proses updating data dan terjadinya inkosistensi data. Redundancy bisa terjadi karena adanya fakta yang sama atau fakta turunan . perlu di ingat bahwa redundancy tidak sama dengan duplicaty.
Di dalam proses redundancy terdapat sebuah proses anomaly atau keanehan yakni sebuah masalah yang timbul dalam relasi ketika terjadi operasi mutakhir dalam relasi. Proses pencegahan anomaly adalah menghapus redundancy data. Jenis anomaly terdiri dari anomaly penyisipan, pengubahan dan penghapusan.

Pada redundancy dapat di lakukan dengan 2 cara, yakni :
1. Dekomposisi (memecahkan table menjadi beberapa table) untuk fakta yang sama
2. Dihilangkan fakta turunan untuk fakta turunan

Proses normalisasi dilakukan dengan cara :
1NF (1 Normal Form)
Sebelum proses 1NF kita harus mengetahui syarat sebuah table dinyatakan bentuk normal yakni kunci relasi dan ketergantuangan antara atribut relasi. Pada 1NF syaratnya yakni : jika harga-harga dari suatu domain adalah nilai atomic. Jika nilai atribut sederhana bukan atribut komposit (dengan kata lain atribut harus bersifat single value). Jika bentuk 1NF masih ada redundancy maka proses menjadi bentuk 2NF.

Property dekomposisi :
– Jangan sampai memunculkan atribut yang baru atau menghilangkan atribut yang ditemukan di skema relasi asal.
– Jangan memunculkan ketergantungan fungsional baru.

2NF (2 Normal Form)
Syaratnya : sudah dalam bentuk 1NF, semua atribut bukan utama harus bergantung fungsional penuh pada kunci relasi.
Contoh : id_pekerja, id_proyek, dana_proyek, watu_proyek
Dimana kunci utama tau primary key adalah id_pekerja dan id_proyek. Jadi waktu_proyek bergantung pada kedua kunci tersebut. Akan tetapi pada dana_proyek dia hanya bergantung pada id_proyek saja. Dengan demikian dana_proyek bergantung partial maka harus didekomposisi edngan cara memisahkan menjadi 2 tabel yakni :
– Id_pekerja, id_proyek, waktu_proyek untuk table pertama
– Id_proyek , dana_proyek untuk table kedua
Pada bentuk 2NF memiliki hal yang special jika suatu relasi atau table terdapat satu primary key, so pasti table terbut merupakan bentuk normalisasi 2NF, jadi tidak perlu di analisa lebih jauh.

3NF (3 normal Form)
Syaratnya : harus sudah dalam bentuk 2NF, relasi tidak boleh memuat ketergantungan fungsional antara atribut bukan utama. Jadi dia tidak hanya bergantung pada primary ked an field lain.
Contoh : X  Y  Z seperti id_proyek, manager, tgl_lahir
Jadi terdapat keterhubungan transitif. Tgl_lahir bergantung ke manager, manager bergantung ke id_proyek, otomatis tgl_lahir bergantung ke id_proyek.
Cara mendekomposisi melalui bentuk 3nf yakni :
– Id_proyek ,manager_proyek merupakan table pertama
– Manager, tgl_lahir merupakan table kedua
Pada bentuk 3NF memiliki hal yang special jika ada table yang memiliki 1 filed bukan primary key dan bergantung pada primarykeynya, so pasti itu merupakan bentuk normalisasi 3NF

BCNF (Boyce Codd Normal Form)
Syaratnya : harus sudah bentuk 1NF, 2NF, 3NF dan relasi pada BCNF yaitu mengoptimalkan jika setiap determinan antara atribut-atribut relasi adalah kunci relasi.

2 thoughts on “Normalisasi Database

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s