我们总是从 0-NF 开始数据库规范化吗?
Do we always start database normalization from 0-NF?
画EER图时,归一化的标准顺序是什么?我们是否总是在 0-NF 状态下绘制 EER 并将其归一化为 1-NF、2-NF 和 3-NF,或者是否可以一次绘制 3-NF 归一化 EER 图?
规范化是对数据进行重构。它将复杂的关系分解为简单的基本事实,同时保持数据的信息内容。目标是拥有一致且没有数据异常风险的简单关系,因此如果您能从一开始就设计规范化结构,那就太好了!
事实上,有一整套建模学科和图表符号从一开始就建立在设计完全规范化(即 6NF)关系的概念之上 - object-role modeling。
正如 Chen 所描述的,实体-关系模型产生的关系已经存在于 3NF 中。这些可以在做逻辑建模的时候进一步归一化。
如果您使用 MySQL Workbench 或 Visual Paradigm 之类的东西,您正在设计一个物理模型(表和外键约束),它可以是任何范式的组合.在这种情况下,即使您在设计时小心地牢记函数依赖性,完成规范化过程也是一个好主意。真的很容易错过!
画EER图时,归一化的标准顺序是什么?我们是否总是在 0-NF 状态下绘制 EER 并将其归一化为 1-NF、2-NF 和 3-NF,或者是否可以一次绘制 3-NF 归一化 EER 图?
规范化是对数据进行重构。它将复杂的关系分解为简单的基本事实,同时保持数据的信息内容。目标是拥有一致且没有数据异常风险的简单关系,因此如果您能从一开始就设计规范化结构,那就太好了!
事实上,有一整套建模学科和图表符号从一开始就建立在设计完全规范化(即 6NF)关系的概念之上 - object-role modeling。
正如 Chen 所描述的,实体-关系模型产生的关系已经存在于 3NF 中。这些可以在做逻辑建模的时候进一步归一化。
如果您使用 MySQL Workbench 或 Visual Paradigm 之类的东西,您正在设计一个物理模型(表和外键约束),它可以是任何范式的组合.在这种情况下,即使您在设计时小心地牢记函数依赖性,完成规范化过程也是一个好主意。真的很容易错过!