What is the Difference Between 3NF and BCNF?

🆚 Go to Comparative Table 🆚

The main differences between 3NF (Third Normal Form) and BCNF (Boyce-Codd Normal Form) are as follows:

  1. Transitive Dependency: In 3NF, there should be no transitive dependency, meaning no non-prime attribute should be transitively dependent on the primary key. In BCNF, the functional dependencies are already in 1NF, 2NF, and 3NF.
  2. Strength: BCNF is comparatively stronger than 3NF.
  3. Functional Dependencies: In 3NF, functional dependencies are already in 1NF and 2NF. In BCNF, functional dependencies are already in 1NF, 2NF, and 3NF.
  4. Redundancy: The redundancy is high in 3NF, while it is lower in BCNF.
  5. Attributes: In 3NF, the dependencies are preserved in 1NF and 2NF, while not all functional dependencies are preserved in BCNF.

In summary, BCNF is an extension of 3NF and has more strict rules. It is considered to be stronger than 3NF, with lower redundancy and more strict functional dependencies.

Comparative Table: 3NF vs BCNF

Here is a table comparing the differences between 3NF (Third Normal Form) and BCNF (Boyce-Codd Normal Form):

Feature 3NF (Third Normal Form) BCNF (Boyce-Codd Normal Form)
Definition A relation is in 3NF if it is in 2NF and has no transitive dependencies. A relation is in BCNF if it is in 3NF and for each relation X->Y, X is a super key.
Redundancy 3NF has a comparatively higher redundancy. BCNF has a comparatively lower redundancy.
Functional Dependencies In 3NF, the functional dependencies are already in 1NF and 2NF. In BCNF, the functional dependencies are already in 1NF, 2NF, and 3NF.
Lossless Decomposition Lossless decomposition is comparatively easier to achieve in 3NF. Lossless decomposition is comparatively harder to achieve in BCNF.
Strength 3NF is less strong than BCNF. BCNF is comparatively stronger than 3NF.
Transitive Dependency No transitive dependency in 3NF. No transitive dependency in BCNF.

In summary, BCNF is a stricter version of 3NF, and all relations that follow the rules of BCNF are also in 3NF. BCNF has lower redundancy and is stronger than 3NF, making it more difficult to achieve lossless decomposition in BCNF compared to 3NF.