DBMS中BCNF和4NF的区别

DBMS中BCNF和4NF的区别

1. Boyce-Codd标准型(BCNF):

当且仅当任何关系满足以下条件时,才称其属于BCNF:

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

2. 第四范式(4NF):

当关系满足下列条件时,称为第四范式:

  • 它必须是Boyce Codd标准格式(BCNF)。
  • 它不应该有多值依赖关系。

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

BCNF与4NF的区别:

编号 BCNF 4NF
1 BCNF中的关系也必须在3NF中。 4NF中的关系也必须是Boyce Codd正规形式(BCNF)。
2 BCNF中的关系可能具有多值依赖关系。< 4NF中的关系不能有任何多值依赖关系。 BCNF中的关系可能在4NF中,也可能不在。4NF中的关系总是在BCNF中。
4 BCNF较4NF弱。 4NF比BCNF更强。
5 如果一个关系在BCNF中,那么它将比4NF有更多的冗余。 如果一个关系是4NF,那么它将比BCNF有更少的冗余。
6 如果一个关系在BCNF中,那么所有基于函数依赖性的冗余都被删除了。 如果一个关系是4NF,那么所有基于函数依赖和多值依赖的冗余都将被删除。
7 对于一个关系,BCNF中的表数小于或等于4NF中的表数。 对于一个关系,4NF中的表数大于或等于BCNF中的表数。
8 依赖保持在BCNF中很难实现。 与BCNF相比,4NF中依赖保持更难实现。
9 在实际数据库设计中,一般采用3NF或BCNF。 在现实世界的数据库设计中,通常4NF不是数据库设计人员的首选。
10 BCNF中的关系可以包含多值关系和连接依赖关系。 4NF中的关系可能只包含连接依赖。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程