第03章关系数据理论精选文档.ppt
《第03章关系数据理论精选文档.ppt》由会员分享,可在线阅读,更多相关《第03章关系数据理论精选文档.ppt(110页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第03章关系数据理论本讲稿第一页,共一百一十页2 23.1 基本概念函数依赖术语和符号为什么要讨论函数依赖?模式分解模式分解本讲稿第二页,共一百一十页3 3函数依赖Y=f(X)函数Y=sin(X)Y=X+1Y=X2+2X+1省=f(城市)姓名=f(学号)?本讲稿第三页,共一百一十页4 4函数依赖的直观定义:如果有一个关系模式R(A1,A2,An),X和Y为A1,A2,An的子集,那么对于关系R中的任意一个X值,都只有一个Y值与之对应,则称X函数决定Y,或Y函数依赖于X,并用XY表示。本讲稿第四页,共一百一十页5 5例:对仓库关系 仓库(仓库号,城市,面积)有函数依赖:仓库号城市(城市函数依赖于
2、仓库号)仓库号面积(面积函数依赖于仓库号)本讲稿第五页,共一百一十页6 6函数依赖的严格形式化定义定义定义3.1:设有关系模式R(A1,A2,An),X和Y均为A1,A2,An的子集,r是R的任一具体关系,t1、t2是r中的任意两个元组;如果由t1X=t2X可以推导出t1Y=t2Y,则称X函数决定Y,或Y函数依赖于X,记为XY。本讲稿第六页,共一百一十页定义3.1中特别要注意:只要只要 t1X=t2X t1Y=t2Y就可以推导出就可以推导出:XY 也就是说:只有当也就是说:只有当 t1X=t2X 为真,而为真,而t1Y=t2Y为假时,函数依赖不成立;而当为假时,函数依赖不成立;而当t1X=t2
3、X为假时,不管为假时,不管t1Y=t2Y为真或为假都有为真或为假都有XY成立。成立。当当t1X=t2X 为为真真,t1Y=t2Y为为真真;当当t1X=t2X 为为真真,t1Y=t2Y为为假假;当当t1X=t2X 为为假假,t1Y=t2Y为为真真;当当t1X=t2X 为为假假,t1Y=t2Y为为假假;本讲稿第七页,共一百一十页8 8注意:1 1、函数依赖不是指关系模式、函数依赖不是指关系模式R的某个或某些关系实例的某个或某些关系实例满足的约束条件,而是指满足的约束条件,而是指R的所有关系实例均要满足的所有关系实例均要满足的约束条件。的约束条件。2 2、函数依赖和别的数据之间的依赖关系一样,是语义
4、、函数依赖和别的数据之间的依赖关系一样,是语义范畴的概念,我们只能根据数据的语义来确定函数依范畴的概念,我们只能根据数据的语义来确定函数依赖。赖。例如:例如:“姓名姓名年龄年龄”这个函数依赖只有在没有同名人的这个函数依赖只有在没有同名人的条件下成立,如果有相同名字的人,则条件下成立,如果有相同名字的人,则“年龄年龄”就不就不再函数依赖于再函数依赖于“姓名姓名”了。了。本讲稿第八页,共一百一十页9 9定义3.1 也可以这样来理解:即对于R(U)的任意一个可能的关系实例r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称XY。本讲稿第九页,共一百一十页1010术语和符号(1)如
5、果XY,但Y不包含于X,则称XY是非平凡的函数依赖。如不特别说明,我们总是讨论非平凡函数依赖。如:(学号,课程号)成绩如:(学号,所在系)所在系非平凡依赖平凡依赖本讲稿第十页,共一百一十页1111术语和符号(2)如果Y不函数依赖于X,则记作X Y。如学号不函数依赖于性别,则记作性别 学号。本讲稿第十一页,共一百一十页1212术语和符号(3)如果XY,则X称作决定因素。如学号所在系,则学号称作决定因素本讲稿第十二页,共一百一十页1313 用U表示关系模式R的属性全集,即U=A1,A2,An,用F表示关系模式R上的函数依赖集,则关系模式R可表示为R(U,F)。术语和符号(4)如U=仓库号,城市,面
6、积 F=仓库号城市,仓库号面积则R(U,F)表示仓库关系本讲稿第十三页,共一百一十页1414术语和符号(5)如果K是关系模式R(U,F)的任一候选关键字,X是任一属性或属性集,如果XK,则X称为主属性;否则称为非主属性。如(仓库号,器件号)是库存关系的关键字,那么仓库号和器件号均是主属性,而数量为非主属性。本讲稿第十四页,共一百一十页1515术语和符号(6)如果XY,并且YX,则可记作XY。本讲稿第十五页,共一百一十页1616术语和符号(7)如果XY,并且对于X的一个任意真子集X/都有X/Y,则称Y完全函数依赖于X,并记作 ;如果X/Y成立,则称Y部分函数依赖于X,并记作 。如:(学号,课程号
7、)成绩是完全函数依赖而:(学号,所在系)系主任是部分函数依赖本讲稿第十六页,共一百一十页1717术语和符号(8)如果XY(非平凡函数依赖,并且Y X)、YZ,则称Z传递函数依赖于X。如学号专业,专业所在系,则所在系传递函数依赖于学号。本讲稿第十七页,共一百一十页1818本讲稿第十八页,共一百一十页1919设有库存关系:数据冗余问题数据冗余问题数据更新问题数据更新问题数据插入问题数据插入问题数据删除问题数据删除问题本讲稿第十九页,共一百一十页2020为什么会出现以上种种操作异常现象呢?因为这个关系模式没有设计好,在它的某些属性之间存在着“不良”的函数依赖。如何改造这个关系模式?克服以上种种问题,
8、就是我们这一章要解决的根本问题,也是我们要讨论函数依赖的根本原因。本讲稿第二十页,共一百一十页2121模式分解模式分解 解决各种操作异常现象的方法就是进行模式分解,即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的函数依赖,从而获得好的关系模式。本讲稿第二十一页,共一百一十页2222分解举例仓库(仓库号,地点)仓库(仓库号,地点)设备(设备号,设备名)设备(设备号,设备名)库存(仓库号,设备号,库存数量)刚才提到的库存库存库存库存关系模式,我们可以把其分解为:关系模式,我们可以把其分解为:本讲稿第二十二页,共一百一十页2323注意:模式分解不能破坏原来的语义;模式分解必
9、须遵守:l l无损连接分解;l l保持函数依赖分解。无损连接是指分无损连接是指分解后的关系经过自然解后的关系经过自然连接可以恢复成原来连接可以恢复成原来的关系。的关系。保持函数依赖是指分解保持函数依赖是指分解保持函数依赖是指分解保持函数依赖是指分解后的关系不能破坏原来的函后的关系不能破坏原来的函后的关系不能破坏原来的函后的关系不能破坏原来的函数依赖(不能破坏原来的语数依赖(不能破坏原来的语数依赖(不能破坏原来的语数依赖(不能破坏原来的语义)。义)。义)。义)。本讲稿第二十三页,共一百一十页2424函数依赖的推理规则Amstrong公理的内容及正确性Amstrong公理的推论及正确性逻辑蕴涵和闭
10、包逻辑蕴涵和闭包公理的完备性公理的完备性闭包的计算闭包的计算函数依赖集的等价和最小化函数依赖集的等价和最小化本讲稿第二十四页,共一百一十页2525Amstrong公理:公理:设设有有关关系系模模式式R(U,F),X、Y、Z均均为为U的的子集,推理规则如下:子集,推理规则如下:自反律自反律:如果:如果Y X,则,则XY;增广律增广律:如果:如果XY,则,则XZYZ;传递律传递律:如果:如果XY、YZ,则,则XZ。本讲稿第二十五页,共一百一十页2626定理定理:Amstrong公理是公理是正确正确的的。本讲稿第二十六页,共一百一十页2727证明自反律:设YX U 对关系模式R的任一关系 r 中的任
11、意两个元组t和s,如果tX=sX,由于Y X,所以tY=sY,由定义3.1有XY成立,自反律得证。本讲稿第二十七页,共一百一十页2828证明增广律:设XY,且ZU,r、t、s的含义同上如果tXZ=sXZ,则一定有tX=sX和tZ=sZ又根据XY可有tY=sY由tY=sY和tZ=sZ可得tYZ=sYZ即由tXZ=sXZ推导出了tYZ=sYZ由定义3.1有XZYZ成立,增广律得证。本讲稿第二十八页,共一百一十页2929证明传递律:设XY、YZ,r、t、s的含义同上 如果tX=sX,由于XY,根据定义3.1可得tY=sY 同理由于YZ,可得tZ=sZ 即由tX=sX推导出了tZ=sZ 根据定义3.1
12、XZ成立,传递律得证。本讲稿第二十九页,共一百一十页3030Amstrong公理的推论:推论推论推论推论-合并规则合并规则:如果:如果XY、XZXZ,则,则,则,则XYZXYZ;推论推论推论推论-分解规则分解规则分解规则分解规则:如果:如果:如果:如果XYZXYZ,则,则,则,则XY、XZXZ;推论推论推论推论-伪传递规则伪传递规则:如果:如果:如果:如果XY、YWZYWZ,则,则,则,则XWZ。本讲稿第三十页,共一百一十页3131 定理定理:Amstrong公理的三公理的三个推论是正确的。个推论是正确的。本讲稿第三十一页,共一百一十页3232证明合并规则:设XY、XZ根据增广律分别有XXY、
13、XYYZ又根据传递律有XYZ,合并规则得证。本讲稿第三十二页,共一百一十页3333证明分解规则:设XYZ 根据自反律有YZY和YZZ 又根据传递律分别有XY和XZ,分解规则得证。本讲稿第三十三页,共一百一十页3434证明伪传递规则:设XY、YWZ根据增广律有XWYW又根据传递律有XWZ,伪传递规则得证。本讲稿第三十四页,共一百一十页3535引理引理3.1 引引理理3.1:XA1A2An的的充充分分必必要要条条件件是是XAk成立成立(k=1,2,n)。根据合并规则和分解规则可以得出如下重要结论:本讲稿第三十五页,共一百一十页3636逻辑蕴涵和闭包逻辑蕴涵和闭包 有时需要根据给定的一组函数依赖来判
14、断有时需要根据给定的一组函数依赖来判断另外一些函数依赖是否成立,这就是函数依赖另外一些函数依赖是否成立,这就是函数依赖逻辑蕴涵所要研究的内容。逻辑蕴涵所要研究的内容。比如有关系模式比如有关系模式R(U,F),U=A,B,C,F=AB,B C,问,问A C是否也成立?是否也成立?本讲稿第三十六页,共一百一十页3737逻辑蕴涵逻辑蕴涵 定义定义3.2:设有关系模式设有关系模式R(U,F),X U、Y U,如果从,如果从F中的函数依赖能够推导出中的函数依赖能够推导出XY,则称,则称F逻辑蕴涵逻辑蕴涵XY,或称,或称XY是是F的逻辑蕴涵。的逻辑蕴涵。本讲稿第三十七页,共一百一十页3838闭包闭包定义定
15、义3.3 在关系模式在关系模式R(U,F)中,被中,被F 所逻辑蕴所逻辑蕴涵的函数依赖的全体称作涵的函数依赖的全体称作F 的闭包,记为的闭包,记为F+。闭包闭包F F+的计算是一个的计算是一个NPNP完全问题,即理论上可计算而实际上完全问题,即理论上可计算而实际上不可计算的问题。比如从不可计算的问题。比如从F=XAF=XA1 1A A2 2A An n 出发,就至少能够推导出发,就至少能够推导出出2 2n n个不同的函数依赖,所以计算个不同的函数依赖,所以计算 F F+是非常麻烦的事情,即使是非常麻烦的事情,即使F F不不太大,太大,F F+也可能很大。也可能很大。本讲稿第三十八页,共一百一十
16、页3939闭包计算举例闭包计算举例 假设有关系模式R(U,F),U=X,Y,Z,F=XY,YZ,则F+为:本讲稿第三十九页,共一百一十页4040属性集闭包本讲稿第四十页,共一百一十页4141计算属性集闭包举例如果X=A,则:A,B,C如果X=B,则B,C如果X=C,则C设有关系模式R(U,F),U=A,B,C,F=AB,BC本讲稿第四十一页,共一百一十页4242公理的完备性公理的完备性建立一套公理系统必须明确两个问题:一一是是能能否否保保证证按按公公理理推推导导出出的的函函数数依依赖赖都都是是正正确确的的,即这些函数依赖是否都属于F F+;也也就就是是说说对对于于关关系系模模式式R(U,F)R
17、(U,F),只只要要F F中中的的函函数数依依赖赖为为真真,则则用用公公理理根根据据F F推推导导出出的的函函数数依依赖赖也也一一定为真,这就是公理的正确性;定为真,这就是公理的正确性;另另外外一一个个问问题题是是:用用公公理理能能否否推推导导出出所所有有的的函函数数依依赖赖?也也就就是是说说F F+中所有的函数依赖是否都能用公理推导出来?这是一个很重要的问题,因为如果F F+中有函数依赖不能用公理推导出来,那么就说明这些公理不够用、不完全,就必须补充新的公理,这就是公理的完备性问题。本讲稿第四十二页,共一百一十页4343引理引理3.2本讲稿第四十三页,共一百一十页4444引理3.2充分性证明
18、:本讲稿第四十四页,共一百一十页4545引理3.2必要性证明:本讲稿第四十五页,共一百一十页4646通过对引理3.23.2的充分性和必要性的证明,得出:的充分性和必要性的证明,得出:定理定理3.1:Amstrong公理是完备的。公理是完备的。本讲稿第四十六页,共一百一十页4747公理的完备性还可以理解为:所有不能用公理推导出的函数依赖都不为真,即如果XY不能根据F用公理导出,则XY F+。或者说存在一个具体的关系r,F+中的所有函数依赖都满足r,而不能用公理推导出的XY不满足r。也就是说,不能找到根据F用公理导出的函数依赖不属于F+。如果我们能够找到这样的r,则公理的完备性证明问题就解决了。本
19、讲稿第四十七页,共一百一十页4848由公理的完备性和引理3.2有结论:本讲稿第四十八页,共一百一十页4949属性集闭包的计算本讲稿第四十九页,共一百一十页5050算法3.1:本讲稿第五十页,共一百一十页5151例:设有R(U,F),U=A,B,C,D,E,F=ABC,B D,C E,EC B,AC B求A,B,C,D,E=如果求出的如果求出的 刚好是刚好是U(即属性的全集),则(即属性的全集),则(AB)为)为候选关键字候选关键字,因为(,因为(AB)能函数决定所有)能函数决定所有的属性。的属性。本讲稿第五十一页,共一百一十页5252函数依赖集的等价和最小化本讲稿第五十二页,共一百一十页535
20、3覆盖和等价的定义定义3.5 设F和G是两个函数依赖集:如果F+G+,则称G是F的一个覆盖,或称G覆盖F;如果F+G+和G+F+同时成立,即F+=G+,则称F和G等价。本讲稿第五十三页,共一百一十页5454引理引理3.3F +=G +的充分必要条件是F G +并且G F +。必要性证明:充分性证明:本讲稿第五十四页,共一百一十页5555研究函数依赖集等价的目的研究函数依赖集等价的目的研究函数依赖集等价的目的是为了对指定函数依赖集找出它的最小函数依赖等价集,即找出包含函数依赖尽可能少、甚至最少的函数依赖等价集,从而使模式分解简化,分解出最简单的关系模式。本讲稿第五十五页,共一百一十页5656最小
21、函数依赖集的定义定定义义3.6 如如果果函函数数依依赖赖集集F 满满足足如如下下条条件件,则则称称F 为为一一个个最最小小函函数数依依赖赖集集,也也称称为为极极小小函函数数依依赖赖集集或或最最小覆盖:小覆盖:F 中任一函数依赖的右部都仅含有一个属性;中任一函数依赖的右部都仅含有一个属性;F中中不不存存在在这这样样的的函函数数依依赖赖XA,X有有真真子子集集Z,使得,使得F与与F-XA ZA等价;等价;F中中不不存存在在这这样样的的函函数数依依赖赖XA,使使得得F与与F-XA等价。等价。本讲稿第五十六页,共一百一十页5757 例例:假设有属性集U=A,B,C,D,E,函数依赖集F=AB,BC,A
22、DE和函数依赖集G=AB,AC,BC,ADE,问F和G是否是最小函数依赖集?答案:F是最小依赖集,G不是最小依赖集。本讲稿第五十七页,共一百一十页5858引理3.4 本讲稿第五十八页,共一百一十页5959引理引理3.4必要性证明本讲稿第五十九页,共一百一十页6060引理引理3.4充分充分性证明本讲稿第六十页,共一百一十页6161引理3.5 设XA是F 中任意函数依赖,G=F-XA,F 与G 等价的充分必要条件是 。必要性证明充分性证明本讲稿第六十一页,共一百一十页6262逐逐逐逐一一一一检检检检查查查查F F 中中中中各各各各函函函函数数数数依依依依赖赖赖赖X XY Y,若若若若Y Y=A A
23、1 1A Ak k,k k=2 2,则则则则用用用用 X XA Aj j|j j=1 1,k k 来来来来取取取取代代代代它它它它(分分分分解解解解规规规规则则则则);(将将将将函函函函数数数数依依依依赖赖赖赖的的的的右右右右部部部部单属性化单属性化单属性化单属性化)逐一取出逐一取出逐一取出逐一取出F F中各函数依赖中各函数依赖中各函数依赖中各函数依赖X XA A,若,若,若,若X X=B B1 1B B2 2B Bmm,mm=2 2,则逐一考,则逐一考,则逐一考,则逐一考查查查查B Bj j(j j=1 1,mm),如果),如果),如果),如果 ,则,则,则,则F F与与与与F F-X XA
24、 A (X X-B Bj j)A A 等价(引理等价(引理等价(引理等价(引理3.43.4),故以),故以),故以),故以X X-B Bj j取代取代取代取代X X;(去掉函数依赖左(去掉函数依赖左(去掉函数依赖左(去掉函数依赖左部的多余属性,称之为既约化)部的多余属性,称之为既约化)部的多余属性,称之为既约化)部的多余属性,称之为既约化)逐一检查逐一检查逐一检查逐一检查F F中各函数依赖中各函数依赖中各函数依赖中各函数依赖X XA A,令,令,令,令G G=F F-X XA A,根据引理,根据引理,根据引理,根据引理3.53.5,如果如果如果如果 ,则,则,则,则F F与与与与G G等价,故
25、从等价,故从等价,故从等价,故从F F中去掉中去掉中去掉中去掉X XA A。(去掉多余的(去掉多余的(去掉多余的(去掉多余的函数依赖,称之为无冗余化)函数依赖,称之为无冗余化)函数依赖,称之为无冗余化)函数依赖,称之为无冗余化)计算最小覆盖的算法算法3.2 给定函数依赖集给定函数依赖集F,求其最小覆盖的过程如下:,求其最小覆盖的过程如下:本讲稿第六十二页,共一百一十页6363例例:已知已知F=AF=AB,BB,BA,BA,BC,AC,AC,CC,CAA,求,求F F的最小覆盖。的最小覆盖。逐一检查逐一检查F中的函数依赖是否多余,如中的函数依赖是否多余,如果多余则可以去除之果多余则可以去除之,最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 关系 数据 理论 精选 文档
限制150内