What is Boyce-Codd Normal Form?
Boyce-Codd normal form (BCNF) is one of the forms of database normalization. A database table is in the BCNF if and only if there are no non-trivial functional dependencies on attributes that refer to anything other than a superset of a candidate key. BCNF is sometimes referred to as 3.5NF or 3.5 normal form.
BCNF was developed by Raymond Boyce and EF Codd; The latter is considered to be the father of relational database design.
BCNF is really an extension of the 3rd normal form (3NF). It is for this reason that it is often referred to as the 3.5NF. 3NF states that all data in a table need only depend on that table's primary key and not on any other field in the table. At first glance, BCNF and 3NF appear to be the same thing. In some rare cases, however, a 3NF table may not be BCNF compliant. This can occur in tables with two or more overlapping candidate compound keys.