1
管理信息系统
1.3.4.3 2.4.3 第三范式

2.4.3 第三范式

如果一个关系满足第二范式,并且其中任何一个非关键字数据项都不传递依赖于它的关键字,则称该数据结构是第三范式的,记为3NF。

要使某二维表格满足3NF的要求,即要消除传递依赖。其方法是:

(1)判断是否存在传递依赖;

(2)若存在,把该字段及其传递依赖的字段一起提出来,作为一个新的表格。将剩下的字段组成第二个表格(新提出的表格的关键字留在原表格中)。即若非关键字段C依赖于非关键字段B,而非关键字段依赖于关键字段A;则把CB提取出来,作为一个单独的表,B为关键字;而原表中除C之外的部分作为一个表。

图2-14消除传递依赖之后,将转换为图2-15满足3NF的形式。

img30

图2-15 第三范式

规范化总结

在关系数据库中,对关系模式最基本的要求是满足第一范式,这样的关系模式就是合法的、允许的。但是有些关系模式存在数据冗余、存储操作异常等不足,因此需要进一步改善关系模式,这就是规范化的目的。

关系模式的规范化过程是采用投影分解的方法来实现的,分解时应注意保证分解前和分解后的等价性。整个规范化的过程是一个不断给大表“瘦身”的过程,也是一个逐步减少数据冗余的过程,图2-16对这一问题作了进一步的说明。

规范化等级的选择要综合考虑多种因素,要在减少数据冗余、消除存储操作异常和响应时间之间做出合理折中。一般而言规范化等级越高,检索时需要的联接操作就越多,DBMS的开销就越大,响应时间就越长。实际开发数据库时,多采用3NF或BCNF。

img31

图2-16 规范化减少了冗余数据