关系数据理论--规范化
1.函数依赖(“X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。 )
v函数依赖
v平凡函数依赖与非平凡函数依赖
在关系SC(Sno, Cno, Grade)中,
非平凡函数依赖: (Sno, Cno) → Grade
平凡函数依赖: (Sno, Cno) → Sno
(Sno, Cno) → Cnov完全函数依赖与部分函数依赖
v传递函数依赖
在R(U)中,如果X→Y,(Y 属于X) ,Y→X Y→Z, 则称Z对X传递函数依赖。
记为:X → Z
2.码
设K为R<U,F>中的属性或属性组合。若K U, 则K称为R的侯选码(Candidate Key)
3.范式
第一范式(1NF)
一个关系模式R的所有属性都是不可分的基本数据项
第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库
第二范式(2NF)
若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。
第三范式(3NF)
若R∈3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。
BC范式(BCNF)(重点看例3)
若R∈BCNF
所有非主属性对每一个码都是完全函数依赖
所有的主属性对每一个不包含它的码,也是完全函数依赖
没有任何属性完全函数依赖于非码的任何一组属性
每一个决定属性因素都包含码
例题:
例1:关系模式S(Sno,< 4000 /span>Sname,Sdept,Sage)
假定S有两个码Sno,Sname
S∈3NF。
S ∈ BCNF
例2:关系模式SJP(S,J,P)
n 函数依赖:(S,J)→P;(J,P)→S
n (S,J)与(J,P)都可以作为候选码,属性相交
n SJP∈3NF,
n SJP∈BCNF
例3:在关系模式STJ(S,T,C)中,S表示学生,T表示教师,C表示课程。
函数依赖:
(S,C)→T,(S,T)→C,T→C
(S,C)和(S,T)都是候选码
v STJ∈3NF
没有任何非主属性对码传递依赖或部分依赖
v STJ不属于BCNF
T是决定因素,T不包含码
第四范式(4NF)
第五范式(5NF)
4.多值依赖
例:学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。每个教员可以讲授多门课程,每种参考书可以供多门课程使用。
解:
非规范化关系:
Teaching∈BCNF
Teaching具有唯一候选码(C,T,B), 即全码
多值依赖的性质
(1)多值依赖具有对称性(若X→→Y,则X→→Z,其中Z=U-X-Y)
(2)多值依赖具有传递性(若X→→Y,Y→→Z, 则X→→Z –Y)
(3)函数依赖是多值依赖的特殊情况(若X→Y,则X→→Y)
(4)若X→→Y,X→→Z,则X→→YÈ Z
(5)若X→→Y,X→→Z,则X→→Y∩Z
(6)若X→→Y,X→→Z,则X→→Y-Z,X→→Z -Y
5.结论
模式规范化的基本思想:
综合的例子:
学生选课(学号,姓名,课程号,成绩)
属性不可分,是1NF;存在非主属性对键码的 部分依赖(学号,课程号→姓名),不是2NF
学生(学号,姓名,系别,系主任)
键码为单属性,不存在部分依赖,是2NF;
存在非主属性对键码的传递依赖(学号→系别;系别→系主任;学号→系主任),不是3NF
学生(学号,姓名,年龄)
非主属性(姓名,年龄)对键码不存在部分依赖和传递依赖,是3NF;
主属性(学号)对键码也不存在部分依赖和传递依赖,是BCNF。
- 数据库系统原理(4)--数据依赖与关系模式规范化
- 数据规范化理论(2NF,3NF,BCNF)[zz]
- 【数据库系统概论】-关系数据理论
- 关系数据库规范化理论 函数依赖与范式理论
- 关系数据 规范化的理解
- 数据库系统概论-006: 关系数据理论
- 数据建模基础理论 – 数据建模及规范化(1)
- 《数据库系统概论》知识点5 关系数据理论
- 数据库系统原理复习题(四)——关系数据理论
- 【转】数据依赖与关系模式规范化
- 关系规范化理论
- 关系数据库规范化理论---范式
- 数据库原理(六)--关系数据理论
- 关系数据库规范化理论
- 关系数据库规范化理论 函数依赖与范式理论
- 数据库系统原理教程 第五章 关系数据理论
- 关系数据理论中的范式
- 第5章 关系数据理论 练习
- 《驾驭大数据》:跟大数据关系不大,讲数据分析的理论、工具、方法、团队建设经验
- 关系数据理论