第六章 关系数据理论
6.1 问题的提出
作为一个二维表,关系要符合一个最基本条:每一个分量必须是不可分的数据项。满足该条件的关系模式叫做第一范式(1NF)
数据依赖是一个关系内部属性与属性之间的一种约束关系,通过属性见值的相等与否体现出来
多种类型的数据依赖中最重要的是函数依赖和多值依赖
6.1.1 函数依赖
属性间的数据依赖类似于 记作
存在问题:
- 数据冗余
- 更新异常:因为数据冗余很多,所以更新数据库时系统需要付出很大的代价卡来维护数据的完整性
- 插入异常
- 删除异常
一个好的模式应当不会发生上述异常,且数据冗余较少
6.2 规范化
6.2.1 函数依赖
函数依赖和别的数据以来一样是语义范畴,只能根据语义来确定一个函数依赖
-
函数依赖定义
任意的R(X,Y)不存在两个元组在X上取值相同而在Y上取值不同,则称X函数决定Y或Y依赖于函数X
计作若则称X为决定因素
-
非平凡函数依赖
X->x’ X决定X的真子集,在X上属性相等,则在x的任意真子集上取值也相等
-
平凡函数依赖
X决定Y但是Y不属于X的真子集
6.2.2 码
码是关系模式中一个重要的概念
6.2.4 1NF
每一个属性列都不可再分
6.2.5 2NF
不存在非主属性对码的部分函数依赖
6.2.6 3NF
不存在非主属性对码的传递函数依赖
6.2.7 BCNF
每一个起函数决定的因素都是码,消除主属性之间的部分函数依赖和传递函数依赖
6.2.8 4NF
消除非平凡的多值依赖