Normalisasi Database
Apa itu normalisasi database?
Normalisasi merupakan sebuah teknik logical desain dalam sebuah basis data yang mengelompokkan atribut dari berbagai entitas dalam suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi/pengulangan data) serta sebagian besar ambiguity bisa dihilangkan. Atau pengertian singkatnya, Normalisasi Databse adalah proses pengelompokan atribut data yang membentuk entitas sederhana, nonredundan, fleksibel, dan mudah beradaptasi, Sehingga dapat dipastikan bahwa database yang dibuat berkualitas baik. Normalisasi database terdiri dari banyak bentuk, dalam ilmu basis data ada setidaknya 9 bentuk normalisasi yang ada yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF.
Normalisasi database biasanya jarang dilakukan dalam database skala kecil, dan dianggap tidak diperlukan pada penggunaan personal. Namun seiring dengan berkembangnya informasi yang dikandung dalam sebuah database, proses normalisasi akan sangat membantu dalam menghemat ruang yang digunakan oleh setiap tabel di dalamnya, sekaligus mempercepat proses permintaan data.
Tujuan normalisasi database adalah untuk mengurangi pengulangan data, memastikan data berada di posisi yang tepat, tidak adanya sejumlah data yang masuk ke database, adanya penghapusan data yang tidak sesuai dan data yang diubah tidak sesuai keinginan.
Ada beberapa tahapan normalisasi database yang perlu dilakukan agar hasilnya sesuai dan baik, yaitu:
- Unnormalized Form (UNF). UNF adalah bentuk data yang tidak normal karena adanya pengulangan grup pada data, sehingga menjadi masalah saat akan manipulasi data.
- First Normal Form (1NF). 1NF adalah bentuk normalisasi untuk mengelompokkan beberapa data sejenis untuk mengatasi masalah anomali. Sebuah model data dikatakan memenuhi bentuk normal pertama apabila setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai. Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri.
- Second Normal Form (2NF). 2NF adalah bentuk kedua yang melakukan dekomposisi tabel untuk mencari kunci primer dari setiap tabel. Sebuah model data dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut non-identifier sebuah entitas bergantung sepenuhnya hanya pada semua identifier entitas tersebut.
- Third Normal Form (3NF). 3NF adalah bentuk normalisasi data yang tidak boleh ada atribut yang bergantung pada field lain dan bukan pada kunci primer, sehingga atribut itu harus dipisah ke tabel baru. Sebuah model data dikatakan memenuhi bentuk normal ketiga apabila ia memenuhi bentuk normal kedua dan tidak ada satupun atribut non-identifying (bukan pengidentifikasi unik) yang bergantung pada atribut non-identifying lain. Apabila ada, pisahkan salah satu atribut tersebut menjadi entitas baru, dan atribut yang bergantung padanya menjadi atribut entitas baru tersebut.
- Code Normal Form (BCNF). BCNF adalah bentuk normalisasi yang bertujuan untuk mengatasi anomali dan over looping yang tidak bisa diatasi dalam bentuk 3NF.
- Fifth Normal Form (5NF). 5NF adalah tahapan untuk mengatasi terjadinya joint dependent sehingga terjadi pemecahan relasi menjadi dua.
Berikut adalah cara melakukan normalisasi database 1NF, 2NF, dan 3NF:
- Bentuk tidak normal (unnormalize)
Bentuk tidak normal (unnormalized) merupakan kumpulan data yang direkam tidak ada keharusan dengan mengikuti suatu format tertentu.

2. Normal Pertama (1 NF)
Berikut perubahannya:
3. Normal Kedua (2 NF)
Berikut perubahannya:
Dalam relational database tidak diperkenankan adanya repeating group karena dapat berdampak terjadinya anomali. Oleh karena itu tahap unnormal akan menghasilkan bentuk normal tahap pertama (1 NF) yang dapat di definisikan sebagai berikut:
Normal pertama (1 NF), suatu relasi atau tabel memenuhi normal pertama jika dan hanya jika setiap setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dalam satu baris (record). Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti ganda dan tidak ada set atribut yang berulang-ulang atau atribut bernilai ganda.
Pada data tabel sebelumnya data belum normal sehingga harus diubah kedalam bentuk normal pertama dengan cara membuat baris berisi kolom jumlah yang sama dan setiap kolom hanya mengandung satu nilai.
Bentuk normalisasi pertama (1 NF) ini mempunyai ciri yaitu setiap data dibentuk file datar atau rata (flat file), data dibentuk dalam satu record demi satu record dan nilai-nilai dari field-field berupa nilai yang tidak dapat dibagi-bagi lagi.
3. Normal Kedua (2 NF)
Dalam perancangan database relational tidak diperkenankan adalah partial functional dependency kepada primary key, karena dapat berdampak terjadinya anomali.
Oleh karena itu tahap normalisasi pertama akan menghasilkan bentuk normal kedua (2NF) yang dapat didefinisikan sebagai berikut:
Normalisasi kedua (2 NF), suatu relasi memenuhi relasi kedua jika dan hanya jika relasi tersebut memenuhi normal pertama dan setiap atribut yang bukan kunci (non key) bergantung secara fungsional terhadap kunci utama (Primary key).
Bentuk normal kedua ini mempunyai syarat yaitu bentuk data yang telah memenuhi kriteria bentuk normal pertama.
4. Normal Ketiga (3 NF)
Berikut perubahannya:
Dalam perancangan database relational tidak diperkenankan adanya transitive dependency karena dapat berdampak terjadinya anomali.
Oleh karena itu harus dilakukan normalisasi tahap ketiga (3 NF) yang dapat didefinisikan sebagai berikut:
Normalisasi ketiga (3 NF), suatu relasi memenuhi normal ketiga jika dan hanya jika relasi tersebut memenuhi normal kedua dan setiap atribut bukan kunci (non key) tidak mempunyai transitive functional dependency kepada kunci utama (primary key).



Komentar
Posting Komentar