Saturday, June 19, 2021

Explain 3NF and BCNF. Also enlist their differences.

Third normal form (3NF)
For a table to be in third normal form, it needs to satisfy the following conditions:
  • It should be in second normal form
  • It should not have any transitive dependencies for non-prime attributes

Boyce Codd normal form (BCNF )
It is an advance version of 3NF that’s why it is also referred as 3.5NF. BCNF is stricter than 3NF. A table complies with BCNF if it is in 3NF and for every functional dependency X->Y, X should be the super key of the table.


Differences Between 3NF and BCNF
  1. 3NF states that no non-prime attribute must be transitively dependent on the candidate key of the relation. On the other hands, BCNF states that if a trivial functional dependency X -> Y exist for a relation; then X must be a super key.
  1. 3NF can be obtained without sacrificing the dependency of relation. However, dependency may not be preserved while obtaining BCNF.
  1. 3NF can be achieved without loosing any information from the old table whereas, while obtaining BCNF we may loose some information from the old table.
  1. Lossless decomposition can be achieved by 3NF. Lossless decomposition is hard to achieve in BCNF.

  1. It is comparatively easier to achieve.It is difficult to achieve.
  1. In 3NF there should be no transitive dependency that is no non prime attribute should be transitively dependent on the candidate key.In BCNF for any relation A->B, A should be a super key of relation.

No comments:

Post a Comment