Perbedaan Antara 3NF dan BCNF

Perbedaan Antara 3NF dan BCNF
Perbedaan Antara 3NF dan BCNF

Video: Perbedaan Antara 3NF dan BCNF

Video: Perbedaan Antara 3NF dan BCNF
Video: METODE WATERFALL DALAM PENGEMBANGAN PERANGKAT LUNAK 2024, November
Anonim

3NF vs BCNF

Normalization adalah proses yang dilakukan untuk meminimalkan redundansi 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 terkait satu sama lain melalui hubungan yang terdefinisi dengan baik. Dalam database yang dinormalisasi dengan baik, setiap perubahan atau modifikasi dalam data akan memerlukan modifikasi hanya 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 basis data relasional. Menurut definisi Codd, sebuah tabel dikatakan berada dalam 3NF, jika dan hanya jika, tabel tersebut berada dalam bentuk normal kedua (2NF), dan setiap atribut dalam tabel yang bukan merupakan 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 sesuai dengan 3NF umumnya tidak mengandung anomali yang terjadi saat menyisipkan, 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 nontrivial, A adalah super-key. Mendekomposisi 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 sebuah tabel yang berada dalam bentuk normal BCNF, untuk setiap ketergantungan fungsional non-trivial dari bentuk A → B, A adalah super-key sedangkan, sebuah tabel yang memenuhi 3NF harus berada 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. Untuk mendapatkan tabel yang sesuai dengan formulir BCNF akan membutuhkan dekomposisi tabel yang ada di 3NF. Dekomposisi ini akan menghasilkan operasi gabungan tambahan (atau produk Cartesian) saat menjalankan kueri. Ini akan meningkatkan waktu komputasi. Di sisi lain, tabel yang mematuhi BCNF akan memiliki redundansi lebih sedikit daripada tabel yang hanya mematuhi 3NF. Selain itu, sebagian besar waktu, dimungkinkan untuk mendapatkan tabel yang sesuai dengan 3NF tanpa menghalangi pelestarian ketergantungan dan penggabungan lossless. Tapi ini tidak selalu mungkin dengan BCNF.

Direkomendasikan: