Difference between BCNF and 4NF in DBMS
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 :
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. |