Cara Membedakan 3NF dan BCNF

Perbedaan yang menonjol antara 3NF dan BCNF adalah tabel harus dalam bentuk normal ke-2 dan tidak boleh ada dependensi transitif untuk memenuhi 3NF sedangkan atribut utama tabel tidak boleh bergantung pada atribut non-prima dari tabel untuk memenuhi BCNF.

Redundansi data adalah istilah untuk pengulangan data yang sama di banyak tempat. Ini juga dapat menyebabkan masalah dalam penyisipan, pembaruan, dan penghapusan data. Normalisasi adalah proses pengorganisasian data ke dalam beberapa tabel terkait untuk meminimalkan redundansi data. Ini memberikan solusi untuk redundansi data karena membagi data dalam tabel menjadi beberapa tabel. Namun, tidak mungkin untuk sepenuhnya menghilangkan redundansi data; hanya mungkin untuk mengurangi redundansi data. Ada berbagai jenis normalisasi seperti 1NF, 2nf, 3NF, BCNF, dll. Sebelum membahas 3NF dan BCNF, perlu dipahami 1NF dan 2NF.

Topik bahasan kami tentang:

  1. Apa itu 1NF – Definisi, Fungsi 2. Apa itu 2NF – Definisi, Fungsi 3. Apa itu 3NF -Definisi, Fungsi 4. Apa itu BCNF -Definisi, Fungsi 5. Apa Perbedaan Antara 3NF dan BCNF -Perbandingan Kunci Perbedaan

Istilah Utama

1NF, 2NF, 3NF, BCNF, Normalisasi

Yang perlu anda ketahui tentang 1NF

Ada empat aturan untuk membuat tabel memenuhi 1NF. Mereka adalah sebagai berikut.

  • Setiap kolom dalam tabel harus memiliki nilai otomatis.
  • Kolom harus memiliki data dengan tipe yang sama.
  • Setiap kolom harus memiliki nama yang unik.
  • Urutan penyimpanan data tidak masalah.

Jika sebuah tabel tidak dalam bentuk normal pertama , itu dianggap sebagai desain database yang buruk. Contohnya adalah sebagai berikut.

Pada tabel di atas, kolom subjek berisi beberapa nilai. Setelah melakukan 1NF, tabelnya adalah sebagai berikut. 

Yang perlu anda ketahui tentang 2NF

Ada dua aturan untuk membuat tabel memenuhi 2NF. Mereka adalah sebagai berikut.

  • Tabel harus dalam bentuk 1NF.
  • Seharusnya tidak ada ketergantungan parsial.

Dalam tabel yang menyimpan informasi siswa, id siswa adalah kunci utama , dan membantu mengidentifikasi setiap baris dalam tabel secara terpisah. Kolom lain bergantung pada kunci utama. Ketergantungan ini disebut ketergantungan fungsional.

Sebagai contoh, asumsikan ada tabel yang disebut skor. Kunci utama adalah kombinasi id siswa dan id subjek. Jika tabel ini memiliki nama dosen, itu hanya tergantung pada subjek id. Ketergantungan semacam ini disebut ketergantungan parsial.

Contohnya adalah sebagai berikut. 

Kunci utama dari tabel di atas adalah kombinasi dari student_id dan subject_id. Kita dapat menempatkan nama_dosen di tabel terpisah. Sekarang tabel nilai, mata kuliah dan dosen adalah sebagai berikut.

Yang perlu anda ketahui tentang 3NF

Ada dua aturan untuk membuat tabel memenuhi 2nf. Mereka adalah sebagai berikut.

  • Tabel harus memenuhi bentuk normal ke-2.
  • Seharusnya tidak transitif.

Sebagai contoh, asumsikan bahwa tabel skor memiliki student_id, subject_id, mark, exam_name dan total_marks. Kombinasi student_id dan subject_id adalah kunci utama. Total_marks ini tidak bergantung pada kunci utama ini. Itu tergantung pada exam_name. Dengan kata lain, sebuah atribut bergantung pada atribut non-prima. Ketergantungan semacam ini disebut ketergantungan transitif. Maka dari itu, kita dapat menilai nama ujian dan nilai total dalam tabel terpisah.

Yang perlu anda ketahui tentang BCNF

BCNF adalah singkatan dari Boyce-Codd-Normal Form. Ini menghindari atribut prima tergantung pada atribut non-prima. Contohnya adalah sebagai berikut.

Kunci utama dari tabel di atas adalah kombinasi dari student_id dan subject. Saat seorang dosen mengajar satu mata pelajaran tertentu, kita juga dapat menggunakan kolom itu untuk mengidentifikasi setiap catatan secara unik. Meskipun demikian, dosen bukanlah kunci utama. Kolom mata kuliah tergantung pada dosen non-prima atribut. Maka dari itu, tabel tidak memenuhi BCNF. Kita dapat membuat tabel mahasiswa dan tabel dosen sebagai berikut.

Perbedaan Antara 3NF dan BCNF

Definisi

3NF adalah bentuk normal yang digunakan dalam menormalkan desain database untuk mengurangi duplikasi data dan memastikan integritas referensial dengan memastikan bahwa entitas berada dalam bentuk normal kedua dan semua atribut dalam tabel ditentukan hanya oleh kunci kandidat dari relasi tersebut dan bukan oleh atribut non-prima apa pun. BCNF, di sisi lain, adalah bentuk normal yang digunakan dalam normalisasi basis data yang merupakan versi 3NF yang sedikit lebih kuat. Jadi, inilah Perbedaan yang menonjol antara 3NF dan BCNF.

Kegunaan

Tabel harus dalam bentuk normal ke-2 , dan tidak boleh ada dependensi transitif untuk memenuhi 3NF sedangkan atribut utama tabel tidak boleh bergantung pada atribut non-prima tabel untuk memenuhi BCNF. Maka dari itu, fungsionalitas adalah perbedaan lain antara 3NF dan BCNF.

Kata terakhir

Singkatnya, database yang dinormalisasi dianggap sebagai database yang baik. Ada berbagai jenis normalisasi, dan dua di antaranya adalah 3NF dan BCNF. Perbedaan yang menonjol antara 3NF dan BCNF adalah tabel harus dalam bentuk normal ke-2 dan tidak boleh ada dependensi transitif untuk memenuhi 3NF sedangkan atribut utama tabel tidak boleh bergantung pada atribut non-prima dari tabel untuk memenuhi BCNF.

Sumber bacaan:
  1. Bentuk Normal Pertama (1NF) | Normalisasi Basis Data | DBMS, Studytonight, 24 Des. 2017, Tersedia di sini . 2. Bentuk Normal Kedua (2NF) | Normalisasi Basis Data | DBMS, Studytonight, 4 Februari 2018, Tersedia di sini . 3. Bentuk Normal Ketiga (3NF) | Normalisasi Basis Data | DBMS, Studytonight, 8 Februari 2018, Tersedia di sini . 4. Bentuk Normal Boyce-Codd (BCNF) | Normalisasi Basis Data | DBMS, Studytonight, 15 April 2018, Tersedia di sini . 5. “Bentuk Normal Ketiga.” Wikipedia, Wikimedia Foundation, 28 November 2018, Tersedia di sini . 6. “Bentuk Normal Boyce–Codd.” Wikipedia, Wikimedia Foundation, 27 September 2018, Tersedia di sini .
Sumber gambar:
  1. “1895779” (CC0) melalui Pixabay

Related Posts