Perbedaan Antara 3NF dan BCNF

3NF vs BCNF

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 memerlukan hanya memodifikasi satu tabel. Bentuk Normal Ketiga (3NF) diperkenalkan pada tahun 1971 oleh Edgar F. Codd, yang juga penemu model relasional dan konsep normalisasi. Boyce-Codd Normal Form (BCNF) diperkenalkan pada tahun 1974 oleh Codd dan Raymond F. Boyce.

Apa itu 3NF?

3NF adalah bentuk normal ketiga yang digunakan dalam normalisasi database relasional. Menurut definisi Codd, sebuah tabel dikatakan 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 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 itu BCNF??

BCNF (juga dikenal sebagai 3.5NF) adalah bentuk normal lain yang digunakan dalam normalisasi basis data relasional. Itu diperkenalkan untuk menangkap beberapa anomali yang tidak ditangani oleh 3NF. Sebuah tabel dikatakan berada dalam BCNF, jika dan hanya jika, untuk setiap dependensi dari bentuk A → B yang non-sepele, A adalah super-key. Menguraikan tabel yang tidak dalam bentuk normal BCNF tidak menjamin produksi tabel dalam bentuk BCNF (sambil mempertahankan dependensi yang ada di tabel asli).

Apa perbedaan antara 3NF dan BCNF?

Baik 3NF dan BCNF adalah bentuk normal yang digunakan dalam database relasional untuk meminimalkan redundansi dalam tabel. Dalam tabel yang berada dalam bentuk normal BCNF, untuk setiap ketergantungan fungsional non-sepele dari bentuk A → B, A adalah kunci super sedangkan, tabel yang sesuai dengan 3NF harus dalam 2NF, dan setiap non-prima atribut harus secara langsung bergantung pada setiap kunci kandidat dari tabel itu. BCNF dianggap sebagai bentuk normal yang lebih kuat daripada 3NF dan dikembangkan untuk menangkap beberapa anomali yang tidak dapat ditangkap oleh 3NF. Mendapatkan tabel yang sesuai dengan formulir BCNF akan membutuhkan penguraian tabel yang ada di 3NF. Dekomposisi ini akan menghasilkan operasi gabungan tambahan (atau produk Cartesian) saat menjalankan kueri. Ini akan menambah waktu komputasi. Di sisi lain, tabel yang mematuhi BCNF akan memiliki lebih banyak redundansi daripada tabel yang hanya mematuhi 3NF. Selain itu, sebagian besar waktu, adalah mungkin untuk mendapatkan tabel yang sesuai dengan 3NF tanpa menghalangi pelestarian ketergantungan dan bergabung tanpa kerugian. Tetapi ini tidak selalu memungkinkan dengan BCNF.