06.关系数据库理论
问题的提出
- 关系模式的表示
- 关系模式由五部分组成, 是一个五元组: 
R(U, D, DOM, F) - R: 关系名
 - U: 一组属性
 - D: 属性组U中的属性所来自的域
 - DOM: 属性到域的映射
 - F: 属性组U上的一组数据依赖
 
 - 关系模式由五部分组成, 是一个五元组: 
 - 数据依赖
- 一个关系内部属性之间的一种约束关系
 - 函数依赖 (FD)
 - 多值依赖 (MVD)
 
 - 函数依赖
x->y 表示为 y函数依赖于x
 - 函数依赖存在的问题
- 数据冗余
 - 更新异常
 - 插入异常
 - 删除异常
 
 - 函数依赖的解决方式
- 把单一的模式分成多个关系模式
 - 分离不合适的函数依赖
 
 
规范化
函数依赖
- 
x->y 表示为 x函数确定y 或 y函数依赖于x - 
非平凡函数依赖 平凡函数依赖
 - 
完全函数依赖(F) 部分函数依赖(P)
 - 
传递函数依赖
 
码 (关键字/键)
- 
候选码
- 主属性
 - 非属性
 - 全码: 属性组的所有属性都是码
 
 - 
超码
 - 
主码
 - 
外码
 
范式
- 
符合某一种级别的关系模式的集合
 
2NF
- 
消除非主属性对码的部分函数依赖
 - 
每一个非主属性都完全函数依赖于任何一个候选码
 - 
不属于2NF, 会产生
- 插入异常
 - 删除异常
 - 修改复杂
 
 - 
解决方法: 用投影分解把关系模式分成多个关系模式
 
3NF
- 
消除非主属性对码的传递函数依赖
 
BCNF
- 
消除主属性对码的部分和传递函数依赖
 - 
是修正的第三范式
 - 
函数依赖左边必须是码
 - 
性质
- 所有非主属性都完全函数依赖于每个候选码
 - 所有主属性都完全函数依赖于每个不包含它的候选码
 - 没有任何属性完全函数依赖于非码的任何一组属性
 
 - 
如果一个关系数据库中的所有关系模式都属于BCNF, 那么在函数依赖范畴内, 它已实现了模式的彻底分解
 
多值依赖**
- 
平凡多值依赖
 - 
非平凡多值依赖
 - 
性质
- 有对称性
 - 有传递性
 - 函数依赖是多值依赖的特殊情况
 
 - 
多值依赖与函数依赖的区别
- 
多值依赖的有效性与属性集的范围有关
 
 - 
 
4NF
- 
消除非平凡且非函数依赖的多值依赖
 












