




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统概论数据库系统概论An Introduction to Database System第六章第六章 关系数据理论关系数据理论主要内容:主要内容:关系数据库理论的主要内容,关系数据库理论的主要内容, 包包括函数依赖及相关概念的定义、括函数依赖及相关概念的定义、 函数依赖函数依赖的公理系统、的公理系统、 关系模式的规范形式、关系模式的规范形式、 关关系模式的规范化等内容。系模式的规范化等内容。重点:重点:关系规范化理论,模式分解。关系规范化理论,模式分解。6.1 问题的提出问题的提出6.2 规范化规范化6.3 数据依赖的公理系统数据依赖的公理系统*6.4 模式的分解模式的分解6.5 小结
2、小结关系数据库逻辑设计关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式 数据库逻辑设计的工具关系数据库的规范化理论 关系 关系模式 关系数据库 关系数据库的模式关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F)R: 关系名U: 组成该关系的属性名集合D: 属性组U中属性所来自的域DOM: 属性向域的映象集合F: 属性间数据的依赖关系集合 1.数据依赖数据依赖 一个关系内部属性与属性之间的约束关系一个关系内部属性与属性之间的约束关系 现实世界属性间相互联系的抽象现实世界属性间相互联系的抽象 数据内在的性质数据内在的性质 语义语义的体现的体现2. 数据依赖的类
3、型数据依赖的类型 函数依赖(Functional Dependency,简记为FD) 多值依赖(Multivalued Dependency,简记为MVD) 其他 关系模式R(U, D, DOM, F) 简化为一个三元组: R(U, F) 当且仅当U上的一个关系r满足F时,r称为关系模式 R(U, F)的一个关系考虑这样一个例子:描述一个在校大学生的学习情况会涉及以下一些属性: 学号(S),姓名(SN)、 性别(SS)、 系别(SD)、 专业(SG)、 班级(SC)、 课程号(CB)、 课程名(CN)、 学期数(T)、 学分(CG)和成绩(G), 其属性集合表示为: U=S, SN, SS,
4、SD, SG, SC, CB, CN, T, CG, G。 有以下两种数据库模式: 第一种: 1=R11, R12关系模式R11=S, SN, SS, SD, SG, SC关系模式R12=S, CB, CN, T, CG, G第二种: 2=R21, R22, R23关系模式R21=S, SN, SS, SD, SG, SC 关系模式R22=S, CB, G关系模式R23=CB, CN, T, CG先来看1。 假设r1是R12上的一个关系这个关系r1存在以下一些弊病: (1) 冗余 (2) 插入异常 (3) 删除异常 S#CBG1110701J1951110703J1801110810T1981
5、110701J3871110802T1671110703J2901110810J1831110802J1721110710J145结论:结论:nR12关系模式不是一个好的模式。n“好”的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少“不好”的原因:由存在于模式中的某些数据依赖引起的解决方法:通过分解关系模式来消除其中不合适 的数据依赖|R22是一个好的关系模式R22=S, CB, G|R22是通过将R11分解后得到R12=S, CB, CN, T, CG, G 规范化理论规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异
6、常和数据冗余问题。 函数依赖 平凡函数依赖与非平凡函数依赖 完全函数依赖与部分函数依赖 传递函数依赖定义定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作XY。 设R(U)是属性集U上的一个关系模式, X,YU。 对R(U)中任意一个可能关系r中的任意两个元组t和s, 若有tX=sX, 则有tY=sY, 就称“X函数决定Y”, 或“Y函数依赖于X”。 强调: (1) 关系模式R中的某个函数依赖,R的所有可能关系r都必须
7、满足这个函数依赖; 反之, 如果R中只要有一个关系r不满足这个函数依赖, 我们就认为R不存在这个函数依赖。 (2) 当在确定一个关系模式中的函数依赖时, 只能从属性含义上加以说明, 而不能在数学上加以证明。 (3) 只有数据库设计者才能决定是否存在某种函数依赖。 这就使得数据库系统可以根据设计者的意图来维护数据库的完整性。 例如: 关系模式S=S, CB, CN, T, CG, G中的函数依赖可表示为: CBT; (S, CB)G; CBCN; CBCG等等。在关系模式R(U)中,对于U的子集X和Y,如果XY,但Y X,则称XY是非平凡的函数依赖若XY,但Y X, 则称XY是平凡的函数依赖例:
8、在关系SC(Sno, Cno, Grade)中, (Sno, Cno) Grade (Sno, Cno) Sno (Sno, Cno) Cno非平凡函数依赖平凡函数依赖若XY,则X称为这个函数依赖的决定属性组,也称为决定因素(Determinant)。若XY,YX,则记作XY。若Y不函数依赖于X,则记作XY。定义定义6.2 在R(U)中,如果XY,并且对于X的任何一个真子集X,都有X Y, 则称Y对X完全函数依赖,记作X F Y。 若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X P Y。 例1建立一个描述学校教务的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(M
9、name)、课程名(Cname)成绩(Grade)Student U Sno, Sdept, Mname, Cname, Grade (Sno,Cno)Grade是完全函数依赖, (Sno,Cno)Sdept是部分函数依赖 FP定义定义6.3 在R(U)中,如果XY,(Y X) ,YX YZ, 则称Z对X传递函数依赖。 记为:X Z 注: 如果YX, 即XY,则Z直接依赖于X。例: 在关系Std(Sno, Sdept, Mname)中,有: Sno Sdept,Sdept Mname Mname传递函数依赖于Sno传递定义定义6.4 设K为R中的属性或属性组合。若K U, 则K称为R的侯选码(
10、Candidate Key)。若候选码多于一个,则选定其中的一个做为主码(Primary Key)。F 主属性与非主属性 包含在任何一个候选码中的属性 ,称为主属性(Prime attribute) 不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute) 全码:整个属性组是码,称为全码(All-key) 例2 关系模式S(Sno,Sdept,Sage) 单个属性Sno是码, SC(Sno,Cno,Grade)中,(Sno,Cno)是码例3关系模式R(P,W,A) P:演奏者 W:作品 A:听众 一个演奏者可以演奏多个作品 某一
11、作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key 定义定义6.5 关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码 如在SC(Sno,Cno,Grade)中,则Sno是关系模式SC的外部码 主码与外部码一起提供了表示关系间联系的手段 范式是符合某一种级别的关系模式的集合 关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式 范式的种类:第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF) 1N
12、F的定义设设R是一个关系模式。是一个关系模式。 如果如果R的每个属性的值域的每个属性的值域(更确切地说是(更确切地说是R的每一个关系的每一个关系r的属性值域)都的属性值域)都是不可分的简单数据项(即是原子)的集合,是不可分的简单数据项(即是原子)的集合, 则则称这个关系模式属于第一范式(称这个关系模式属于第一范式(first normal form),), 简记作简记作R1NF。 注意:注意:不满足不满足1NF的关系称为的关系称为非规范化的关系,非规范化的关系, 满足满足1NF的关系称为规范化的关系。的关系称为规范化的关系。 在任何一个关系数据库系统中,在任何一个关系数据库系统中, 关系至少应
13、该是第一范式关系至少应该是第一范式。 不满足第一范式的数据库模式不满足第一范式的数据库模式不能称为关系数据库。不能称为关系数据库。【例例】 如表描述的是学生选课的情况如表描述的是学生选课的情况。 表表 学生选课关系学生选课关系 表学生选课关系 6.2.4第二范式(第二范式(2NF) 1. 2NF 若关系模式若关系模式R是是1NF, 而且每一个非主属性都完而且每一个非主属性都完全函数依赖于全函数依赖于R的候选键,则的候选键,则R称为第二范式,称为第二范式, 记作记作R2NF。 例4 关系模式 S-L-C(Sno, Sdept, Sloc, Cno,Grade) 函数依赖包括: (Sno, Cno
14、) F Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc S-L-C的码为的码为(Sno, Cno) S-L-C满足第一范式。满足第一范式。 非主属性非主属性Sdept和和Sloc部分函数依赖于码部分函数依赖于码(Sno, Cno)SnoCnoGradeSdeptSlocS-L-C(1) 插入异常(2) 删除异常(3) 数据冗余度大(4) 修改复杂 原因 Sdept、 Sloc部分函数依赖于码。 解决方法 S-L-C分解为两个关系模式,以消除这些部分函数依赖 SC(Sno, Cno, Grade)
15、S-L(Sno, Sdept, Sloc)函数依赖图:SnoCnoGradeSCS-LSnoSdeptSlocv关系模式SC的码为(Sno,Cno)v关系模式S-L的码为Snov这样非主属性对码都是完全函数依赖 例:S-L-C(Sno, Sdept, Sloc, Cno, Grade) 1NF SC(Sno, Cno, Grade) 2NF S-L(Sno, Sdept, Sloc) 2NF 采用投影分解法将一个采用投影分解法将一个1NF的关系分解为多个的关系分解为多个2NF的的关系,可以在一定程度上减轻原关系,可以在一定程度上减轻原1NF关系中存在的关系中存在的插入异常、删除异常、数据冗余度
16、大、修改复杂等插入异常、删除异常、数据冗余度大、修改复杂等问题。问题。 将一个将一个1NF关系分解为多个关系分解为多个2NF的关系,并不能完全的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。消除关系模式中的各种异常情况和数据冗余。 如果关系模式如果关系模式R R是是1NF1NF, 而且它的任何一个而且它的任何一个非主属性都不传递地依赖于任何候选键,非主属性都不传递地依赖于任何候选键, 则则R R称称为第三范式,为第三范式, 记作记作R3NFR3NF。 注:若注:若R3NFR3NF, 则则R R的每一个非主属性既不部的每一个非主属性既不部分函数依赖于候选键,分函数依赖于候选键, 也不传
17、递函数依赖于候选也不传递函数依赖于候选键。键。例:2NF关系模式S-L(Sno, Sdept, Sloc)中 函数依赖: SnoSdept SdeptSloc 可得: SnoSloc 即S-L中存在非主属性对码的传递函数依赖, S-L 不属于3NF函数依赖图:S-LSnoSdeptSloc 解决方法解决方法 采用投影分解法,把采用投影分解法,把S-LS-L分解为两个关系模式,以消除传分解为两个关系模式,以消除传递函数依赖:递函数依赖: S-DS-D(SnoSno, SdeptSdept) D-LD-L(SdeptSdept,SlocSloc)S-DS-D的码为的码为SnoSno, D-LD-L
18、的码为的码为SdeptSdept。分解后的关系模式分解后的关系模式S-DS-D与与D-LD-L中不再存在传递依赖中不再存在传递依赖 | 采用投影分解法将一个采用投影分解法将一个2NF2NF的关系分解为多个的关系分解为多个3NF3NF的关系,的关系,可以在一定程度上解决原可以在一定程度上解决原2NF2NF关系中存在的插入异常、删关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。除异常、数据冗余度大、修改复杂等问题。| 将一个将一个2NF2NF关系分解为多个关系分解为多个3NF3NF的关系后,仍然不能完全的关系后,仍然不能完全消除关系模式中的各种异常情况和数据冗余。消除关系模式中的各种
19、异常情况和数据冗余。 例:例: 有一个关系模式有一个关系模式R(U)R(U), U=S, T, CU=S, T, C, 这些数据的语义描述如下:这些数据的语义描述如下: 一名教师只能教一门课程;一名教师只能教一门课程; 若干教师可以教同一门课程;若干教师可以教同一门课程; 一旦某一个学生选定了某门课程,一旦某一个学生选定了某门课程, 就确定了一个固定就确定了一个固定的一个教师。的一个教师。 函数依赖模式(函数依赖模式(R, FR, F)有:)有: 候选键集合候选键集合KEY=(S, C), (S, T)KEY=(S, C), (S, T); 主属性集合主属性集合PA=S, C, TPA=S,
20、C, T; 非主属性集合非主属性集合NPA=NPA=。 R3NFR3NFR上的函数依赖集合上的函数依赖集合 F=(S, C)T, (S, T) C, TC关系模式关系模式R R存在如下一些问题:存在如下一些问题: (1) (1) 数据冗余较大。数据冗余较大。 主属性主属性C C对候选键对候选键(S, T)(S, T)的部分依赖的部分依赖 定义定义6.8 6.8 关系模式关系模式RUR1NFF1NF,若,若XYXY且且Y Y X X时时X X必含有码,则必含有码,则RUR BCNFF BCNF。 等价于:每一个决定属性因素都包含码等价于:每一个决定属性因素都包含码 若若RBCNF 所有所有非主属
21、性非主属性对每一个码都是完全函数依赖对每一个码都是完全函数依赖 所有的所有的主属性主属性对每一个不包含它的码,也是完全函数对每一个不包含它的码,也是完全函数依赖依赖 没有没有任何属性任何属性完全函数依赖于非码的任何一组属性完全函数依赖于非码的任何一组属性 R BCNF R 3NF充分不必要例例5 关系模式关系模式C(Cno,Cname,Pcno)nC3NFnCBCNF例例6 关系模式关系模式S(Sno,Sname,Sdept,Sage)n假定假定S有两个码有两个码Sno,SnamenS2NFnS BCNF例7关系模式SJP(S,J,P)n函数依赖:(S,J)P;(J,P)Sn(S,J)与(J,
22、P)都可以作为候选码,属性相交nSJP3NF,nSJPBCNF R BCNF R 3NF 如果R3NF,且R只有一个候选码 R BCNF R 3NF充分不必要充分必要说明:说明: BCNFBCNF的定义包含了的定义包含了3NF3NF的定义的定义。 但是,但是, 反过来,反过来, 如果如果R R是是3NF3NF, R R未必是未必是BCNFBCNF。 各种范式之间的联系有各种范式之间的联系有BCNFBCNF包含包含3NF3NF包含包含2NF2NF包含包含1NF1NF 转换方法为:转换方法为: 对于对于1NF1NF, 通过消除它中任何非主属性对通过消除它中任何非主属性对候选键的部分依赖,候选键的部
23、分依赖, 可以变成可以变成2NF;2NF;对于对于2NF2NF, 通过消除它通过消除它中任何非主属性对候选键的传递依赖,中任何非主属性对候选键的传递依赖, 可以变成可以变成3NF; 3NF; 对于对于3NF3NF, 通过消除它中任何主属性对候选键的部分依赖通过消除它中任何主属性对候选键的部分依赖和传递依赖,和传递依赖, 可以变成可以变成BCNFBCNF。 如果一个关系数据库中的所有关系模式都属于BCNF, 那么在函数依赖范畴内, 它已实现了模式的彻底分解, 达到了最高的规范化程度, 消除了插入异常和删除异常。通过对关系模式的分解,可以达到使关系模式变成第三范式或更高级范式的要求。 引例引例 分
24、析学校中某一门课程由多多个教师讲授,他们使用相同的一套一套参考书。每个教师可以讲授多门多门课程,每种参考书可以供多门多门课程使用。课课 程程 C教教 员员 T参参 考考 书书 B 物理物理数学数学 计算数学计算数学李李 勇勇王王 军军 李李 勇勇张张 平平 张张 平平 周周 峰峰 普通物理学普通物理学光学原理光学原理 物理习题集物理习题集数学分析数学分析微分方程微分方程高等代数高等代数数学分析数学分析. v非规范化关系描述非规范化关系描述普通物理学普通物理学光学原理光学原理物理习题集物理习题集普通物理学普通物理学光学原理光学原理物理习题集物理习题集数学分析数学分析微分方程微分方程高等代数高等代
25、数数学分析数学分析微分方程微分方程高等代数高等代数李李 勇勇李李 勇勇李李 勇勇王王 军军王王 军军王王 军军李李 勇勇李李 勇勇李李 勇勇张张 平平张张 平平张张 平平 物物 理理物物 理理物物 理理物物 理理物物 理理物物 理理数数 学学数数 学学数数 学学数数 学学数数 学学数数 学学 参考书B教员T课程Cv用二维表表示用二维表表示TeachingTeachingBCNFTeaching具有唯一候选码(C,T,B), 即全码 Teaching模式中存在的问题(1)数据冗余度大 (2)插入操作复杂(3)删除操作复杂(4)修改操作复杂原因:存在多值依赖定义定义6.9 设R(U)是一个属性集U
26、上的一个关系模式, X、 Y和Z是U的子集,并且ZUXY。关系模式R(U)中多值依赖 XY成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。例例 Teaching(C, T, B)就属于多值依赖就属于多值依赖 在R(U)的任一关系r中,如果存在元组t,s 使得tX=sX,那么就必然存在元组 w,v r,(w,v可以与s,t相同),使得wX=vX=tX,而wY=tY,wZ=sZ,vY=sY,vZ=tZ(即交换s,t元组的Y值所得的两个新元组必在r中),则Y多值依赖于X,记为XY。 这里,X,Y是U的子集,Z=U-X-Y。多值依赖的等价形
27、式化的定义:多值依赖的等价形式化的定义:若XY,而Z,则称 XY为平凡的多值依赖 否则称XY为非平凡的多值依赖平凡多值依赖和非平凡的多值依赖平凡多值依赖和非平凡的多值依赖例关系模式WSC(W,S,C)n W表示仓库,S表示保管员,C表示商品n 假设每个仓库有若干个保管员,有若干种商品 n 每个保管员保管所在的仓库的所有商品n 每种商品被所有保管员保管 WSCW1S1C1W1S1C2W1S1C3W1S2C1W1S2C2W1S2C3W2S3C4W2S3C5W2S4C4W2S4C5WS且且WC:(1)多值依赖具有对称性若XY,则XZ,其中ZUXY(2)多值依赖具有传递性若XY,YZ, 则XZ Y(3
28、)函数依赖是多值依赖的特殊情况。若XY,则XY。(4)若XY,XZ,则XY Z。(5)若XY,XZ,则XYZ。(6)若XY,XZ,则XY-Z,XZ -Y。(1) 多值依赖的有效性与属性集的范围有关(2) 若函数依赖XY在R(U)上成立,则对于任何Y Y均有XY 成立多值依赖XY若在R(U)上成立,不能断言对于任何Y Y有XY 成立定义定义6.10 关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有码,则R4NF。如果R 4NF, 则R BCNF例: Teaching(C,T,B) 4NF 存在非平凡的多值依赖CT,且C不是码 用投影分解法把Teaching分解为如下两个关
29、系模式: CT(C, T) 4NF CB(C, B) 4NF CT, CB是非平凡多值依赖 关系数据库的规范化理论是数据库逻辑设计的工具目的:尽量消除插入、删除异常,修改复杂,数据冗余基本思想:消除不合适的数据依赖,使各关系模式消除不合适的数据依赖,使各关系模式达到某种程度的达到某种程度的“分离分离”,采用,采用“一事一地一事一地”的模式的模式设计原则让一个关系描述一个概念、一个实体或者实设计原则让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它体间的一种联系。若多于一个概念就把它“分离分离”出出去去实质:概念的单一化单一化|关系模式规范化的基本步骤 1NF 消除非主属
30、性对码的部分函数依赖消除决定属性 2NF集非码的非平 消除非主属性对码的传递函数依赖凡函数依赖 3NF 消除主属性对码的部分和传递函数依赖 BCNF 消除非平凡且非函数依赖的多值依赖 4NF|不能说规范化程度越高的关系模式就越好|在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适合适的、能够反映现实世界的模式|上面的规范化步骤可以在其中任何一步终止 从一些已知的函数依赖去判断另一些函数依赖从一些已知的函数依赖去判断另一些函数依赖是否成立。是否成立。 这个问题称为这个问题称为逻辑蕴涵逻辑蕴涵问题。问题。定义定义6.11 :F6.11 :F逻辑蕴涵逻辑蕴涵XY
31、XY 设关系模式设关系模式R(U)R(U),X,YX,Y U U ,F F是关于是关于R R的函数依赖集合。的函数依赖集合。 又设又设XYXY为为R R中的一个函数依赖,若对中的一个函数依赖,若对R R的每一个关系的每一个关系r r, 满足满足F F中每一个依赖,中每一个依赖, 则则r r也必须满足也必须满足XYXY,( (即即r r中任意两中任意两个元组个元组t t,s s,若,若tXtX SXSX,则,则tYtY=sYsY ) 我们就说我们就说F F逻逻辑蕴涵辑蕴涵XYXY, 或称或称XYXY从从F F推导出来的,推导出来的, 或称或称XYXY逻辑蕴逻辑蕴涵于涵于F F。 关系模式关系模式
32、R UR F 来说有以下的推理规则:来说有以下的推理规则:A1.A1.自反律自反律(ReflexivityReflexivity):若):若Y Y X X U U, 则则X X Y Y为为F F所蕴含。所蕴含。A2.A2.增广律增广律(AugmentationAugmentation):若):若X XY Y为为F F所蕴含,且所蕴含,且Z Z U U,则,则XZXZYZYZ为为F F所蕴含。所蕴含。A3.A3.传递律传递律(TransitivityTransitivity):若):若X XY Y及及Y YZ Z为为F F所蕴所蕴含,则含,则X XZ Z为为F F所蕴含所蕴含。(l)自反律: 若
33、Y X U,则X Y为F所蕴含 证: 设Y X U 对R 的任一关系r中的任意两个元组t,s:若tX=sX由于Y X,有ty=sy所以XY成立,自反律得证(2)增广律: 若XY为F所蕴含,且Z U,则XZYZ 为F所蕴含。证:已知XY为F所蕴含,且Z U。 设R 的任一关系r中任意的两个元组t,s:若tXZ=sXZ则有tX=sX和tZ=sZ由XY,于是有tY=sY,所以tYZ=sYZ所以XZYZ为F所蕴含,增广律得证。(3) 传递律:若XY及YZ为F所蕴含,则 XZ为 F所蕴含。证:已知XY及YZ为F所蕴含对R 的任一关系 r中的任意两个元组 t,s:若tX=sX,由于XY,有 tY=sY;已
34、知XZ,有tZ=sZ,所以XZ为F所蕴含,传递律得证。1.根据A1,A2,A3这三条推理规则可以得到下面三条推理规则:合并规则:由XY,XZ,有XYZ。伪传递规则:由XY,WYZ,有XWZ。分解规则:由XY及 ZY,有XZ。合并规则、合并规则、 分解规则、分解规则、 伪传递规则是正确的。伪传递规则是正确的。 合并规则证明:若合并规则证明:若XYXY,XZXZ, 则则XYZXYZ 若若XY,XY, 根据增广律得根据增广律得,XXXY,XXXY, 即即XXYXXY。 若若XZXZ, 根据增广律得,根据增广律得, XYYZXYYZ, 根据传递律得,根据传递律得, XYZXYZ。 分解规则证明:若分解
35、规则证明:若XYXY且且Z Z Y Y, 则则XZXZ 若若Z Z Y Y, 根据自反律得,根据自反律得,YZYZ, 又已知又已知XYXY, 根据传递律得,根据传递律得, XZXZ。 伪传递规则证明:若伪传递规则证明:若XYXY, YZWYZW,则,则XZWXZW。 若若XYXY, 根据增广律得,根据增广律得, XZYZXZYZ, 又已知又已知YZWYZW, 根据传递律得,根据传递律得, XZWXZW。 例例: 关系模式关系模式R(CITY, ST, ZIP), 函数依赖集合函数依赖集合F=(CITY, ST)ZIP, ZIPCITY, 证明证明ST, ZIP和和CITY, ST是候选键。是候
36、选键。 证证:ZIPCITY (由给定条件得出)(由给定条件得出) (ST, ZIP)(CITY, ST) (由增广律得出)(由增广律得出) (CITY, ST)ZIP (由给定条件得出)(由给定条件得出) (CITY, ST)(CITY, ST, ZIP) (由增广律得出)由增广律得出) (ST, ZIP)(CITY, ST, ZIP) (由传递律得出)(由传递律得出)并且,并且,ST(CITY, ST, ZIP)和和 ZIP(CITY, ST, ZIP) 均不成立,均不成立, 所所以以(ST, ZIP)是候选键。是候选键。 同理可证同理可证 (CITY, ST)也是候选键。也是候选键。 证
37、毕。证毕。 2.引理6.1 XA1 A2Ak成立的充分必要条件是XAi成立(i=1,k)(证明省略)Armstrong公理系统是有效的、完备的。有效性:由F出发根据Armstrong公理推导出来的每一个函数依赖一定在F+中。完备性:F+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出来。定义定义6.l2 在关系模式R中为F所逻辑蕴含的函数依赖的全体称作 F的闭包,记为F+。例:设关系模式例:设关系模式R(U), U=A, B, C, F=ABC, CB是是R(U)上的一组函数依赖,上的一组函数依赖, 则则F+=AA, ABA, ACA, ABCA, BB, ABB, BCB
38、, ABCB, CC, ACC, BCC, ABCC, ABAB, ABCAB, ACAC, ABCAC, BCBC, ABCBC, ABCABC, ABC, ABAC, ABBC, ABABC, CB, CBC, ACB【例例】 设有关系模式设有关系模式R(U), U=A, B, C, D, E, F=ABC, CDE, BD, EA, 则则 B+F= A+F = =B, D=A, B, C, D, E引理引理6.2 设F为属性集U上的一组函数依赖,X,Y U,XY能由F 根据Armstrong公理导出的充分必要条件是Y XF+用途:将判定XY是否能由F根据Armstrong公理导出的问题转
39、化为:求出XF+ 判定Y是否为XF+的子集的问题证明:证明: 充分性充分性 设设Y=A1A2An(A1, A2, , An为属性)为属性) 假设假设Y X+F, 根据根据X+F的定义,的定义, 对所有对所有i=1, , n, XAi可用可用Armstrong公理系统从公理系统从F推出。推出。 根据合并规则,根据合并规则, XY也能从也能从F推出。推出。 必要性必要性 假设假设XY能用能用Armstrong公理系统推出。公理系统推出。 根据分解规则,根据分解规则, 对于所有对于所有i=1, 2, , n, XAi成立。成立。 根据根据X+的定义有的定义有 Ai X+F, 故有故有A1A2An X
40、+F, 即即Y X+F。证毕。证毕 算法算法6.1 求属性集X(X U)关于U上的函数依赖集F 的闭包XF+ 输入:X,F输出:XF+步骤: 令令X(0)=X, i=0; 令令X(i+1)=X(i)A|V-X(i), VWF, AW; 若已经没有若已经没有VWF, 能使能使X(i+1)X(i), 则则X+=X(i),输出输出X+, 算法结束;算法结束; 否则,否则, 令令i=i+1, 转去执行第转去执行第(2)步。步。 例 已知关系模式R,其中U=A,B,C,D,E;F=ABC,BD,CE,ECB,ACB。求(AB)F+ 。解 设X(0)=AB;(1) X(1)=ABCD=ABCD。(2) X
41、(0) X(1) X(2)=X(1)BE=ABCDE。(3) X(2)=U,算法终止(AB)F+ =ABCDE。定理6.2 Armstrong公理系统是有效的、完备的 证明:1. 有效性 可由定理6.1得证2. 完备性只需证明逆否命题: 若函数依赖XY不能由F从Armstrong公理导出,那么它必然不为F所蕴含(1) 引理: 若VW成立,且V XF+,则W XF+ 证证 因为因为 V XF+ ,所以有,所以有XV成立;成立; 因为因为X V,VW,于是,于是XW成立成立 所以所以W XF+ (2) 构造一张二维表r,它由下列两个元组构成,先证明r必是R(U,F)的一个关系,再证明F+中的全部函
42、数依赖在 r上成立,则证明了定理的完备性。 XF+U-XF+ 11.1 00.0 11.1 11.1 反证法:反证法: 若若r不是不是R 的关系,则必由的关系,则必由F中有函数中有函数依赖依赖VW在在r上不成立所致。由表中可以看到,上不成立所致。由表中可以看到,V是是XF+ 的子集,而的子集,而W不是不是XF+ 的子集,可是由第(的子集,可是由第(1)步)步W XF+矛盾。所以矛盾。所以r必是必是R的一个关系。的一个关系。 (3)证明F+中的全部函数依赖在 r上成立若若XY XY 不能由不能由F F从从ArmstrongArmstrong公理导出,则公理导出,则Y Y不是不是X XF F+ +
43、 的子集。的子集。 (引理(引理6.26.2)必有必有Y Y的子集的子集YY满足满足 YY U-XU-XF F+ +因为因为r r中中u1X=u2Xu1X=u2X而而 u1Y u1Y u2Y u2Y 则则XYXY在在 r r 中不成立,即中不成立,即XYXY必不为必不为RUR F 蕴含蕴含 / /* * 因为因为 F F+ +中的全部函数依赖在中的全部函数依赖在 r r上成立。上成立。综上所述综上所述, ,定理得证定理得证. .说明:说明: Armstrong公理系统的正确性和完备性说明了公理系统的正确性和完备性说明了“通过通过F推推导出的函数依赖导出的函数依赖”与与“F所蕴涵的函数依赖所蕴涵
44、的函数依赖”两种说法是两种说法是完全等价的。完全等价的。 F+也可以说成是由也可以说成是由F出发经出发经Armstrong公理系统导出的函公理系统导出的函数依赖集合。数依赖集合。在实际应用中,在实际应用中, 经常需要将一个已知的函数依赖集变经常需要将一个已知的函数依赖集变换为其它的或更简洁的表示形式。换为其它的或更简洁的表示形式。 例如,例如, 需要把一个大的需要把一个大的关系模式分解为几个小的关系模式,关系模式分解为几个小的关系模式, 这时就需要将相应的函这时就需要将相应的函数依赖也投影到分解后的模式上。数依赖也投影到分解后的模式上。 这就涉及一个函数依赖集这就涉及一个函数依赖集的等价问题。
45、的等价问题。定义定义6.14 如果G+=F+,就说函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。引理引理6.3 F+ = G+ 的充分必要条件是F G+ ,和G F+ 证明:证明: (必要性)(必要性) 设设G+=F+, 由于由于FF+,所以有,所以有FG+。 同理可得同理可得GF+。 (充分性)(充分性) 设设FG+且且GF+。 对于每个对于每个XYF+, 则有则有XY由由F出发使用出发使用Armstrong公理导出。公理导出。 由由FG+, 则则XY就可以由就可以由G+使用使用Armstrong公理公理导出,导出, 所以所以XY(G+)+=G+, 即即XYG+。 所以所
46、以F+G+。 同理可证同理可证G+F+。 所以所以F+=G+, 即即F与与G等价。等价。 定义定义6.15 如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。 (1) F中任一函数依赖的右部仅含有一个属性。 (2) F中不存在这样的函数依赖XA,使得F与F-XA等价。 (3) F中不存在这样的函数依赖XA, X有真子集Z使得F-XAZA与F等价。 注:注: 条件条件(1)保证了函数依赖的右部没有多余的属性保证了函数依赖的右部没有多余的属性 条件条件(2)保证了保证了F中不存在多余的函数依赖中不存在多余的函数依赖 条件条件(3)保证了每个函数依赖的左部没有多余
47、的属性保证了每个函数依赖的左部没有多余的属性 F 的极小依赖集不一定是惟一的。的极小依赖集不一定是惟一的。 例2 关系模式S,其中: U= Sno,Sdept,Mname,Cno,Grade , F= SnoSdept,SdeptMname,(Sno,Cno)Grade F=SnoSdept,SnoMname,SdeptMname,(Sno,Cno)Grade,(Sno,Sdept)SdeptF是最小覆盖,而F不是。因为:F - SnoMname与F 等价 F - (Sno,Sdept)Sdept也与F 等价 F F = = A AB B,B BA A,B BC C,A AC C,C CA A
48、 F Fm m1 1、F Fm m2 2都是都是F F的最小依赖集么?的最小依赖集么? F Fm m1 1= = A AB B,B BC C,C CA A F Fm m2 2= = A AB B,B BA A,A AC C,C CA A 定理定理6.3 每一个函数依赖集F均等价于一个极小函数依赖集Fm。此Fm称为F的最小依赖集。证明: 构造性证明,找出F的一个最小依赖集。 方法:方法:(1) (1) 应用分解规则,应用分解规则, 使使F F的每一个函数依赖的右的每一个函数依赖的右部属性单一化。部属性单一化。 (2) (2) 去掉各函数依赖左部多余的属性。去掉各函数依赖左部多余的属性。 具体办法
49、具体办法是:是: 逐个循环检查逐个循环检查F F中左边是非单属性的依赖中左边是非单属性的依赖XY XY 。 设设X=BX=B1 1B B2 2B Bn n, 若若Y(X-Y(X-B Bi i) )+ +F F, 则以则以(X-(X-B Bi i)Y)Y取代取代XYXY, 直到直到F F不再改变为止。不再改变为止。 (3) (3) 去掉多余的函数依赖。去掉多余的函数依赖。 具体办法是:具体办法是: 循环检循环检查查F F中各函数依赖中各函数依赖XYXY, 令令G=F-XYG=F-XY, 若若YXYX+ +G G, 则从则从F F中去掉中去掉XYXY; 否则,否则, 不能去掉不能去掉XYXY。 直
50、到直到F F不不再改变为止。再改变为止。 【例例】 设关系模式设关系模式R(U)R(U)上的函数依赖集为上的函数依赖集为F, U=A, B, C, F, U=A, B, C, D, E, G, ; F=ABC, BCD, ACDB, DEG, CA, D, E, G, ; F=ABC, BCD, ACDB, DEG, CA, BEC, CGBD, CEAGBEC, CGBD, CEAG。 试计算其等价的极小函数依赖试计算其等价的极小函数依赖集集FF。 解解(1)(1)应用分解规则,应用分解规则, 使使F F的每一个函数依赖的右部属性的每一个函数依赖的右部属性单一化。单一化。 结果为:结果为:
51、F1=ABC, BCD, ACDB, DE, DG, CA,BEC, F1=ABC, BCD, ACDB, DE, DG, CA,BEC, CGB,CGD, CEA, CEGCGB,CGD, CEA, CEG。 (2) 去掉各函数依赖左部多余的属性。去掉各函数依赖左部多余的属性。 因为因为CEA, CEA, CA, CA, 则则E E是多余的;是多余的; 对于对于ACDB,ACDB,由由(CD)(CD)+ +F1F1=ABCDEG=ABCDEG,则则A A是多余的。是多余的。 其它函数依赖中无左部多余的属性。其它函数依赖中无左部多余的属性。 删除函数依赖左部多余的函数依赖后的结果为:删除函数依
52、赖左部多余的函数依赖后的结果为: F F2 2=ABC,BCD, CDB, DE, DG, CA, =ABC,BCD, CDB, DE, DG, CA, BEC, CGB, CGD, CEGBEC, CGB, CGD, CEG。 F1=ABC, BCD, ACDB, DE, DG, CA, BEC, CGB, CGD, CEA, CEG (3) (3) 在在F2F2中去掉多余的函数依赖。中去掉多余的函数依赖。 对于对于CGB, CGB, 由由于于 (CGCG)+ +=ABCDEG, =ABCDEG, 则是多余的。则是多余的。 其等价的极小函其等价的极小函数依赖集数依赖集FF的结果为:的结果为:
53、 F=ABC, BCD, CDB, DE, DG, CA, F=ABC, BCD, CDB, DE, DG, CA, BEC, CGD, CEGBEC, CGD, CEG。 设关系模式设关系模式R R中中U=ABC.NU=ABC.N个属性个属性 U U在在FDFD中出现的范围中出现的范围 (1)(1)左右出现左右出现; ; (2)(2)只在左部出现只在左部出现; ; (3)(3)只在右部出现只在右部出现; ; (4)(4)不出现不出现; ; 方法方法: :按以下几步来求候选键按以下几步来求候选键 1.1.只在只在FDFD右部出现的属性右部出现的属性, ,不属于候选码不属于候选码; ; 2.2.
54、只在只在FDFD左部出现的属性左部出现的属性, ,一定存在与任何候选码当中一定存在与任何候选码当中; ; 3.3.两边均不出现的属性一定存在于任何候选码当中两边均不出现的属性一定存在于任何候选码当中; ; 4.4.其他属性逐个与其他属性逐个与2,32,3的属性组合的属性组合, ,求属性闭包求属性闭包, ,直至直至X X的闭的闭包等于包等于U,U,若等于若等于U,U,则则X X为候选码为候选码. .举例说明举例说明: : R(U)=(ABCDEG),F=AB-C,CD-R(U)=(ABCDEG),F=AB-C,CD-E,E-A,A-G,-E,E-A,A-G,求候选码求候选码. . 根据需求分析中
55、得到的用户要求,根据需求分析中得到的用户要求, 我们可以把关系分我们可以把关系分为两类。为两类。 (1) (1) 静态关系:静态关系: 其特点是一旦数据已加载,其特点是一旦数据已加载, 用户只能在用户只能在这个关系上运行查询操作。这个关系上运行查询操作。 这种关系的要求是必须属于这种关系的要求是必须属于1NF1NF。 (2) (2) 动态关系:动态关系: 其特点是当数据加载后,其特点是当数据加载后, 经常对数据进经常对数据进行增、行增、 删、删、 改操作。改操作。 这种关系的要求是至少属于这种关系的要求是至少属于3NF3NF。 把低一级的关系模式分解为若干个高一级的关系把低一级的关系模式分解为
56、若干个高一级的关系模式的方法不是唯一的模式的方法不是唯一的只有能够保证分解后的关系模式与原关系模式等只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义价,分解方法才有意义三种模式分解等价的定义:三种模式分解等价的定义: 分解具有无损连接性分解具有无损连接性 分解要保持函数依赖分解要保持函数依赖 分解既要保持函数依赖,又要具有无损连接性分解既要保持函数依赖,又要具有无损连接性定义定义6.16 6.16 关系模式关系模式RR的一个分解:的一个分解:= R= R1 1U ,R R2 2U ,R Rn n U= U= U Ui i,且不存在,且不存在 U Ui i U Uj j,F Fi
57、i 为为 F F在在 U Ui i 上的投影上的投影定义定义6.17 6.17 函数依赖集合函数依赖集合 X XY Y | | X XY Y F F+ +XYXY U Ui i 的一个覆盖的一个覆盖 F Fi i 叫作叫作 F F 在属性在属性 U Ui i 上的投影上的投影i=1n例例: SL(Sno, Sdept, Sloc) F= SnoSdept, SdeptSloc, SnoSloc SL2NF 存在插入异常、删除异常、冗存在插入异常、删除异常、冗余度大和修改复杂等问题余度大和修改复杂等问题SL Sno Sdept Sloc 95001 CS A 95002 IS B 95003 M
58、A C 95004 IS B 95005 PH B 分解方法可以有多种分解方法可以有多种 1. SL分解为下面三个关系模式分解为下面三个关系模式: SN(Sno) SD(Sdept) SO(Sloc) SN SD SO Sno Sdept Sloc 95001 CS A 95002 IS B 95003 MA C 95004 PH 95005 2. SL分解为下面二个关系模式:分解为下面二个关系模式: NL(Sno, Sloc) DL(Sdept, Sloc)分解后的关系为:分解后的关系为: N DL Sno Sloc Sdept Sloc 95001 A CS A 95002 B IS B
59、95003 C MA C 95004 B PH B 95005 B NL DL Sno Sloc Sdept 95001 A CS 95002 B IS 95002 B PH 95003 C MA 95004 B IS 95004 B PH 95005 B IS 95005 B PH 元组增加了,信息丢失了元组增加了,信息丢失了3. 将将SL分解为下面二个关系模式:分解为下面二个关系模式: ND(Sno, Sdept) NL(Sno, Sloc) 分解后的关系为:分解后的关系为: ND NL Sno Sdept Sno Sloc 95001 CS 95001 A 95002 IS 95002
60、B 95003 MA 95003 C 95004 IS 95004 B 95005 PH 95005 B ND NL Sno Sdept Sloc 95001 CS A 95002 IS B 95003 MA C 95004 CS A 95005 PH B 与SL关系一样,因此没有丢失信息6.4.2 具有无损连接性的关系模式分解具有无损连接性的关系模式分解 1. 分解分解具有无损连接性具有无损连接性 设关系模式设关系模式R(U),F是是R上的函数依赖集合,上的函数依赖集合,=R1, R2, , Rn是是R的一个分解,如果对的一个分解,如果对R的任一满的任一满足足F的关系的关系r下式成立:下式成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冲刺2025年高考地理大题突破+限时集训(新高考)大题07工业(3大热点角度)(解析版)
- 2025年弃泡沫塑料再生装置合作协议书
- 2025企业借款合同范本(商业贷款)
- 2025年温室大棚租赁合同
- 2025年热力工程设备项目建议书
- 2025设备租赁终止合同模板
- 2025年血液体液诊断产品合作协议书
- 2025年钨板、棒、丝材项目合作计划书
- 2025年锌压延加工材项目建议书
- 2025年真空管太阳集热器项目建议书
- 员工职业晋升规划计划
- 第15课《青春之光》课件-2024-2025学年统编版语文七年级下册
- DB14-T 1737-2024 医疗护理员培训机构服务规范
- 尼康COOLPIXL120用户手册
- ICT测试设备简介
- 2024年中考模拟试卷生物(广东深圳卷)
- 精神类药物中毒护理查房
- 项目工期管理
- 【MOOC】英语语法与写作-暨南大学 中国大学慕课MOOC答案
- 2023年新高考天津卷历史高考真题(含答案)
- 部门发展规划
评论
0/150
提交评论