1
数据库原理与应用技术
1.4.4 3.4 小结

3.4 小结

关系数据库设计中,一个非常重要的被视为理论问题的内容就是构造合理的关系。这就是关系规范化要研究的问题。通过本章内容的学习,掌握这种规范化的理论和方法,能够设计出合理的关系模式。

关系数据库中由于数据语义问题,设计不好的关系模式,不仅会产生大量的数据冗余,而且会带来更新异常,不能保证数据的完整性。为此需要对关系模式进行分解,即规范化。

关系模式都是要满足一定要求的,满足不同的要求称为不同的范式。其中,满足最低要求的称为第一范式(1NF),满足更进一步要求的称为第二范式(2NF),依次有第三范式(3NF)和BCNF,它们之间有如下关系:

BCNF⊂3NF⊂2NF⊂1NF

第一范式是一种关系的最低规范化级别,可确保关系中的每个属性都是不可分割的最小数据单位。

第二范式消除了关系中所有非主属性对候选码的部分函数依赖。若关系中的每个候选码都是单属性,则符合第一范式的关系,自然也达到第二范式。

第三范式消除了关系中所有非主属性对候选码的部分和传递函数依赖。

BCNF消除了关系中所有属性对候选码的部分和传递依赖。若一种关系达到了第三范式,并且它只有单个候选码,或者它的每个候选码都是单属性,则该关系自然达到BCNF。

低一级范式经过分解得到高一级的范式,就是所谓的规范化。这种分解是可逆的,而且还应是无损的和保持函数依赖的,但这两个目标有时不能同时满足。规范过程的每一步都是对前一步的结果进行分解,整个过程如下:

(1) 对原始的第一范式进行分解,消除非主属性对关键字的部分函数依赖,产生一个第二范式集合。

(2) 对第二范式进行分解,消除非主属性对关键字的传递函数依赖,产生一个第三范式集合。

(3) 对第三范式进行分解,消除主属性对关键字的部分和传递函数依赖,产生一个BCNF集合。

规范化的目的是消除某些数据冗余,避免更新异常,使数据冗余量小,便于插入、删除和更新。规范化的方法是将原关系模式分解成两个或两个以上的关系模式,分解时遵从概念单一化的原则,即一种关系模式描述一个概念、一个实体或实体间的一种联系。所以规范的实质就是概念单一化。分解后的关系模式还要求与原关系模式等价,即经过自然连接可以恢复原关系而不丢失信息,并保持属性间的联系,也就是说,分解后的关系模式要通过外键还原为原关系模式。

设计一种良好的关系模式,并非规范化程度越高越好,少量数据冗余有时可以方便查询,尤其是对那些更新频率不高,查询频率较高的数据库系统更是如此。因此,关系模式的规范化只能作为数据库中关系模式设计的辅助规则。