MySQL + SQL · Lesson 28

BCNF in DBMS

What is BCNF?

BCNF (Boyce-Codd Normal Form) is a stricter version of 3NF. A table is in BCNF if, for every functional dependency X → Y, X is a candidate key (a super key).

3NF vs BCNF

Every BCNF table is in 3NF, but not every 3NF table is in BCNF. BCNF removes anomalies that 3NF can still leave when there are multiple overlapping candidate keys.

Example

Table (student, subject, teacher) where each teacher teaches one subject. Here teacher → subject but teacher is not a candidate key — so it violates BCNF. Split into (student, teacher) and (teacher, subject).

Summary

  • BCNF: for every dependency X → Y, X must be a candidate key.
  • Stricter than 3NF; removes anomalies from overlapping candidate keys.
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

\n

💻 Live Code Editor

Is page ki language (MYSQL) mein code likhein aur turant chalाएं — yahीं, bina kuch install kiye.
Powered by OneCompiler. Agar editor na khule to yahान naye tab mein kholein.

💻 Live Code Editor

Is page ke program yahan ready hain — chalाएं, badlें aur seekhें. Bina kuch install kiye.
Powered by OneCompiler. Editor mein code apne aap aa jata hai — Run dabaakर output dekhें. Agar load na ho to naye tab mein kholें.