BCNF vs 4NF(第四归一化)
数据库规范化是一种处理关系数据库管理系统的技术。在规范化良好的数据库中可以避免数据错误。归一化是为了减少数据库的数据冗余。这意味着实现数据库表及其关系,消除冗余和不一致的依赖关系。有一些用于规范化的预定义规则。这些规则被称为正常形式。
- 第一标准形式(1NF)
- 第二范式(2NF)
- 第三范式(3NF)
- boce - codd标准型(BCNF或3.5NF)
- 第四范式(4NF)
第一标准形式被称为表的原子性。表原子性可以通过两个步骤来实现。
- 从同一个表中删除重复的列。
- 为相关的重复列创建单独的表。(必须有主键来标识表中的每一行)
在第二范式中,尝试通过提取表中的冗余数据并将它们放在单独的表中来减少表中的冗余数据。这可以通过执行以下步骤来实现。
- 选择应用于多行的数据集,并将它们放在单独的表中。
- 使用外键创建这些新表和父表之间的关系。
要将数据库转化为第三范式,必须先实现第一范式和第二范式。当数据库处于1NF和2NF模式时,没有任何重复的列,也没有任何应用于多行的数据子集。第三种标准形式可以通过删除表的列来实现,这些列不完全依赖于主键。
boce - codd标准型(BCNF或3.5NF)
BCNF代表"Boyce-Codd范式”。这种标准形式也被称为数据库规范化的3.5标准形式。为了实现BCNF,数据库必须已经实现到第三范式。然后应该采取以下步骤来实现BCNF。
- 确定关系中的所有候选键
- 识别关系中的所有功能依赖项。
- 如果关系中存在函数依赖关系,而它们的行列式不是关系的候选键,则通过将它们和它们的行列式的副本放在一个新的关系中来删除函数依赖关系。
第四范式
在将数据库规范化为第四范式之前,数据库必须是第三范式。如果数据库已经是第三种标准形式,下一步应该是删除多值依赖项。(如果一个或多个行暗示同一表中存在一个或多个其他行,则称为多值依赖。)
两者的区别是什么BCNF和4NF(第四范式)? •数据库必须已经达到3NF才能进入BCNF,但数据库必须在3NF和BCNF中,才能达到4NF。 •在第四种标准形式中,表之间没有多值依赖关系,但在BCNF中,表中可以有多值依赖数据。 |
留下一个回复