# Boyce–Codd Normal Form

• March 1, 2023
• DBMS
##### What is BCNF?

The Boyce-Codd Normal Form also referred to as the 3.5 Normal Form, is an extension of the third normal form. In relational database design, the Boyce-Codd Normal Form (BCNF) is a stricter normal form than the third normal form (3NF).

##### Rules for BCNF:

Boyce-Codd Normal Form (BCNF) rules are as follows:

• Every determinant (candidate key) of a relation must be a superkey of that relation.
• Every functional dependency in the relation that isn’t trivial needs to have a determinant that could be the key.
• Data in the relation shouldn’t be redundant in any way.

In other words, if and only if there are no non-trivial functional dependencies between attributes where the determinant is not a candidate key, a relation is in BCNF.

##### Example:

Let’s use the following instance to demonstrate the Boyce-Codd Normal Form (BCNF):

Assume that relation R has the following functional dependencies and that R has the attributes A, B, C, and D.

``````A → B
B → C
C → D``````

In this relation, the candidate keys are {A}, {B}, {C}, and {A, B, C}. We can see that A → B violates the BCNF rules because A is not a superkey of the relation, and B depends on a non-superkey attribute A. Therefore, R is not in BCNF.

We must break this relation down into smaller relations in order to incorporate it into BCNF. We can do this by creating two new relations: R1 with attributes A and B, and R2 with attributes B, C, and D. Because there is no data redundancy and every determinant is a candidate key, the resulting relations are in BCNF.

The decomposed relations are as follows:

``````R1(A, B)
A → B

R2(B, C, D)
B → C
C → D``````

Note: the original relation R can be reconstructed by joining R1 and R2 using the common attribute B.