第六章关系数据库理论
第六章 关系数据库理论
6.1问题的提出 例如: Student(Sno, Sdept, Mname, Cname, Grade) F=(Sno->Sdept, Sdept> Mname,(Sno, Cname)>Grade 存在问题 (1)数据冗余太大 (2)插入异常 (3)删除异常 (4)更新异常 分解成三个关系模式: S(Sno, Sdept, Sno>Sdept SG(Sno, Cname, Grade,(Sno, Cname)>Grade) D(Sdept, Mname, Sdept>Mname);
6.1 问题的提出 例如:Student(Sno,Sdept,Mname,Cname,Grade) F={Sno→Sdept,Sdept → Mname,(Sno,Cname) → Grade} 存在问题: ⑴数据冗余太大 ⑵插入异常 ⑶删除异常 ⑷更新异常 分解成三个关系模式: S(Sno,Sdept, Sno→Sdept); SG(Sno,Cname,Grade,(Sno,Cname) → Grade); D(Sdept,Mname,Sdept → Mname);
6.2规范化 数据依赖:关系中属性值之间的这种相互依赖又相互制约的联 系,称为数据依赖。包括:函数依赖、多值依赖。 、函数依赖 定义1:设R(U是属性集U上的关系模式。X,Y是U的子集。若对于R()的任 意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上 的属性值不等,则称X函数决定Y或Y函数依赖于X,记作X→Y 说明:1、函数依赖是语义范畴的概念 2、函数依赖关系是反映属性之间的一般规律 根据函数依赖的定义,可找出下面规律: 1、在一个关系模式中,如属性X,Y有1:1联系,则存在函数依赖X→Y、 Y→X,可记作XY 2、X、Y是1:m联系,则存在Y→X,但X→Y 3、X、Y是n:m联系,则XY之间不存在任何函数依赖
6.2 规范化 数据依赖:关系中属性值之间的这种相互依赖又相互制约的联 系,称为数据依赖。包括:函数依赖、多值依赖。 一、函数依赖 定义1:设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任 意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上 的属性值不等,则称X函数决定Y或Y函数依赖于X,记作X→Y。 说明:1、函数依赖是语义范畴的概念 2、函数依赖关系是反映属性之间的一般规律 根据函数依赖的定义,可找出下面规律: 1、在一个关系模式中,如属性X,Y有1:1联系,则存在函数依赖X→Y、 Y→X,可记作XY 2、X、Y是1:m联系,则存在Y→X,但X\→Y 3、X、Y是n:m联系,则X、Y之间不存在任何函数依赖
X→Y,但YcX则称X→Y是平凡的函数依赖。否则,称非平凡的函数依赖。 定义2:在R(U)中,如果X→Y,并且对于x的任何一个真子集x′,都有 X′→Y,则称Y对X部分函数依赖,记作X→pY,否则,称Y完全函数依赖于 X,记作X→fY。 定义3:在R(U)中,如果X→Y,(YaX),Y\→X,Y→Z,则称对x传递 函数依赖。 码 定义4:设K为R中的属性或属性组合,若Kf→U则K为R的候选码。 若候选码多于一个,则选定其中的一个为主码( Primary Key)。 包含在任何一个候选码中的属性,叫做主属性。不包含在任何码中的属性称 为非主属性或非码属性。整个属性组是码,称为全码。 定义5:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的 码,则称X是R的外部码( Foreign Key),也称外码
X→Y,但YX则称X→Y是平凡的函数依赖。否则,称非平凡的函数依赖。 定义2:在R(U)中,如果X→Y,并且对于X的任何一个真子集X′,都有 X′→Y,则称Y对X部分函数依赖,记作X→pY,否则,称Y完全函数依赖于 X,记作X→fY。 定义3:在R(U)中,如果X→Y,(YX),Y \→X,Y→Z,则称Z对X传递 函数依赖。 定义4:设K为R中的属性或属性组合,若K f→U则K为R的候选码。 若候选码多于一个,则选定其中的一个为主码(Primary Key)。 包含在任何一个候选码中的属性,叫做主属性。不包含在任何码中的属性称 为非主属性或非码属性。整个属性组是码,称为全码。 定义5:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的 码,则称X是R的外部码(Foreign Key),也称外码。 二、码
三、范式 范式:是符合某一种级别的关系模式的集合。 关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同 范式。1NF,2NF,3NF,BCNF,4NF,5NF 定义:关系模式R(U)中所有属性都不可再分的,则称R是第一范式,记作 R∈INF 例如:SLC(SNO, SDEPT,SLOC,CNO, GRADE) 四、2NF 定义6:若R∈lNF,且每一个非主属性完全函数依赖于码,则R∈2NF。 SNO SDEPT CNO SLOC
三、范式 范式:是符合某一种级别的关系模式的集合。 关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同 范式。1NF,2NF,3NF,BCNF,4NF,5NF 定义:关系模式R(U)中所有属性都不可再分的,则称R是第一范式,记作 R1NF。 例如:SLC(SNO,SDEPT,SLOC,CNO,GRADE) 四、2NF 定义6:若R1NF,且每一个非主属性完全函数依赖于码,则R2NF。 SNO CNO G SDEPT SLOC
SC SNO SDEPT TSO CNO SLOC 五、3NF 定义7:若R∈2NF,且R中任一非主属性都不传递函数依赖于码,则R∈3NF。 上例SL分解为: SD(SNO, SDEPT) DL SDEPT, SLOC 由于第三范式有效地消除了非主属性对码的部分和传递依赖,因而 消除了一大类操作异常问题。因此,3NF在数据库设计中得到了广泛 应用
五、3NF 定义7:若R2NF,且R中任一非主属性都不传递函数依赖于码,则R3NF。 SNO CNO G SDEPT SLOC SNO SC SL 上例 SL分解为: SD(SNO,SDEPT) DL(SDEPT,SLOC) 由于第三范式有效地消除了非主属性对码的部分和传递依赖,因而 消除了一大类操作异常问题。因此,3NF在数据库设计中得到了广泛 应用
BCNF 例:关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示教师,J表 示课程。每一教师只教一门课。每门课有若干教师,某一学生选定某门课, 就对应一个固定的教师 由语义可得到如下的函数依赖: S,T)→J;T→J 关系有两个候选键,是(S,J)和(S,T) S、T、J都是主属性,不存在非主属性,更不会有非主属性对键的传递依赖 部分依赖了,因此,ST关系满足第三范式。 但仍然存在问题 定义8:R∈BCNF,当且仅当每个决定因素都是码(候选键) 上例分解为:ST(S,T)、TJ(T,J
六、BCNF 例:关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示教师,J表 示课程。每一教师只教一门课。每门课有若干教师,某一学生选定某门课, 就对应一个固定的教师。 由语义可得到如下的函数依赖: (S,J)→T; (S,T)→J; T →J 关系有两个候选键,是(S,J)和(S,T) S、T、J都是主属性,不存在非主属性,更不会有非主属性对键的传递依赖、 部分依赖了,因此,STJ关系满足第三范式。 但仍然存在问题: 定义8:R BCNF,当且仅当每个决定因素都是码(候选键)。 上例分解为:ST(S,T)、TJ(T,J)
七、多值依赖 例:学校中某一门课程由多个教员讲授,他们使用相同的一套参考书。每个教 员可以讲授多门课程,每种参考书可以供多门课程使用。如下表: 课程C 教员T 参考书B 物理 李勇 普通物理学 物理 李勇 光学原理 物理 李勇 物理习题集 物理 王军 普通物理学 物理 王军 光学原理 物理 王军 物理习题集 数学 李勇 数学分析 李勇 数数数数 微分方程 李勇 高等代数 张平 数学分析 字 张平 微分方程 数学 张平 高等代数
七、多值依赖 例:学校中某一门课程由多个教员讲授,他们使用相同的一套参考书。每个教 员可以讲授多门课程,每种参考书可以供多门课程使用。如下表: 课程C 教员T 参考书B 物理 李勇 普通物理学 物理 李勇 光学原理 物理 李勇 物理习题集 物理 王军 普通物理学 物理 王军 光学原理 物理 王军 物理习题集 数学 李勇 数学分析 数学 李勇 微分方程 数学 李勇 高等代数 数学 张平 数学分析 数学 张平 微分方程 数学 张平 高等代数 ┇ ┇ ┇
定义9:关系模式R(U),X,Y,Z是U的子集,并且Z=UXY。关系模式R(U 中多值依赖X>Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z 值,有一组Y的值,这组值仅仅决定于x值而与z值无关。 若X→→Y,而Z=①即Z为空,则称X→>→>Y为平凡的多值依赖 多值依赖性质: (1)对称性。若X→>→Y,则→Z,其中Z=U-X-Y。 (2)传递性。若ⅹ→→Y,Y→→Z,则→→>Z一Y (3)函数依赖可看作是多值依赖的特殊情况。若Ⅹ→Y,则Ⅹ→Y。 (4)若X→→Y,ⅩZ,则X>→YZ (5)若X→Y,Ⅹ→)→Z,则X→→Y∩Z。 6)若Ⅹ→→Y,Ⅹ→)Z,则Ⅹ→Y-Z,Ⅹ→→Z-Y
定义9:关系模式R(U),X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U) 中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z) 值,有一组Y的值,这组值仅仅决定于x值而与z值无关。 若X→→Y ,而Z=即Z为空,则称X→→Y为平凡的多值依赖。 多值依赖性质: ⑴对称性。若X→→Y ,则X→→Z,其中Z=U-X-Y。 ⑵传递性。若X→→Y, Y→→Z,则X→→Z-Y。 ⑶函数依赖可看作是多值依赖的特殊情况。若X→Y,则X→→Y。 ⑷若X→→Y, X→→Z,则X→→YZ。 ⑸若X→→Y, X→→Z,则X→→YZ。 ⑹若X→→Y, X→→Z,则X→→Y-Z, X→→Z-Y
八、4NF 定义10:关系模式R∈4NF。 九、规范化小结 NF 消除非主属性对码的部分函数依赖 2NF 消除非主属性对码的传递函数依赖 3NF 消除主属性对码的部分和传递函数依赖 BCNF 消除非平凡且非函数依赖的多值依赖 4NF
八、4NF 定义10:关系模式R1NF,如果对于R的每个非平凡多 值依赖X→→Y(Y X ),X都含有码,则称R 4NF。 九、规范化小结 1NF ↓ 消除非主属性对码的部分函数依赖 2NF ↓ 消除非主属性对码的传递函数依赖 3NF ↓ 消除主属性对码的部分和传递函数依赖 BCNF ↓ 消除非平凡且非函数依赖的多值依赖 4NF