MySQL + SQL · Lesson 28
DBMS में BCNF
BCNF क्या है?
BCNF (Boyce-Codd Normal Form) 3NF का सख्त version है। एक table BCNF में है अगर हर functional dependency X → Y के लिए X एक candidate key (super key) हो।
3NF बनाम BCNF
हर BCNF table 3NF में है, पर हर 3NF table BCNF में नहीं। BCNF उन anomalies को हटाता है जो overlapping candidate keys होने पर 3NF में भी रह सकती हैं।
Example
Table (student, subject, teacher) जहाँ हर teacher एक subject पढ़ाता है। यहाँ teacher → subject पर teacher candidate key नहीं — तो BCNF violate होता है। (student, teacher) और (teacher, subject) में split करें।
सारांश
- BCNF: हर dependency X → Y के लिए X candidate key हो।
- 3NF से सख्त; overlapping candidate keys की anomalies हटाता है।