Normalisasi Database
Pengertian Normalisasi Database
Normalisasi database adalah proses pengelompokan atribut data yang membentuk entitas sederhana, nonredundant, fleksibel, dan mudah beradaptasi. Sehingga dapat dipastikan bahwa database yang dibuat berkualitas baik.
Tujuan Normalisasi Database
Tujuan utama dari normalisasi database adalah:
- Menghilangkan dan mengurangi redudansi data.
- Memastikan dependensi data (data berada pada tabel yang tepat).
Database Seperti Apa Yang Bisa Dinormalisasi?
Tidak semua database bisa dinormalisasi, hanya tipe “relational database” yang bisa dinormalisasi. Banyak vendor DBMS (Database Management System) diantaranya Oracle, MySQL, SQL Server, PostgreSQL, dll.
Bagaimana Cara Melakukan Normalisasi Database?
Untuk melakukan normalisasi database kita harus mengidentifikasi data seperti apa yang akan disimpan. Sebagai contoh saya punya data dari struk penjualan. Saya ambil contoh data struk penjualan karena data ini yang paling umum di sekitar kita.
Contoh data di atas merupakan data yang belum dinormalisasi, selanjutnya menuju tahap normalisasi 1NF.
1NF
Suatu tabel dikatakan 1NF jika dan hanya jika setiap atribut dari data tersebut hanya memiliki nilai tunggal dalam satu baris.
Jadi, tabel yang belum dinormalisasi tadi perlu diubah, sehingga bentuk 1NF menjadi seperti ini:
Inti dari normalisasi 1NF adalah tidak boleh ada grouping data ataupun duplikasi data. Sekarang lanjut pada tahap normalisasi 2NF.
2NF
Syarat 2NF adalah tidak diperkenankan adanya partial “functional dependency” kepada primary key dalam sebuah tabel.
Apa itu “functional dependency”?
Functional dependency adalah setiap atribut yang bukan kunci (non key) bergantung secara fungsional terhadap primary key.
Intinya adalah pada tahap normalisasi 2NF ini tabel tersebut harus dipecah berdasarkan primary key. Sehingga bentuk normalisasi 2NF dari tabel tersebut adalah sebagai berikut:
3NF
Pada 3NF tidak diperkenankan adanya partial “transitive dependency” dalam sebuah tabel.
Apa itu “transitive dependency”? Transitive dependency biasanya terjadi pada tabel hasil relasi, atau kondisi dimana terdapat tiga atribut A, B, C. Kondisinya adalah A ⇒ B dan B ⇒ C. Maka C dikatakan sebagai transitive dependency terhadap A melalui B.
Contohnya ada pada atribut qty, kolom tersebut tidak bergantung langsung pada primary key kode_faktur melainkan bergantung pada kolom kode_barang. Jadi setelah dinormalisasi 3NF akan menghasilkan tabel berikut:

Komentar
Posting Komentar