1NF vs 2NF vs 3NF
Normalisasi adalah proses yang dilakukan untuk meminimalkan redudansi yang ada dalam data dalam database relasional. Proses ini terutama akan membagi tabel besar menjadi tabel yang lebih kecil dengan redundansi yang lebih sedikit. Tabel yang lebih kecil ini akan saling terkait satu sama lain melalui hubungan yang didefinisikan dengan baik. Dalam database yang dinormalisasi dengan baik, setiap perubahan atau modifikasi dalam data akan membutuhkan hanya memodifikasi satu tabel. Bentuk normal pertama (1NF), bentuk normal kedua (2NF) dan Bentuk Normal Ketiga (3NF) diperkenalkan oleh Edgar F. Codd, yang juga penemu model relasional dan konsep normalisasi.
Apa itu 1NF?
1NF adalah bentuk normal pertama, yang menyediakan sekumpulan persyaratan minimum untuk menormalkan database relasional. Tabel yang sesuai dengan 1NF memastikan bahwa itu benar-benar mewakili suatu relasi (yaitu tidak memuat catatan yang berulang), tetapi tidak ada definisi yang diterima secara universal untuk 1NF. Salah satu properti penting adalah bahwa tabel yang mematuhi 1NF tidak dapat berisi atribut apa pun yang dinilai bernilai relasional (mis. Semua atribut harus memiliki nilai atom).
Apa itu 2NF?
2NF adalah bentuk normal kedua yang digunakan dalam database relasional. Agar sebuah tabel mematuhi 2NF, tabel tersebut harus dipenuhi dengan 1NF dan atribut apa pun yang bukan merupakan bagian dari kunci kandidat (mis. Atribut non-prima) harus sepenuhnya bergantung pada salah satu kunci kandidat dalam tabel tersebut.
Apa itu 3NF?
3NF adalah bentuk normal ketiga yang digunakan dalam normalisasi database relasional. Menurut definisi Codd, sebuah tabel dikatakan berada dalam 3NF, jika dan hanya jika, tabel itu berada dalam bentuk normal kedua (2NF), dan setiap atribut dalam tabel yang bukan milik kunci kandidat, harus langsung bergantung pada pada setiap kunci kandidat dari tabel itu. Pada tahun 1982 Carlo Zaniolo menghasilkan definisi yang dinyatakan berbeda untuk 3NF. Tabel yang sesuai dengan 3NF umumnya tidak mengandung anomali yang terjadi saat memasukkan, menghapus, atau memperbarui catatan dalam tabel.
Apa perbedaan antara 1NF dan 2NF dan 3NF?
1NF, 2NF dan 3NF adalah bentuk normal yang digunakan dalam database relasional untuk meminimalkan redundansi dalam tabel. 3NF dianggap sebagai bentuk normal yang lebih kuat daripada 2NF, dan dianggap sebagai bentuk normal yang lebih kuat dari 1NF. Oleh karena itu secara umum, mendapatkan tabel yang sesuai dengan formulir 3NF akan membutuhkan penguraian tabel yang ada di 2NF. Demikian pula, mendapatkan tabel yang sesuai dengan 2NF akan membutuhkan penguraian tabel yang ada di 1NF. Namun, jika tabel yang mematuhi 1NF berisi kunci kandidat yang hanya terdiri dari atribut tunggal (mis. Kunci kandidat non-komposit), tabel seperti itu akan secara otomatis mematuhi 2NF. Dekomposisi tabel akan menghasilkan operasi gabungan tambahan (atau produk Cartesian) saat menjalankan kueri. Ini akan menambah waktu komputasi. Di sisi lain, tabel yang mematuhi formulir normal yang lebih kuat akan memiliki lebih banyak redundansi daripada tabel yang hanya mematuhi formulir normal yang lebih lemah.