📜  DBMS中BCNF和4NF的区别

📅  最后修改于: 2021-09-12 11:03:43             🧑  作者: Mango

1. 博伊斯-科德范式(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.