关系模式规范化的必要性
1.关系模式应满足的基本要求
(1)元组的每个分量必须是不可分的数据项
(2)数据库中的数据冗余应尽量少
(3)关系数据库不能因更新操作而引起数据不一致问题
(4)数据库不能因产生插入异常现象
(5)数据库中的数据不能再执行删除操作时产生删除异常问题
(6)数据库设计时应考虑查询要求,数据组织应合理
2.关系规范化可能出现的问题
数据冗余大、插入异常、删除异常、更新异常
3.关系规范化的主要方法--模式分解-->按照“一事一地”的原则对关系模式进行分割
函数依赖及其关系的范式
1.关系模式的简化表示法
2.函数依赖的概念
X函数确定Y函数(Y函数依赖X函数),记作X->Y
根据限制条件不同,分为以下几种类型
3. 1NF定义
如果关系模式R,其中所有属性均为简单属性(不再可分)
4. 2NF定义
若R∈1NF,且每个非主属性完全依赖于码
5. 3NF定义
6. BCNF定义
即: 1)所有非主属性对每一个码都是一个完全函数依赖
2)所有主属性对每一个不包含它的码,也是完全依赖
3)没有任何属性完全函数依赖于非码的任何一组属性
7.BCNF和3NF的比较
1)BCNF更强调主属性对码的完全的直接依赖(包含3NF)
2)3NF可能出现主属性对码的部分依赖和传递依赖
多值依赖以及关系的第四范式
1.多值依赖的定义及性质
多值依赖的性质: 1.具有对称性
2.函数依赖可以视为多值依赖的一种特殊情况
3.若X->->Y且Z=U-X-Y= ∅,则称X->->Y为非凡的多值依赖,否则称平凡的多值依赖
多值依赖和函数依赖的区别
1)多值依赖的有效性语属性集的范围有关
2)多值依赖没有自反律
2.4NF
连接依赖及第五范式
1.关系依赖的无损连接性
将数据分成n个子表,将这些子表自然连接得到的结果与之前一致,不存在信息丢失。
2.连接依赖
3.5NF的定义
关系模式R中的每一个连接依赖均由R的候选码所隐含
小结
对关系模式的基本要求是满足第一范式,为了消除插入、删除、修改异常和数据冗余将数据库进行进一步优化逐步大到2NF,3NF,BCNF,4NF,5NF
关系模式的分解算法
1.Armstrong公理系统
2.函数依赖集闭包F+和属性集闭包XF+