Open In App

Difference between BCNF and 4NF in DBMS

Last Updated : 14 Jul, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

1. Boyce-Codd Normal Form (BCNF) :
Any relation is said to be in the BCNF if and only if it satisfies the following condition :

  • For every Functional Dependency (FD) X->Y, X is SuperKey in given relation.

2. 4th Normal Form (4NF) :
Any relation is said to be in the fourth normal form when it satisfies the following conditions :

A multi-valued dependency is said to occur when there are two attributes in a table which depend on a third attribute but are independent of each other. In order to denote a multi-valued dependency, “->->” this sign is used.



Difference between BCNF and 4NF :

S.No. BCNF 4NF

1

A relation in BCNF must also be in 3NF. A relation in 4NF must also be in Boyce Codd Normal Form (BCNF).

2

A relation in BCNF may have multi-valued dependency. <A relation in 4NF must not have any multi-valued dependency.
3

A relation in BCNF may or may not be in 4NF. A relation in 4NF is always in BCNF.

4

BCNF is less stronger in comparison to 4NF. 4NF is more stronger in comparison to BCNF.

5

If a relation is in BCNF then it will have more redundancy as compared to 4NF. If a relation is in 4NF then it will have less redundancy as compared to BCNF .

6

If a relation is in BCNF then all redundancy based on functional dependency has been removed. If a relation is in 4NF then all redundancy based on functional dependency as well as multi-valued dependency has been removed.

7

For a relation, number of tables in BCNF is less than or equal to number of tables in 4NF. For a relation, number of tables in 4NF is greater than or equal to number of tables in BCNF.

8

Dependency preserving is hard to achieve in BCNF. Dependency preserving is more hard to achieve in 4NF as compared to BCNF.

9

In real world database designing, generally 3NF or BCNF is preferred. In real world database designing, generally 4NF is not preferred by database designer.

10

A relation in BCNF may contain multi-valued as well as join dependency. A relation in 4NF may only contain join dependency.


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads