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