第06章关系数据理论(2)优秀PPT.ppt
《第06章关系数据理论(2)优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第06章关系数据理论(2)优秀PPT.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第0606章关系数据理论章关系数据理论(2)(2)现在学习的是第1页,共41页复复 习习1.1.关系模式存在的四种异常现象关系模式存在的四种异常现象2.2.函数依赖、非平凡函数依赖函数依赖、非平凡函数依赖3.3.完全函数依赖、部分函数依赖完全函数依赖、部分函数依赖4.4.传递函数依赖传递函数依赖5.1NF5.1NF、2NF2NF、3NF3NF现在学习的是第2页,共41页1.BCNF1.BCNF1.BCNF1.BCNF定义:定义:定义:定义:设关系模式设关系模式RR 1NF1NF,如果对于,如果对于R R的每个函数依赖的每个函数依赖XYXY,若,若Y Y不属于不属于X X,则,则X X必含有候
2、选码,那么必含有候选码,那么R R BCNFBCNF。若若R R BCNF BCNF,则,则R R 3NF3NF。2.2.2.2.性质:性质:性质:性质:6.2.6 BCNF6.2.6 BCNF(1)(1)若若R R 3NF3NF,且,且R R只有一个候选码,则只有一个候选码,则R R必属于必属于BCNFBCNF。(2)(2)所有非主属性对每一个码都是完全函数依赖。所有非主属性对每一个码都是完全函数依赖。(3)(3)所有主属性对每一个不包含它的码都是完全函数依赖所有主属性对每一个不包含它的码都是完全函数依赖(4)(4)没有任何属性完全函数依赖于非码的任何一组属性。没有任何属性完全函数依赖于非码
3、的任何一组属性。现在学习的是第3页,共41页例:关系模式例:关系模式SJP(S,J,P)中,中,S-学生、学生、J-课程、课程、P-名次,名次,n每个学生选修每门课程的成绩都有一定的名次,每个学生选修每门课程的成绩都有一定的名次,n每门课程中每一名次只有一个学生每门课程中每一名次只有一个学生(即没有并列名次即没有并列名次)。则有:函数依赖则有:函数依赖(S,J)P,(J,P)S,所以所以(S,J)与与(J,P)都可以作为候选码,都可以作为候选码,SJP BCNF。6.2.6 BCNF6.2.6 BCNF 从函数依赖的范畴考虑,从函数依赖的范畴考虑,BCNFBCNF已完成了模式的彻底分解,已完成
4、了模式的彻底分解,消除了插入、删除和更新异常,数据冗余度大大降低,但消除了插入、删除和更新异常,数据冗余度大大降低,但从数据依赖的角度,从数据依赖的角度,BCNFBCNF的关系模式仍存在一定的问题的关系模式仍存在一定的问题。现在学习的是第4页,共41页6.2.6 BCNF6.2.6 BCNF小结:小结:1.从定义可以看出:从定义可以看出:2.转换方式:转换方式:(1)1NF2NF:消除:消除1NF中中非主属性非主属性对候选码的对候选码的部分依部分依赖赖(2)2NF3NF:消除:消除2NF中中非主属性非主属性对候选码的对候选码的传递依赖传递依赖(3)3NFBCNF:消除:消除3NF中中主属性主属
5、性对候选码的对候选码的部分依赖部分依赖和传递依赖和传递依赖现在学习的是第5页,共41页6.2.6 BCNF6.2.6 BCNF小结:小结:3.如果一个关系模式属于如果一个关系模式属于BCNF,那么在函数依赖,那么在函数依赖的范畴内,已经实现模式的彻底分解,达到了最的范畴内,已经实现模式的彻底分解,达到了最高的规范化程度,消除了插入异常和删除异常高的规范化程度,消除了插入异常和删除异常4.对于不好的关系模式,就是对存在弊端函数依赖对于不好的关系模式,就是对存在弊端函数依赖进行分解。进行分解。现在学习的是第6页,共41页练练 习习指出下列关系模式是第几范式?并说明理由。指出下列关系模式是第几范式?
6、并说明理由。指出下列关系模式是第几范式?并说明理由。指出下列关系模式是第几范式?并说明理由。(1)R1(X,Y,Z)(1)R1(X,Y,Z)(1)R1(X,Y,Z)(1)R1(X,Y,Z)F=(XY F=(XY F=(XY F=(XYZZ)(2)R(X,Y,Z)(2)R(X,Y,Z)(2)R(X,Y,Z)(2)R(X,Y,Z)F=(X F=(X F=(X F=(XY,X ZY,X Z)(3)R(W,X,Y,Z)(3)R(W,X,Y,Z)F=(X F=(X F=(X F=(XZ,WX YZ,WX Y)R1是是BCNFR2是是BCNFR3是是1NF现在学习的是第7页,共41页6.3 6.3 数据依
7、赖的公理系统数据依赖的公理系统1.1.1.1.逻辑蕴含逻辑蕴含逻辑蕴含逻辑蕴含定义定义6.116.11对于满足一组函数依赖对于满足一组函数依赖对于满足一组函数依赖对于满足一组函数依赖 F F F F 的关系模式的关系模式R R ,其任何一个关系,其任何一个关系r r r r,若函数依赖,若函数依赖XYXYXYXY都成立都成立,则称则称F F 逻辑蕴含逻辑蕴含XYXY。例如:例如:例如:例如:设关系模式设关系模式R,有,有A U、B U、C U;又假设在;又假设在R中有函数依赖集中有函数依赖集F=AB,BC,则称则称则称则称R R中有函数依赖中有函数依赖中有函数依赖中有函数依赖ACAC,即,即,
8、即,即F F逻辑蕴涵逻辑蕴涵逻辑蕴涵逻辑蕴涵ACAC。现在学习的是第8页,共41页6.3 6.3 数据依赖的公理系统数据依赖的公理系统2.Armstrong2.Armstrong2.Armstrong2.Armstrong公理系统公理系统公理系统公理系统一套推理规则,是一套推理规则,是模式分解模式分解算法的理论基础算法的理论基础用途:用途:(1)(1)求给定关系模式的码求给定关系模式的码 (2)(2)从一组函数依赖求得蕴含的函数依赖从一组函数依赖求得蕴含的函数依赖现在学习的是第9页,共41页6.3 6.3 数据依赖的公理系统数据依赖的公理系统(1)Armstrong(1)Armstrong公理
9、系统的内容公理系统的内容公理系统的内容公理系统的内容:对关系模式对关系模式R UR F 来说来说,有以下的推理规则:有以下的推理规则:Al.自反律:自反律:若若Y Y X X U U,则,则X XY Y为为F F 所蕴含。所蕴含。A2.增广律增广律:若若X XY Y为为F F所蕴含,且所蕴含,且Z Z U U,则则XZXZYZYZ为为F F所蕴含。所蕴含。A3.传递律传递律:若若X XY Y 及及Y YZ Z 为为F F所蕴含,所蕴含,则则X XZ Z 为为F F所蕴含。所蕴含。注意:由自反律所得到的函数依赖均是平凡的函注意:由自反律所得到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于数
10、依赖,自反律的使用并不依赖于F F。现在学习的是第10页,共41页6.3 6.3 数据依赖的公理系统数据依赖的公理系统(2)Armstrong(2)Armstrong(2)Armstrong(2)Armstrong定理的证明定理的证明定理的证明定理的证明 定理定理定理定理 6.l Armstrong6.l Armstrong6.l Armstrong6.l Armstrong推理规则是正确的推理规则是正确的推理规则是正确的推理规则是正确的 自反律:若自反律:若Y Y X X U U,则,则X X Y Y为为F F所蕴含所蕴含证证:设设Y Y X X U U 对对R UR F 的任一关系的任一关
11、系r r中的任意两个元组中的任意两个元组t t,s s:若:若:t t X X=s s X X,由于由于Y Y X X,则有:则有:t t y y=s s y y,所以:所以:X XY Y成立成立.自反律得证自反律得证现在学习的是第11页,共41页6.3 6.3 数据依赖的公理系统数据依赖的公理系统 增广律增广律:若若XYXY为为F F所蕴含,且所蕴含,且Z Z U U,则则XZYZ XZYZ 为为F F所蕴含。所蕴含。证:证:设设XYXY为为F F所蕴含,且所蕴含,且Z Z U U。设设RURF 的任一关系的任一关系r r中任意的两个元组中任意的两个元组t t,s s;若:若:t t XZX
12、Z=s s XZXZ,则有,则有:t t X X=s s X X 和和t t Z Z=s s Z Z;由由X XY Y,于是有,于是有t t Y Y=s s Y Y,所以,所以t t YZYZ=s s YZYZ,所以:所以:XZXZYZYZ为为F F所蕴含所蕴含.增广律得证。增广律得证。(2)Armstrong(2)Armstrong(2)Armstrong(2)Armstrong定理的证明定理的证明定理的证明定理的证明现在学习的是第12页,共41页6.3 6.3 数据依赖的公理系统数据依赖的公理系统 传递律:若传递律:若XYXY及及YZYZ为为F F所蕴含,则所蕴含,则XZXZ为为F F所蕴
13、含。所蕴含。证:设证:设X XY Y及及Y YZ Z为为F F所蕴含。所蕴含。对对RURF 的任一关系的任一关系 r r中的任意两个元组中的任意两个元组 t t,s s。由于由于X XY Y,若若t t X X=s s X X,则有,则有t t Y Y=s s Y Y;再由再由Y YZ Z,若,若t t Y Y=s s Y Y,则有,则有t t Z Z=s s Z Z,所以所以X XZ Z为为F F所蕴含所蕴含.传递律得证。传递律得证。(2)Armstrong(2)Armstrong(2)Armstrong(2)Armstrong定理的证明定理的证明定理的证明定理的证明现在学习的是第13页,共
14、41页6.3 6.3 数据依赖的公理系统数据依赖的公理系统例:关系模式例:关系模式R,R,属性集属性集U=CITY,STU=CITY,ST,ZIP,ZIP,函数依赖集函数依赖集F=(CITY,ST)ZIPF=(CITY,ST)ZIP,ZIP CITYZIP CITY,证明,证明STST,ZIPZIP和和CITY,CITY,ST ST 为侯选码。为侯选码。证:证:(1)(1)由:由:ZIP CITY (ZIP CITY (已知已知)则:则:(ST(ST,ZIP)(CITYZIP)(CITY,ST)(ST)(增广律增广律)得:得:(ST(ST,ZIP)(CITYZIP)(CITY,STST,ZIP
15、)(ZIP)(增广律增广律)其中:其中:ST(CITYST(CITY,ST ST,ZIP)ZIP),ZIP(CITYZIP(CITY,STST,ZIP)ZIP)均是不成立的均是不成立的 所以:所以:STST,ZIPZIP是侯选码是侯选码(2)(2)由:由:(CITY(CITY,ST)ZIP (ST)ZIP (已知已知)则:则:(CITY(CITY,ST)(CITYST)(CITY,ST ST,ZIP)(ZIP)(增广律增广律)现在学习的是第14页,共41页(3)Armstrong(3)Armstrong公理的导出规则:公理的导出规则:根据根据A1A1、A2A2、A3A3三条推理可以导出如下规则
16、:三条推理可以导出如下规则:合并规则:合并规则:由由XY,XZ,有,有XYZ。(A2,A3)伪传递规则伪传递规则:由:由XY,WYZ,有,有XWZ。(A2,A3)分解规则分解规则:由:由XY及及Z Y,有,有XZ。(A1,A3)6.3 6.3 数据依赖的公理系统数据依赖的公理系统根据合并规则和分解规则,可得根据合并规则和分解规则,可得引理引理引理引理6.16.16.16.1:X(A1A2Ak)成立的充分必要条件是成立的充分必要条件是XAi成立成立(i=l,2,k)现在学习的是第15页,共41页3.3.3.3.函数依赖闭包函数依赖闭包函数依赖闭包函数依赖闭包6.3 6.3 数据依赖的公理系统数据
17、依赖的公理系统定义定义6.l26.l2 在关系模式在关系模式RURF中,为中,为F F所逻辑蕴含的函数所逻辑蕴含的函数依赖的全体叫作依赖的全体叫作 F F 的闭包的闭包,记为,记为F F+。例:设关系模式例:设关系模式RR,U=AU=AU=AU=A,B B,CCCC,F=ABCF=ABC,CBCB是是RRRR上的一组函数依赖上的一组函数依赖上的一组函数依赖上的一组函数依赖,求求求求F F F F现在学习的是第16页,共41页3.3.3.3.函数依赖闭包函数依赖闭包函数依赖闭包函数依赖闭包6.3 6.3 数据依赖的公理系统数据依赖的公理系统例:设关系模式例:设关系模式例:设关系模式例:设关系模式
18、RR,U=AU=A,B B,CC,F=ABCF=ABC,CBCB是是是是RR上的一组函数依赖,则:上的一组函数依赖,则:上的一组函数依赖,则:上的一组函数依赖,则:FF+=AA=AA,ABAABA,ACAACA,ABCAABCA,BBBB,ABBABB,BCBBCB,ABCBABCB,CCCC,ACCACC,BCCBCC,ABCCABCC,ABABABAB,ABCABABCAB,ACACACAC,ABCACABCAC,BCBCBCBC,ABCBCABCBC,ABCABCABCABC,ABCABC,ABACABAC,ABBCABBC,ABABCABABC,CBCB,CBCCBC,ACAB,ACA
19、BCACAB,ACABC 现在学习的是第17页,共41页3.3.3.3.函数依赖闭包函数依赖闭包函数依赖闭包函数依赖闭包6.3 6.3 数据依赖的公理系统数据依赖的公理系统定义定义6.136.13 设关系模式设关系模式RUR F,U=AU=A1 1,A,A2 2,A,An n,X X U U,X XF F+=A Ai i|XA|XAi i能由能由F F 根据根据ArmstrongArmstrong公理导出公理导出,X XF F+称为称为属性集属性集属性集属性集X X X X关关关关于函数依赖集于函数依赖集于函数依赖集于函数依赖集F F F F 的闭包的闭包的闭包的闭包例:例:设关系模式设关系模
20、式R,U=A,B,C,D,E,F=ABC,CDE,BD,EA是是R上的一组函数依赖,则:上的一组函数依赖,则:BF+是?是?AF+是?是?BF+=B,DAF+=A,B,C,D,E现在学习的是第18页,共41页3.3.3.3.函数依赖闭包函数依赖闭包函数依赖闭包函数依赖闭包6.3 6.3 数据依赖的公理系统数据依赖的公理系统引理引理引理引理6.2 6.2 6.2 6.2 设设F为属性集为属性集U上的一组函数依赖,上的一组函数依赖,X,Y U,XY能由能由F 根据根据Armstrong公理导出的公理导出的充分必要条件充分必要条件是是Y XF+。用途用途用途用途将判定将判定XY是否能由是否能由F根据
21、根据Armstrong公理导出的问题,就公理导出的问题,就转转转转化为化为化为化为求出求出XF+,判定,判定Y是否为是否为XF+的子集的问题的子集的问题现在学习的是第19页,共41页4.4.4.4.求求求求X X X XF F F F+的算法:的算法:的算法:的算法:算法算法算法算法6.16.16.16.1:属性集:属性集:属性集:属性集X(XX(XX(XX(X U)U)U)U)关于关于关于关于U U U U上函数依赖集上函数依赖集上函数依赖集上函数依赖集F F F F的闭包的闭包的闭包的闭包输入:输入:输入:输入:X X X X,F F F F 输出:输出:输出:输出:X X X XF F
22、F F+令令X(0)(0)=X,i=0。求求B,B=A|(V)(W)(VW F V X(i)A W)。X(i+1)(i+1)=B X(i)(i)。判断判断X(i+1)(i+1)=X(i)吗吗?若相等或若相等或X(i)(i)=U,则则X(i)(i)就是就是XF+,算法终止;算法终止;否则否则i=i+1,返回第,返回第2步。步。6.3 6.3 数据依赖的公理系统数据依赖的公理系统现在学习的是第20页,共41页 例:例:设设X X(0)(0)=AB=AB;计算计算X X(1)(1):逐一的扫描逐一的扫描F F集合中各个函数依赖,集合中各个函数依赖,找左部为找左部为A A、B B或或ABAB的函数依赖
23、,有的函数依赖,有ABCABC,BDBD,于是:于是:X X X X(1)(1)(1)(1)=X=X=X=X(0)(0)(0)(0)CD=ABCDCD=ABCDCD=ABCDCD=ABCD。因为因为X X(0)(0)XX(1)(1),并且,并且X X(1)(1)U,U,所以计算所以计算X X(2)(2)计算计算X X(2)(2):找出左部为找出左部为ABCDABCD子集的那些函数依赖,又得到子集的那些函数依赖,又得到ABCABC,BDBD,CECE,ACBACB,于是,于是 X X X X(2)(2)(2)(2)=X=X=X=X(1)(1)(1)(1)BCDE=ABCDEBCDE=ABCDEB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 06 关系 数据 理论 优秀 PPT
限制150内