|
规范化(Normalization)是运用规则将复杂的业务转化为规范的数据结构的过程。范式化的基本目标是保证每个属性只在一个位置出现,以消除冗余或冗余导致的不一致性。整个过程需要深入理解每个属性,以及每个属性与主键的关系。 规范化规则根据主键和外键整理属性。规范化规则可归类到不同规范层次,对每一个层次可应用更细的方式和规范性来搜索正确的主键和外键。每个级别由一个独立的范式组成,并且每个相继级别不需要包含以前的级别。范式的层次包括: 1.第一范式(1NF)。确保每个实体都有一个有效的主键,每个属性都依赖于主键,而且消除冗余的分组,以确保每个属性的原子性(不能有多个值存在)。第一范式包括了与通常称为关联实体的附加实体的多对多关系解析。 2.第二范式(2NF)。确保每个实体都有最小的主键,每个属性都依赖于完整的主键。 3.第三范式(3NF)。确保每一个实体都没有隐藏的主键,每个属性都不依赖于键值之外的任何属性(仅依赖于完整的主键)。 4.Boyce/Codd范式(BCNF)。解决了交叉的复合候选键的问题。候选键是主键或备用键。复合意味着不止一个(如一个实体主键有两个属性),交叉是指键与键之间隐藏着业务规则。 5.第四范式(4NF)。将所有三元关系分解成二元关系,直到这些关系不能再分解成更小的部分。 6.第五范式(5NF)将实体内部的依赖关系分解成二元关系,所有联结依赖部分主键。 模型的规范化通常要求达到第三范式水平即可。实践中BCNF、4NF、5NF很少出现。 【出处】DAMA数据管理知识体系指南:原书第2版/美国DAMA国际著;DAMA中国分会翻译组译. -北京:机械工业出版社,2020.5
|