此概念文档简单讨论了数据规范化主题,并适用于工作产品:数据模型的开发。它不提供完整的规范化处理,因为该主题范围很广,并在关于数据库设计上的许多资料中都有记录。在 [NBG01] 中,将规范化定义为“用于产生正确的关系数据库设计的一种分析技术”。 实际上,规范化是一个通过应用限制性规则来消除数据模型中的冗余的过程。
消除数据模型的表中的数据冗余有助于实施数据库中的数据的引用完整性。
通常在已开发了模型中初始版本的表及它们的关系之后,对数据模型执行规范化。关于何时应用规范化的确切时间安排取决于项目的具体情况并由数据库设计员决定。使用一系列步骤将规范化过程应用到数据模型中的表,在每个步骤中应用比上条规则更严格的规则。
规范化级别
按层次将规范化分类成数字形式,最常见的形式是第一、第二和第三范式。每个级别的规范化比前一级别更加严格。前三个层次级别的规范化是:
-
第一范式 - 已消除表中的几组重复的数据列,以便将数据组织成基本单元。
-
第二范式 - 数据已经是第一范式,并且已消除主键字段上的冗余,以便列值完全依赖于主键字段。
-
第三范式 - 数据已经是第二范式,并且每一列都不依赖于任何其他非键列。
还有其他规范化级别,但本讨论中并没有涵盖。在 [DAT99]
中可找到关于其他规范化级别的信息。数据库设计者必须根据项目特定情况,决定要应用到数据模型的确切规范化级别。
|