📜  DBMS中BCNF和4NF之间的区别

📅  最后修改于: 2021-08-25 10:09:21             🧑  作者: Mango

1. Boyce-Codd范式(BCNF):
当且仅当满足以下条件时,任何关系才称为BCNF:

  • 对于每个功能依赖关系(FD)X-> Y,X是给定关系中的SuperKey。

2.第四范式(4NF):
当满足以下条件时,任何关系都称为第四范式:

  • 它必须采用Boyce Codd正常形式(BCNF)。
  • 它应该没有多值依赖。

当表中有两个属性依赖于第三个属性但彼此独立时,就会发生多值依赖。为了表示多值依赖关系,使用“->->”这个符号。

BCNF和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.
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.