1
管理信息系统
1.3.4.2 2.4.2 第二范式

2.4.2 第二范式

如果一个关系满足第一范式,并且所有非关键字数据项完全函数依赖于它的整个关键字,则称该数据结构是第二范式的,记为2NF。

转化成第二范式的方法也就是去掉部分依赖关系的方法,其步骤如下:

(1)找出关键字。在图2-13中,关键字为“学号+课程号”;

(2)判断是否存在非关键字段部分依赖于关键字的现象。在图2-13中,“姓名”、“年龄”部分依赖于“学号”;

(3)如果存在部分依赖,将部分依赖的非关键字段及其所依赖的那部分关键字提取出来作为一个单独的表,如图2-14所示;

(4)原表中的关键字与剩下的非关键字部分(这部分非关键字段是完全依赖于整个关键字的)作为一个表,如图2-14所示。

img29

图2-14 第二范式

传递依赖

尽管第二范式解决了很多的问题,但是,符合2NF的关系仍然存在问题——传递依赖。假设ABC分别是同一个数据结构R中的三个元素或分别是R中若干个数据元素的集合,如果C依赖于B,而B依赖于A,那么C自然依赖于A,即称C传递依赖A。

在图2-14左边的表中,“系主任”依赖于“系别”,而“系别”依赖于关键字“学号”,因此,“系主任”和“学号”之间存在着传递依赖。传递依赖的存在同样会引起“增、删、改和查询”异常。