- Pengertian
Normalisasi database adalah proses mengorganisasikan dan menyusun data dalam database menjadi beberapa tabel yang saling berhubungan berdasarkan aturan tertentu. Tujuannya adalah mengurangi pengulangan data (redundansi), mencegah terjadinya ketidakkonsistenan data, serta membuat database lebih mudah dikelola.
Dalam database yang belum dinormalisasi, satu tabel dapat berisi banyak jenis informasi sekaligus. Contohnya, data peminjaman barang dapat menyimpan informasi pengguna, barang, dan transaksi dalam satu tabel. Jika satu pengguna meminjam beberapa barang, informasi pengguna akan ditulis berulang kali. Dengan normalisasi, data tersebut dipisahkan menjadi tabel-tabel yang sesuai dengan fungsi dan hubungannya.
Sederhana nya, normalisasi dapat dipahami sebagai proses memecah tabel yang terlalu besar menjadi beberapa tabel yang lebih terstruktur tanpa kehilangan hubungan antar-data.
2. Tujuan Normalisasi
Normalisasi dilakukan untuk beberapa tujuan, yaitu:
- Mengurangi redundansi data.
- Menghindari inkonsistensi data.
- Menghindari anomali data.
- Mempermudah pemeliharaan database.
- Membuat hubungan antar-tabel lebih jelas.
- Mengurangi kemungkinan kesalahan saat mengolah data.
3. Jenis - Jenis Normalisasi
Normalisasi database terdiri dari beberapa tingkat atau normal form. Yang paling umum dipelajari adalah:
- 1NF (First Normal Form).
- 2NF (Second Normal Form).
- 3NF (Third Normal Form).
- BCNF (Boyce-Codd Normal Form).
- 4NF (Fourth Normal Form).
- 5NF (Fifth Normal Form).
Namun, dalam pembelajaran database dasar, biasanya proses normalisasi difokuskan sampai 3NF.
4. First Normal Form (1NF)
1NF atau First Normal Form adalah tahap normalisasi yang memastikan setiap kolom dalam tabel memiliki nilai yang atomik, yaitu satu kolom hanya berisi satu nilai untuk setiap baris.
Dengan kata lain, sebuah tabel dikatakan memenuhi 1NF apabila:
- Setiap kolom hanya memiliki satu jenis nilai pada setiap baris.
- Tidak terdapat data yang berisi beberapa nilai dalam satu kolom.
- Tidak terdapat kelompok data yang berulang (repeating group).
- Setiap baris dapat diidentifikasi secara unik menggunakan primary key.
Contoh tabel yang belum 1NF
d
w
r
t