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 ke dalam tabel yang lebih kecil dengan redudansi yang lebih sedikit. Tabel yang lebih kecil ini akan terkait satu sama lain melalui hubungan yang didefinisikan dengan baik. Dalam database yang dinormalisasi dengan baik, setiap perubahan atau modifikasi dalam data hanya perlu memodifikasi satu tabel tunggal. Bentuk normal pertama (1NF), bentuk normal kedua (2NF) dan bentuk normal ketiga (3NF) diperkenalkan oleh edgar f. Codd, yang juga merupakan penemu model relasional dan konsep normalisasi.
Apa itu 1nf?
1NF adalah bentuk normal pertama, yang menyediakan rangkaian persyaratan minimum untuk menormalkan database relasional. Tabel yang sesuai dengan 1NF memastikan bahwa itu sebenarnya mewakili hubungan (i.e. itu tidak mengandung catatan apa pun yang berulang), tetapi tidak ada definisi yang diterima secara universal untuk 1NF. Salah satu properti penting adalah bahwa tabel yang memenuhi 1NF tidak dapat berisi atribut apa pun yang bernilai relasional (i.e. Semua atribut harus memiliki nilai atom).
Apa itu 2NF?
2NF adalah bentuk normal kedua yang digunakan dalam database relasional. Agar tabel mematuhi 2NF, itu harus dipatuhi dengan 1NF dan atribut apa pun yang bukan bagian dari kunci kandidat apa pun (i.e. Atribut non-Prime) harus sepenuhnya bergantung pada salah satu kunci kandidat dalam tabel.
Apa itu 3NF?
3NF adalah bentuk normal ketiga yang digunakan dalam normalisasi database relasional. Menurut definisi CODD, tabel dikatakan berada di 3NF, jika dan hanya jika, tabel itu dalam bentuk normal kedua (2NF), dan setiap atribut dalam tabel yang bukan milik kunci kandidat, harus secara langsung bergantung pada langsung di setiap kunci kandidat tabel itu. Pada tahun 1982 Carlo Zaniolo menghasilkan definisi yang diekspresikan secara berbeda untuk 3NF. Tabel yang mematuhi 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 redudansi dalam tabel. 3NF dianggap sebagai bentuk normal yang lebih kuat dari 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 pengurapan 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 sesuai dengan 1NF berisi kunci kandidat yang hanya terdiri dari satu atribut (i.e. 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 meningkatkan waktu komputasi. Di sisi lain, tabel yang memenuhi bentuk normal yang lebih kuat akan memiliki lebih sedikit redudansi daripada tabel yang hanya mematuhi bentuk normal yang lebih lemah.