Gaya Hidup

3NF dan BCNF apakah mereka sama?

Pengantar 3NF dan BCNF

Normalisasi merupakan proses yang dilakukan untuk meminimalkan redudansi yang ada pada data dalam basis data relasional.

Proses ini terutama akan membagi tabel besar menjadi tabel yang lebih kecil dengan redudansi yang lebih sedikit.

Tabel yang lebih kecil ini akan saling terkait melalui hubungan yang terdefinisi dengan baik.

Dalam database yang dinormalisasi dengan baik, setiap perubahan atau modifikasi dalam data hanya memerlukan modifikasi satu tabel.

Bentuk Normal Ketiga (3NF) diperkenalkan pada tahun 1971 oleh Edgar F.

Codd, yang juga penemu model relasional dan konsep normalisasi.

Bentuk Normal Boyce-Codd (BCNF) diperkenalkan pada tahun 1974 oleh Codd dan Raymond F.

Boyce.

Apa itu 3NF?

3NF adalah bentuk normal ketiga yang digunakan dalam normalisasi basis data 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 secara langsung bergantung pada setiap kunci kandidat dari tabel itu.

Pada tahun 1982 Carlo Zaniolo menghasilkan definisi yang berbeda untuk 3NF.

Tabel yang memenuhi 3NF umumnya tidak mengandung anomali yang terjadi saat memasukkan, menghapus, atau memperbarui record 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 dalam BCNF, jika dan hanya jika, untuk setiap dependensi bentuk A → B yang non-trivial, A adalah super-key.

Mengurai 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 redudansi dalam tabel.

Dalam tabel yang berada dalam bentuk normal BCNF, untuk setiap dependensi fungsional non-sepele dari bentuk A → B, A adalah kunci super, sedangkan tabel yang memenuhi 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.

Memperoleh 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.

Hal ini akan menambah waktu komputasi.

Di sisi lain, tabel yang memenuhi BCNF akan memiliki lebih sedikit redudansi daripada tabel yang hanya memenuhi 3NF.

Selain itu, sebagian besar waktu, dimungkinkan untuk mendapatkan tabel yang sesuai dengan 3NF tanpa menghalangi pelestarian ketergantungan dan penggabungan tanpa kerugian.

Tapi ini tidak selalu memungkinkan dengan BCNF.