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 :
- It must be in Boyce Codd Normal Form (BCNF).
- It should have no multi-valued dependency.
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 :
|A relation in BCNF must also be in 3NF.||A relation in 4NF must also be in Boyce Codd Normal Form (BCNF).|
|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.|
|BCNF is less stronger in comparison to 4NF.||4NF is more stronger in comparison to BCNF.|
|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 .|
|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.|
|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.|
|Dependency preserving is hard to achieve in BCNF.||Dependency preserving is more hard to achieve in 4NF as compared to BCNF.|
|In real world database designing, generally 3NF or BCNF is preferred.||In real world database designing, generally 4NF is not preferred by database designer.|
|A relation in BCNF may contain multi-valued as well as join dependency.||A relation in 4NF may only contain join dependency.|
Attention reader! Don’t stop learning now. Learn all GATE CS concepts with Free Live Classes on our youtube channel.