关系数据库部分理论.ppt
《关系数据库部分理论.ppt》由会员分享,可在线阅读,更多相关《关系数据库部分理论.ppt(67页珍藏版)》请在三一办公上搜索。
1、主要内容:在数据库设计中,如何把现实世界表示成数据库模式(构成关系数据库的所有关系模式的集合构成了关系数据库模式),是数据库设计中一个极其重要而又基本的问题。它涉及到一系列的理论,关系模型有较为严格的数学基础,以关系模型作为讨论对象,形成了一整套的关系数据库理论。关系数据库设计理论是指导产生一个具有确定的、好的数据库模式的理论体系。,第六章 关系数据理论,6.1 问题的提出,2插入异常BORROWER的主KEY:NO,TNO关键字值非空。(新调入未借书的人),NO NAME ADDR TNO TLTLE AU DATE001 张 平 A1 T1 DB AU1 D1 001 张 平 A1 T2
2、OS AU2 D2 001 张 平 A1 T3 MA AU3 D3 001 张 平 A1 T4 DB1 AU4 D3 008 李少林 A2 T3 MA AU3 D4 008 李少林 A2 T7 MA2 AU7 D7,数据库模式一BORROWER(NO,NAME,ADDR,TNO,TITLE,AU,DATE),1、有冗余:对于借书人,每借一次书他本人信息和书的信息都要存放一次。存在数据冗余,这样当修改某些数据项(如地址时,则每一个元组中的地址都要改变。增加更新代价,更严重的是潜在的不一致性。),存在的问题:,3删除异常如把借的书全部还掉,则就把这个人连同他的地址都删掉了,丢失了借书人的基本信息。
3、,数据库模式二 BORROWER(NO,NAME,ADDR)BOOKS(TNO,TITLE,AU)LOAN(NO,TNO,DATE),由于将借书人、书、及借书分离成不同的关系,使数据冗余大大减少,且不存在插入异常和删除异常。存在另一问题:如使用上述模式时,为找到借MA的借书人名,则需进行三个关系的连接操作,代价高。如何找到一个好的数据库模式,这正是数据库设计理论所研究的问题。主要包括三个方面的内容:数据依赖、范式、数据库模式设计方法,其中数据依赖起核心作用。,原因:,不仅客观事物彼此互相联系、互相制约。客观事物本身的各个属性之间也互相联系、互相依赖。如一个人的住址依赖于他的姓名。属性之间的这种
4、依赖关系表达了一定的语义信息。在设计数据库时,对于事物之间的联系和事物属性之间的联系,都要考虑。例上例中,借书人的属性都依赖于NO,但与书,借书的属性没有联系。把本来无关的借书人信息和书信息,借书信息拼在一起,就出现了刚才的数据冗余和异常现象。所以我们在设计关系数据库模式时,必须从语义上摸清这些数据依赖,合理构成数据库模式。,数据依赖是通一个关系中属性间值的相等与否体现出来的数据间的相互联系。它是现实世界属性间相互联系的抽象,是数据内在性质,是语义的体现。一般有三种依赖:函数依赖(FD)、多值依赖(MVD)、连接依赖。,设R(U)是属性集U上的关系模式。X和Y是U的子集。若对于R(U)的任意一
5、个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而Y上的属性值不等,则称X函数决定Y或Y函数依赖于X,记为,一、定义,6.2 函数依赖,理解:如果R的两个元组在属性X:上一致,(即两个元组在这些属性相对应的各个分量具有相同的值),则它们在另一个属性B上也应该一致,则记为。如一组属性函数决定多个属性。如 则可以把这一组依赖关系简记为,注:函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。只要有一个具体关系R不满足定义中的条件,就破坏了函数依赖。,设R(U)是属性集U上的关系模式。X和Y是U的子集。R是R的任一具体关系,U,V是r中的任意两个元
6、组。如果由UX=VX能导致UY=VY,则称X函数决定Y或Y函数依赖于X,记为,其中UX表示元组U在X上的属性值。VX,UY,VY有类似的意义。设R(U)是属性集U上的关系模式。X和Y是U的子集。如果R的所有关系r都存在着:对于X的每一个具体值,都有Y唯一的具体值与之对应,则称X函数决定Y,或Y函数依赖于X。这两个定义等价。,可断言如下三个函数依赖:,即如两个元组在title,year分量上具有相同的值,则它们在length,filmType 和studioName上必然也相同。,title,year starName,设有属性集X、Y,及关系模式R。如果X、Y之间是“1-1”关系,则存在函数依
7、赖:且 如学号,姓名(唯一)。如果X、Y之间是“m-1”关系,则存在函数依赖:如学号(唯 一),宿舍。(一个宿舍信多个学生)如果X、Y之间是“m-m”关系,则X、Y之间不存在函数依赖。如借阅关系:学号,书号。也即设计者确定函数依赖时,可以从分析属性间的关系着手。,二、函数依赖与属性关系,2、完全函数依赖在R(U)中,如果,并且对于X的任何一个真子集,都有 Y,则称Y对X完全函数依赖:记作。,3、部分函数依赖若,但Y不完全函数依赖于X,则称Y对X部分函数依赖,,存在:书号 出版社,出版社 地址,出版社 书号故有地址对书号的传递函数依赖。,4、传递函数依赖在R(U)中,如果,Y X,则称Z对X传递
8、函数依赖。,如Books(书号,出版社名,出版社地址)一种书对应唯一书号,并只能为某一个出版社出版,一个 出版社一般只有一个名称和唯一地址。一个出版社可出版多种书。,Title,year lengthTitle length,定义:对于任给的关系R,U为其所含全部的属性集合 X 为U的子集。若有完全函数依赖 则,四、关键字(码),作为候选关键字的属性集X唯一标识R中的元组,但该属性 集的任何真子集不能唯一标识R中的元组。,一个关系中可能存在多个候选关键字。选其一作为主关键字。,候选关键字中所含的属性称为主属性,不包含在任何候选关键字中的属性称为非主属性。,如 为 的关键字。它们函数决定所有其它
9、属性 均不是键码。如STUDENT(学号,姓名,性别,班级),如姓名不重名,则学号,姓名均为键码,最简单的情况,单个属性是码。最极端的情况,整个属性组是码,称为全码。如关系模式S(SNO,SDEPT,SAGE)SNO是码 关系模式SC(SNO,CNO,G)(SNO,CNO)是码 关系模式R(P,W,A),P:演奏者,W:作品,A:听众。码为(P,W,A),X为R的一个候选关键字。,闭包:在关系模式R中F所逻辑蕴涵的函数依赖的全体叫做F的闭包。记为。一般情况下,如 则称F是函数依赖的完备集。,对于给定的一组函数依赖,我们如何判断另外一些函数依赖是否成立?如对于关系模式R有 是否成立?定义:设F是
10、关系模式R的一个函数依赖集,X、Y是R的属性子集,如果从F中的函数依赖能够推出X Y,则称F逻辑蕴涵 或称 是F的逻辑蕴涵。,五、函数依赖的逻辑蕴涵,例:若有关系模式R(X,Y,Z),它的函数依赖集F=则F的闭包为,假设我们已知某关系所满足的函数依赖集,在不知道关系的具体元组的情况下,通常可推断出该关系必然满足的其他某些函数依赖。为此,要求有一套推理规则。Armstrong公理(推理规则中最主要、最基本的作为公理)Armstrong公理系统:设U为属性集总体,F是U上的一组函数依赖集,于是有关系模式R。对R来说有以下的推理规则:A1 自反律:若 为F所蕴涵。A2 增广律:若 为F所蕴涵,且,则
11、 为F所蕴涵。A3 传递律:若 为F所蕴涵,则 为F所蕴涵。,6.3 函数依赖公理一、Armstrong公理,注意:由自反律所得到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于F。,定理6.1 Armstrong推理规则是正确的。证明:设u、v是r的任意两个元组,r是R的任一关系。若uX=vX,则在u和v中的X的任何子集也必相符。由条件Y是X的子集.必有uY=vY.根据函数依赖定义可知::设u、v、r含义同上。若uXZ=vXZ,则uXuZ=vXvZ,也即uX=vX,uZ=vZ由条件,得如uX=vX则uY=vY uY=vY,uZ=vZ,即 uYuZ=vYvZ,也即uYZ=vYZ根据函数定义
12、可知:。:设u、v、r含义同上,设uX=vX uY=vY又 uZ=vZ,合并规则:若 则。分解规则:若,则,。伪传递规则:若,则。证明:则(增广性)(增广性)(传递性)(反射性)(传递性)同理(增广性)又(传递性)从合并和分解规则可得出一个重要结论:引理6.1 如果 是关系模式R的属性,则 成立的充要条件是 均成立。,二、公理的推论,从Armstrong公理推理规则可得如下推论:,Armstrong公理是有效的、完备的。有效性指:由F出发根据Armstrong公理推导出来的每一个函数依赖一定在 中。正确性指:只要使F中的函数依赖为真,则用公理推出的函数依赖也为真。完备性指:中的每一个函数依赖,
13、必定可以由F出发根据Armstrong公理推导出来。即 中的所有函数依赖都能用Armstrong公理推导出来。幻灯片 18,公理的正确性保证推出的所有函数依赖都为真,公理的完备性保证可以推出所有的函数依赖。,定义:设F为属性集U上的一组函数依赖,F是U上一个函数依赖集,则称所有用公理从F推出的函数依赖 中Ai的属性集合为X的属性闭包 称为属性集X关于函数依赖集F的闭包。计算 的一个目的就是要确定某一函数依赖 是否由F逻辑蕴涵。即它是否成立,而通过计算 我们就能判断这一结论的真假。等价所有由F逻辑蕴涵的 属性A的集合。,三、属性闭包,引理6.2 设F为属性集U上的一组函数依赖,能由F根据Arms
14、trong公理导出的充分必要条件是。,算法6.1:求属性集X关于U上的函数依赖集F的属性闭包。输入:关系模式R的全部属性集U及上的函数依赖F,U的子集X输出:。方法:计算。1、2、求B,B=A|(V)(W)(V W F);3、4、判断 吗?5、若相等或,则 就是,算法终止。6、若否,则i=i+1,返回第2步。,于是,判定X Y是否能由F根据Armstrong公理推出的问题,就转化为求出,停止计算的几种判别方法:当发现 包含了所有属性时。在F中的函数依赖的右边属性中再也找不到 中未出现过的属性。在F中未用过的函数依赖的左边属性已没有 的子集。,=ABCDE(DE),例:一具有属性A、B、C、D、
15、E、F的关系,假设该关系有如下函数依赖:AB C,BC AD,D E和CFB。左边不包含在中。求解:设X=AB,则有=AB,C=ABC(AB C),=ABCAD=ABCD(BCAD),在F中未用过的函数依赖的左边属性已没有Xi的子集。(或计算X(4)-ABCDE,=(ABCDE),例:检验ABD是否蕴涵于F中。DA呢?解:计算 及。=ABCDE ABD蕴涵于F中。也即ABD成立。=DE DA不蕴涵于F中。也即DA不成立。,证明完备性的逆否命题,即如函数依赖X Y不能由F从Armstrong公理导出,那么它必然不为F所蕴涵,证明分三步。,定理6.2 Armstrong公理系统是有效的、完备的。,
16、若V W成立,且,则,证 因为,所以有X V成立;于是X W成立所以。,2.构造一张二维表r,它由下列两个元组组成,可以证明r必是R的一个关系,即F中的全部函数依赖在r上成立。,1111 1111,1111 0000,如r不是R的关系,则必由于F中有函数依赖V W在r上不成立所致。由r的构成可知,V必定是 的子集,而W不是 的子集,可是由第(1)步,矛盾。所以r必是R的一个关系。(即证明r满足F),若X Y不能由F从Armstrong公理导出,则Y不是 的子集,而因此在关系r的两个元组中X的属性值一致,而Y的属性值不一致,则X Y在r中不成立,即X Y必不为R所蕴含。,Armstrong公理的
17、有效性和完备性说明了“导出”和“蕴含”是两个完全等价的概念.于是 也可以说成是由F出发借助Armstrong公理导出的函数依赖的集合。,引理6.3 的充要条件是 和。证 必要性显然,只证充分性。若,则。任取,则有。所以,即。3.同理可证,所以,从蕴含(或导出)的概念出发,又引出了两个函数依赖集等价和最小依赖集的概念,定义6.14 设F和G是两个依赖集,如果,就说函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。,检查F中的每个函数依赖是否属于。,F和G是否等价:,如对于,看是否。是则 检查所有其它依赖,若全都满足,则。对G中每一个依赖也作同样处理。如 且。则F和G等价。幻灯片
18、50,例:,1.检查F中的每个函数依赖是否属于,取,求=ABCD,则同理可得出 2.检查G中的每个函数依赖是否属于F+取,同理可得出,所以F与G等价,引理:每一个函数依赖集F都可以由一个右部只有单个属性的函数依赖集G新覆盖。(G左部与F相同)证明:设F中的函数依赖由两部分组成:右边是1个以上的属性的函数依赖。设XY为其中任一个,Y=A1Ak,Ai为单属性。右边是单属性的函数依赖。设VW为其中任一个。令G由所有的VW及X Ai(i=1k)组成。对G中任一X Ai,,由于F中有XY。根据分解规则有X Ai(i=1.k),而 VW,在F和G中都有。所以而对于F中任一XY,在G中有XAi,根据合成规则
19、有XY。,函数依赖的最小集。定义6.15 如果函数依赖集F满足下列条件,则称为F为一个极小 函数依赖集。亦称为最小依赖集或最小覆盖。F中的每个依赖的右部都是单个属性。依赖右部为单属性。对于F的任一函数依赖XA来说,F与 都不等价,保证F中不存在多余的依赖。对于F的任一函数依赖XA来说,F与 都不 等价,其中Z为X的任一真子集,保证每个依赖的左边没有多余的属性。,例2 关系模式S,其中U=SNO,SDEPT,MN,CNAME,G F=SNO SDEPT,SDEPT MN,(SNO,CNAME)GF=SNO SDEPT,SDEPT MN,(SNO,CNAME)G,SNO MN,(SNO,SDEPT
20、)SDEPT根据定义可以验证F是最小覆盖,而F不是。,定理5.3:每个函数依赖集F均等价于一个最小函数依赖集。此 称为F的最 小依赖集。,定理6.3:每个函数依赖集F均等价于一个最小函数依赖集。此 称为F的最小依赖集。,证 这是一个构造性的证明,分三步对F进行“极小化处理”,找出F的一个最小依赖集。,逐一查找F中各函数依赖FDi:X Y,若Y=,则用 来取代X Y。(Y A1A2A3 Y A1)逐一查找F中各函数依赖FDi:X A,令,若 则 从F中去掉此函数依赖。逐一取出F中各函数依赖FDi:X A,设X=,逐一考查Bi(I=1,2,m),若,则以X-Bi取代X。,最后剩下的F就一定是极小依
21、赖集,并且与原来的F等价。因为对F的每一次“改造”都保证了改造前后的两个函数依赖集等价。,应当指出,F的最小依赖集 不一定是唯一的,它与对各函数依赖Fdi及X A中X各属性的处置顺序有关。例3 F=A B,B A,B C,A C,C A Fm1=A B,B C,C A Fm2=A B,B A,A C,C A Fm1与Fm2均为最小依赖集。,例:求。解:按最小依赖集的定义分别考虑三个条件:用分解规则将所有依赖变为右边是单属性的依赖。去掉F中的多余依赖,具体做法:从第一个依赖开始,从F中去掉它(假设为 XY)然后在剩下的依赖中求,看是否包含Y,若是则去掉XY:否则 不能去掉,依次做下去。A B=A
22、C 不能去掉 BA=CAB 去掉 BC=B 不能去掉 AC=ABC 去掉 C A=C 不能去掉 BE D=BEAC 不能去掉 判断XYA中X是否成为多余属性,只要在F中求 若包含A,则Y是多余属性。否则Y不是多余属性。依次判断其它属性即可消除各依赖左边的多余属性。去掉各依赖左边多余的属性,应当指出,F的最小依赖集 不一定是唯一的,它与对各函数依赖Fdi及X A中X各属性的处置顺序有关。,B+=BCA 不含D,E不多余E+=E,不含D,B不多余,注 F的最小依赖集不一定唯一。它和我们对各函数依赖的处置顺序有关。,两个关系模式R1,R2,如果F 与G等价,那么R1的关系一定是R2的关系。反过来,R
23、2的关系也一定是R1的关系。所以在R1 中用与F等价的依赖集G来取代F是允许的。,B+=BCA 不含D,E不多余E+=E,不含D,B不多余,6.4 关系模式的规范化,一、范式,规范化:一个低一级范式的关系模式,通过模式分解可转换为若干个高一级范式的关系模式的集合。这种过程就叫规范化。是以结构更单纯,更规则的关系逐步取代原有关系的过程。,关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式,满足最低要求的叫第一范式,简称1NF,在1NF中满足进一步一些要求的2NF,。,所谓“第几范式”,是表示关系的某一种级别。即符合某一种级别的关系模式的集合,R为第几范式就可以写成。,5NF 4N
24、F BCNF 3NF 2NF 1NF1NF:每一个分量必须是不可分的数据项。这是最基本的规范化。,5NF,4NF,BCNF,3NF,2NF,1NF,各种范式之间的关系,二、第一范式(1NF)定义:如果一个关系模式R的每个具体关系r的每个属性值都是不可再分的最小数据单位,则R为第一范式。简称1NF,r为1NF关系。,注:第一范式不含重复组,不存在嵌套结构。不满足1NF的关系为非规范关系。,正经理 副经理,借书人 所借书名 日期,T1 D1张平 T2 D2 T3 D3 T2 D2 T4 D4,李问,三、第二范式(2NF),定义6.6 任给关系R,若R为INF,且每一个非主属性都完全函数依赖于码,则
25、R为2NF。,关系模式 SLC(SNO,SDEPT,SLOC,CNO,G)码:(SNO,CNO),(SNO,CNO)F G SNO SDEPT,(SNO,CNO)P SDEPT SNO SLOC,(SNO,CNO)P SLOC SDEPT SLOC(每个系的学生只住一个地方),函数依赖:,SNO SDEPT,CNO SLOC,G,非主属性:SDEPT,SLOC 部分函数依赖于码。所以 SLC为1NF,在SLC中,仍存在插入、删除异常,修改复杂等问题。解决办法是用投影分解把关系SLC分解为两个关系模式:SC(SNO,CNO,G)SL(SNO,SDEPT,SLOC)非主属性对码都是完全函数依赖了,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 部分 理论

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