260第5章 关系数据库设计理论.ppt
《260第5章 关系数据库设计理论.ppt》由会员分享,可在线阅读,更多相关《260第5章 关系数据库设计理论.ppt(72页珍藏版)》请在三一办公上搜索。
1、本章主要讲解内容,关系数据理论是关系数据库的理论基础,也是设计关系数据库的指南。本章计论关系数据理论的基本概念、方法和题解。如何设计数据库模式1)设计一个好的关系数据库模式(概念模式)逻辑设计2)凭经验设计?3)什么是好的关系数据库模式?4)好的关系数据库模式应该包括多少关系模式?5)每个关系模式应该包含哪些属性?6)借助数学工具规定设计的理论和方法规范化,5、1 数据存储异常,假设有如下关系STUDENT:STUDENT(SNO,SNAME,SEX,CNO,SCORE表示学号,姓名,性别,课程,成绩 其中SNO,CNO是主关键字这个关系模式存在如下问题:数据冗余 一个学生选修多门课程,导致S
2、NAME和SEX多次重复存储.不一致性 由于数据存储冗余,当更新某些数据项时,就有可能一部分修改了,而另一部分未修改,造成数据不一致性插入异常 如果某个学生未选课,他的信息(SNO,SNAME,SEX)就无法插入删除异常 当要删除所有学生成绩时,将所有(SNO,SNAME,SEX)也都删除了,这便是删除异常,为了克服上述这些异常,将STUDENT分解为如下两个关系STUDENT(SNO,SNAME,SEX)SC(SNO,CNO,SCORE)这是因为STUDENT关系中的某些属性间存在数据依赖,数据依赖是现实世界事物之间的相互关联性的一种表达,是属性固有语义的体现.人们只有对一个数据库所要表达的
3、现实世界进行认真的调查与分析,才能归纳与客观事实相符合的数据依赖,5.2 函数依赖,5.2.1 函数依赖(FD)的定义1)函数依赖定义1 设R(U)是一个关系模式,X,Y是R的两个属性集合,X,YR,RX,Y是关系R在属性XY上的投影,当任何时刻RX,Y中的任意两个元组中的X属性值相同时,则它的Y属性值也相同,则称X函数决定Y,或称为Y函数依赖于X,记作XY 例子(1)S(SNO,SN,AGE,SEX,DEPT)(2)SNO函数决定(SN,AGE,SEX,DEPT)(3)(SN,AGE,SEX,DEPT)函数依赖于SNO(4)SNO(SN,AGE,SEX,DEPT)2)平凡函数依赖与非平凡函数
4、依赖定义2 在关系R(U)中,对于U的子集X和Y,如果XY,但Y不是X的了集,则XY是非平凡函数依赖.若Y 是X的子集,则称XY为平凡函数依赖,3)完全函数依赖与部分函数依赖设XY是一个FD,并且对于任何一个XX,X Y不成立,则称XY是一个完全函数依赖,记作X Y设XY是一个FD,并且存在一个XX,使X Y成立,则称XY是一个部分函数依赖,记作X Y示例1)SC(SNO,CNO,G)(SNO,CNO)G是完全函数依赖(2)SC(SNO,CNO,SNAME,CNAME,G)SNO,CNO是主键(SNO,CNO)G SNO SNAMECNO CNAME所以存在部分函数依赖,4)传递函数依赖 设
5、X,Y,Z是R互不相同的属性集合 XY,Y X,且 YZ 则称属性集合Z传递(transfer)函数依赖于X,记作 X Z(1)UN(SNO,CN,G,DN,DM)(学号,课程名,成绩,系名,系主任)(2)SNODN(3)DN SNO(4)DNDM则DM传递函数依敕于SNO,5.2.2函数依赖公理函数依赖的推导公理-Armstrong公理(阿姆斯特朗公理)设有关系模式 R(U),X,Y,Z,WU,则:A1(自反性):若YX,则XYA2(增广性):若XY,则XZ YZA3(传递性):若XY,YZ,则XZ由Armstrong公理可以得到以下推论合成规则:若XY,XZ,则XYZ;分解规则:若XYZ,
6、则XY,XZ;伪传递规则:若XY,YW Z,则XW Z,引理:XA1 A2 AN成立的充分必要条件是X AI成立(I=1,2,3.N)5、2、3函数依赖与属性关系如果X和Y之间是1-1关系,则存在XY,YX如果X和Y之间是“多对1”关系,则存在XY如果X和Y之间是“多对多”,则X和Y 不存在函数依赖,小结,1)函数依赖是完整性约束的一种特殊形式2)函数依赖分为(1)完全函数依赖(2)部分函数依赖(3)传递函数依赖3)函数依赖是规范化理论的依据4)函数依赖是规范化程度的准则,设有如下关系R:请仅在R中已给出数据的范围内分析其函数依赖关系,5.3 函数依赖的闭包F+属性闭包及其计算,5.3.1函数
7、依赖的闭包F+定义 关系模式R(U,F)中为F所逻辑蕴含的函数依赖的全体称为F的闭包,记为:F+例:关系模式S(U,F),其中U=SNO,SNAME,SEX,AGEF=SNOSNAME,SNOSEX,SNOAGE,5.3.2 属性闭包及其计算,定义 设关系模式R(U),F为其函数依赖集,则称所有用Armstrong公理从F推出的函数依赖XAi中的Ai的属性集合为X的属性闭包,记作X+例:有关系模式 S(SNO,SN,SEX,AGE)有 SNO SN,SNO SEX,SNO AGE则有SNO+=SNO,SN,SEX,AGE定理 设关系模式R(U),F为其函数依赖集,X,YU,则从F推出X Y的充
8、分必要条件是Y X+,算法5.1 求属性集X关于函数依赖F的属性闭包X+,算法 求属性的闭包X+输入 X,F 输出 X+步骤(1)令X(0)=X,I=0(2)求B,B=A|(V)(W)(V W FV X(I)AW(A是这样的属性:在F中寻找尚未用过的左边是X(I)的子集的函数依赖)(3)X(I+1)=BX(I)(4)判断X(I+1)=X(I)吗?(5)若相等,或X(I)=U,则X(I)为属性集X的属性闭包.且算法终止(6)若不相等,则I=I+1,返回第2步.,属性闭包计算示例,例1 已知关系模式R(U,F),U=A,B,C,D,E;F=AB,DC,BC E,AC B求(AE)+,(AD)+解
9、求(AE)+设X(0)=AE计算X(1):逐一扫描F中的各个函数依赖,找出左部为A,E或AE的函数依赖,得到一个:AB.故有X(1)=AEB=ABE计算X(2):逐一扫描F中的各个函数依赖,找到左部为A,B,E或AB,AE,BE,ABE的函数依赖,示发现有新的函数依赖X(2)=X(1)=ABE 有 X(1)=X(2),算法终止,(AE)+=ABE(注:因为找不到新的函数依赖,即F中未用过的函数依赖的左边属性已没有X(1)的子集,所以,不必再计算下去,算法终止)练习 求(AD)+,解 求(AD)+X(0)=AD求X(1):逐一扫描F中的各个函数依赖,找出左部为A,D或AD的函数依赖,得到:AB,
10、D C,故有X(1)=ABCD求X(2):逐一扫描F中的各个函数依赖,找出左部为ABCD或其子集的函数依赖,得到:BCE,AC B,故有X(2)=ABCDE因为X(2)=U,故算法终止,(AD)+=ABCDE,例2,设有关系模式R(U,F),其中U=A,B,C,D,E,I;F=AD,AB E,BIE,CD I,E C计算(AE)+解:设X(0)=AE求X(1)在F的左部找出AE及其子集的函数依赖,有AD,E C 所以X(1)=ACDE求X(2)在F的左部找出ACDE及其子集的函数依赖,新的依赖有CDI 所以X(2)=ACDEI 求X(3)因为在F中未用过的函数依赖左边属性已没有X(2)的子集,
11、所以不必再计算,即X(3)=X(2),算法终止(AE)+=ACDEI,练习 设有函数依赖集F=DG,C A,CD E,A B计算闭包D+,C+,A+,(CD)+,(AD)+,(AC)+,(ACD)+,5.4 函数依赖的等价与覆盖,5.4.1 等价与覆盖定义:一个关系模式R(U)上的两个依赖集F和G,如果F+=G+,则称F和G是等价的,记作F G.如果函数依赖集FG.则称G是F的一个覆盖,反之亦然两个等价的依赖集在表示能力上是完全相同的.,5.4.2 函数依赖集的最小集,简称为最小函数依赖集定义:对于给定的函数依赖F,当满足下列条件时,称为F的最小集,记作F:F的每个依赖的右部都是单个属性对于F
12、中的任何一个函数依赖XA,F-XA与F都不等价对于F中的任何一个XA和X的真子集Z,(F-XA)ZA与F都不等价说明:条件(2)保证了在F中不存在多余的函数依赖;条件(3)保证了F中每个函数依赖的左边没有多余的属性,5.4.3 最小依赖集的求解算法,算法4.2 计算最小依赖集输入:一个函数依赖集F输出:F的一个等价最小依赖集F方法:(1)应用分解规则,使F中每一个依赖的右部属性单一化(2)去掉各依赖左部多余的属性.具体做法是:一个一个地检查F中左边是非单属性的依赖,例如XYA,现在要判断Y是否为多余的,则以XA代替XYA是否等价?只要在F中求X+,若X+包含A,则Y是多余的属性;否则Y不是多余
13、的属性.依次判断其他属性即可消除各依赖左边的多余属性.(3)去掉多余的依赖.具体做法是:从第一个依赖开始,从F中去掉它(假设该依赖为XY),然后在剩下的依赖中求X+,看X+是否包含Y,若是,则去掉XY;若不包含Y,则不能去掉XY.(4)这样依次做下去.,例 设有依赖集:F=ABC,C A,BC D,ACD B,D EG,BE C,CG BD,CE AG计算其等价的最小依赖集.解:(1)将依赖右边属性单一化,结果为 F1=,AB C BE CC A CG BBC D CG DACD B CE AD E CE GD G,(2)在F1中去掉依赖左部多余的属性,因为有C A,则对CE A,E是多余的,
14、对于ACD B,若去掉A,由于(CD)+=ABCDEG,则A是多余的,删除依赖左部多余的依赖后:F2=,AB C BE CC A CG BBC D CG DCD B C AD E CE GD G,(3)在F2中去掉多余的依赖.对于CG B,去掉他,仍有(CG)+=ABCDEG,则是多余的,删除多余的依赖后:F3=,AB C D GC A BE CBC D CG DCD B CE GD E,注意:F的最小依赖集不一定是惟一的,它与对各函数依赖FD及XA中X各属性的处理顺序有关。,F3即是求得的最小函数依赖集F,5.5 候选关键字的求解理论与算法,候选关键字:属性或属性的最小组合,其值能够惟一地标
15、识一个元组.对于给定的关系R(A1,A2,An)和函数依赖集F,可将其属性分为四类:L类:仅出现在F的函数依赖左部的属性R类:仅出现在F的函数依赖右部的属性N类:在F的函数依赖左右两边均未出现的属性LR类:在F的函数依赖左右两边均出现的属性例:有关系模式R(A,B,C,D,E,F,P)R 的函数依赖集为F=AD,E D,D B,BC D,DC A,D F则L类属性有:C ER类属性有:FLR类属性有:ABDN类属性:P,5.5.1 快速求解候选关键字的充分条件定理 对于给定的关系模式R及其函数依赖F,若X(XR)是L类属性,则X必为R的任一候选关键字的成员,若Y(Y R)是R类属性,则Y不在任
16、何候选关键字中,若Z(Z R)是N类属性,则Z必包含在R的任一候选关键字中.推论1 对于给定的关系模式R及其函数依赖集F,如果X是L类属性,且X+包含了R的全部属性;则X必为R的惟一候选关键字推论2 对于给定的关系模式及其函数依赖集F,如果X是R的N类和L类组成的属性集,且X+包含了R的全部属性,则X是R的惟一候选关键字,例1 设有关系模式R(A,B,C,D),其函数依赖集F=DB,BD,ADB,AC D,求R的所有候选关键字解:在F中发现,L 类属性有A,C两属性,则AC必为候选关键字成员,又(AC)+=ABCD,所以AC是唯一候选关键字例2 设有关系模式R(A,B,C,D,E,P)及其函数
17、依赖集F=A D,E D,D B,BC D,DC A,求R的所有全部候选关键字.解:考察F发现,L 类属性有C,E,N类属性有P,则CEP必在任何候选关键字中,又(CEP)+=ABCDEP,所以CEP是R的惟一候选关键字,5.5.2 左边为单属性的函数依赖集的候选关键字成员的图论判定方法定义:在一个函数依赖图中有下列术语(1)引出线/引入线:若A B,则A与B是连接的,则(A,B)是引出线,对B而言是引入线(2)原始点:只有引出线而无引入线的结点,它表示L类属性(3)终结点:只有引入线而无引出线的结点,它表示R类属性(4)途中点:即有引入线又有引出线的结点,对应LR类属性(5)孤立点:既无引入
18、线又无引出线的结点,对应N类属性(6)关键点:原始点和孤立点统称为关键点(7)关键属性:关键点对应的属性称为关键属性(8)独立回路:不能被其他结点到达回路,函数依赖图示例,R(A,B,C,D,E,F)F=A B,B C,E F,FE,算法 单属性依赖集候选关键字图论求解法输入:关系模式R,R的单属性函数依赖集F输出:R的所有候选关键字方法(1)求F的最小函数依赖集F(2)构造函数依赖图FDG(Functional Dependencies Graph)(3)从图中找出关键属性集X(X可为空)(4)查看图中有无独立回路,若无则输出X即为R的惟一候选关键字,转(6);若有,则转(5)(5)从各独立
19、回路中各取一结点对应的属性与X组合成一候选关键字,并重复这一过程取尽所有可能的组合,即为R的全部候选关键字(6)结束.,例3 设R=O,B,I,S,Q,DF=SD,D S,I B,B I,B O,O B求R的所有候选关键字.解:(1)F=F=SD,D S,I B,B I,B O,O B(2)构造函数依赖图如图所示,(3)关键属性Q(4)共有两个独立回路,SDS,IBOBI,所以共有2*3=6个候选关键字(5)R的所有候选关键字为:QSI,QSB,QSO,QDI,QDB,QDO,5.5.3 多属性依赖集候选关键字求解法算法 多属性依赖集候选关键字求解法输入:关系模式R与函数依赖集F输出:R的所有
20、候选关键字方法:(1)将R的所有属性分为L,R,N和LR四类,并令X代表L,N两类,Y代表LR类(2)求X+,若X+包含了R的全部属性,则X为R的惟一候选关键字,转(4),否则转(3)(3)在Y任取所有一个属性A,求(XA)+,若它包含了R的全部属性,则为一个候选关键字,否则依次取两个,三个.直至其属性闭包包含了R的全部属性(4)结束,输出结果,Exercises on Functional Dependencies,Questions:,Consider a relation R(A,B,C,D,E)with the following dependencies:AB C,CD E,DE B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 260第5章 关系数据库设计理论 260 关系 数据库 设计 理论

链接地址:https://www.31ppt.com/p-5987189.html