|< < 30 > >|

Boyce-Codd Normal Form (BCNF)

3NF vs. BCNF

  • BCNF is similar to 3NF.
  • Differs only when there are overlapping candidate keys.
  • If there are no overlapping candidate keys, then 3NF ⇔ BCNF

A table that is 3NF but not BCNF

student_in_course(sn_old, sn_new, semester, course_number, grade) Candidate keys: (sn_old, course_number, semester) (sn_new, course_number, semester) Functional dependencies (omitting derived FDs): sn_old → sn_new sn_new → sn_old

|< < 30 > >|