《第06章关系数据理论优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第06章关系数据理论优秀PPT.ppt(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第06章关系数据理论现在学习的是第1页,共82页关系数据理论主要内容:问题的提出规范化数据依赖的公理系统模式分解现在学习的是第2页,共82页6.1问题提出及函数依赖如果将前面的student,course,和s_c表合成一个表,会是怎样的?其中(sno,cno)为主码。Snosname sagespnocnocnamemark52120066刘洋23100520006高等数学8552120076王敏24100320007数据库原理8752120066刘洋23100520007数据库原理8452120066刘洋23100510002数据结构90问题:现在学习的是第3页,共82页1、在表中每添加一
2、个选课记录(元组),需要添加的信息包括哪些,这些数据有什么特点?2、假设“刘洋”同学的姓名改为“刘杨”,应该怎样操作?学生的姓名,年龄和课程名称也需要添加,同一个学生或同一门课程在多次添加选课记录时,重复太大存在的冗余大。需要修改每一个与“刘洋”有关的记录。更新异常。3、假设新增一门新课,还没有学生选修,如何在数据库中体现出?无法体现出插入异常4、假设有一部分同学毕业了,需要删除他们的记录,会发生怎样的情况?可能将课程的信息丢失了。删除异常若使用合并前的表,是否也会出现上述现象?因此现在学习的是第4页,共82页合并后的表,它的结构不合理,原因分析:合并后的表,它的结构不合理,原因分析:1、学号
3、,姓名,年龄,专业编号、学号,姓名,年龄,专业编号4个属性,从常识上讲只要知道个属性,从常识上讲只要知道学号,学号,其其他他3个属性便可得知,同理可知,知道了个属性便可得知,同理可知,知道了课程号课程号就可以知道课程的名称。就可以知道课程的名称。从另一个角度讲,一旦确定了学号的值或课程号的值就可以知道从另一个角度讲,一旦确定了学号的值或课程号的值就可以知道相相应应的其他信息,如姓名,年龄,课程名称。的其他信息,如姓名,年龄,课程名称。我们说姓名或年龄我们说姓名或年龄函数依赖于函数依赖于学号,课程名称学号,课程名称函数依赖于函数依赖于课程号。课程号。函数依赖的定义:函数依赖的定义:在前面的关系中
4、还有那些在前面的关系中还有那些依赖关系依赖关系?现在学习的是第5页,共82页所谓函数依赖是指在所谓函数依赖是指在关系关系R(型型)中中,X、Y为为R的两个属性或的两个属性或属性组属性组,如果对于如果对于R的所有的所有关系关系r(记录记录)都存在:都存在:对于对于X的每的每一个具体值一个具体值,Y都只有一个具体值与之对应都只有一个具体值与之对应,则称属性则称属性Y函数函数依赖于属性依赖于属性X。定义定义6.1 函数依赖函数依赖或者说或者说,属性属性X函数决定属性函数决定属性Y,记作记作XY。其中其中X称为这个称为这个函数依赖的决定属性组,也称为函数依赖的决定属性组,也称为决定因素决定因素,Y称为
5、称为被决定因被决定因素素。此定义可简单表述为:此定义可简单表述为:如果属性如果属性X的值决定属性的值决定属性Y的的值值,那么属性那么属性Y函数依赖于属性函数依赖于属性X。换一种说法是换一种说法是,如果如果知道知道X的值的值,就可以获得就可以获得Y的值的值。现在学习的是第6页,共82页术语和记号术语和记号Snosname sagespnocnocnamemark在该关系中下列函数依赖是否成立?1、Snosname2、(Sno,cno)sno两者有什么不同?现在学习的是第7页,共82页问题:什么时候存在平凡的函数依赖?对于任何一个关系模式,平凡函数依赖都必然成立,因此,若不做特别说明,函数依赖总是
6、指非平凡的函数依赖。现在学习的是第8页,共82页在前面关系中,存在哪些函数依赖?(Sno,cno)markSnosname,Snosage,SnospnoCnocnamesname和sage是否函数依赖于(Sno,cno),还函数依赖于哪个属性,这个属性与(Sno,cno)的关系是什么?是,sno,包含与被包含的关系。有没有其他函数依赖关系?因此Snosname sagespnocnocnamemark现在学习的是第9页,共82页定义定义6.2 完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖在R(U)中,如果XY,并且对于X的任何一个真子集X,都有则称Y对X完全函数依赖,记作若XY,但Y
7、不完全函数依赖于X,则称Y对X部分函数依赖,记作:问题:现在学习的是第10页,共82页下列关系中有哪些完全函数依赖关系,有哪些部分函数依赖关系?Snosnamesagespnocnocnamemark结论:表之所以存在前面的问题是因为它的非码属性之间存在函数依赖,即非码属性部分函数依赖于码,如何解决?SnosnamesagespnocnocnameSnocnomark分解后是否存在部分函数依赖?现在学习的是第11页,共82页考查下面关系:Sno(学号)Sdept(学生所在院系)Mname(系负责人)存在哪些完全函数依赖关系,特点是什么?SnoSdept,SdeptMnameSnoMname因此
8、引出下面的定义:问题:SdeptSno是否成立?现在学习的是第12页,共82页定义定义6.3 传递函数依赖传递函数依赖若不添加,则XY,变成现在学习的是第13页,共82页问题:主码从函数依赖的角度,如何定义?定义定义6.4主码主码现在学习的是第14页,共82页函数依赖小结函数依赖非平凡的函数依赖完全函数依赖部分函数依赖传递函数依赖在关系(表)的“合理”化过程中如何使用函数依赖?现在学习的是第15页,共82页6.2范式第1范式的内容是什么?主码与其他非码属性的关系应该是怎样的?考虑如下关系,(Sno,Cno)为码。Sno(学号)Sdept(院系)Sloc(宿舍)Cno(课程号)Grade(成绩)
9、该关系中存在哪些完全函数依赖关系和部分函数依赖关系?现在学习的是第16页,共82页2、假设有一门课程C3只有某一个学生(如S6)选了,现在该学生退学了,需要删除他的信息,在删除时会发生怎样的现象?3、若有一个学生选修个多门课程,现在他要调宿舍,需要怎样修改表中的记录?1、若要添加一个学生,他还没有选课,会出现怎样的现象?4、假设有一个学生选修了多门课程,需要怎样添加记录?Sdept和Sloc多次填写冗余大主码不全,添加出错,插入异常将课程的信息也删除了删除异常需要修改多个记录修改复杂如何解决现在学习的是第17页,共82页定义定义6.6若关系R 1NF,且每个非主属性完全函数依赖于码,则R 2N
10、F。前面的关系是否满足2NF,若不满足该如何修改使它满足2NF?Sno(学号)Sdept(院系)Sloc(宿舍)Cno(课程号)Grade(成绩)SlocSdeptSnoS_LSnoGradeCnoS_C分解后的各个关系是否满足2NF,分解的原则是什么?现在学习的是第18页,共82页若关系中存在非主属性部分函数依赖于主码(不满足2NF),则修改关系去掉这些部分函数依赖关系,一般做法就是分解关系成为多个关系,使它们满足2NF。考虑一下,分解后的关系S_L的特性?SlocSdeptSnoS_L在添加学生的记录时,需要添加哪些属性,哪些是冗余的,应该如何修改?现在学习的是第19页,共82页定义定义6
11、.7关系模式R中若不存在这样的码X,属性组Y及非主属性Z()使得XY,YZ成立,YX,则称即若R是3NF,则在关系中每一个非码属性既不部分函数依赖则在关系中每一个非码属性既不部分函数依赖于码也不传递依赖于码于码也不传递依赖于码。因此:SlocSdeptSnoS_LSdeptSnoS_DSlocSdeptD_L分解后的两个关系是否满足3NF,分解的原则是什么?现在学习的是第20页,共82页若关系不满足3NF,则分解关系去掉传递函数依赖关系,使分解后的各个关系满足3NF。银行系统现有关系如下:分行,客户,借贷编号,如何构造一个关系,体现3者的联系。Branch-name(分行)Customer-n
12、ame(客户)Loan-number(借贷编号)该关系哪些属性是码,是否满足2NF,是否满足3NF?(Branch-name,Customer-name)是码,非主属性完全依赖于码,其没有传递依赖,故满足2NF和3NF,但是若借贷编号是为每个分行的不同金额的借贷业务编的号,则有没有数据冗余?有现在学习的是第21页,共82页既然每个分行为不同金额的借贷业务编了号,Loan-number和Brach-name属性存在重复,且Loan-number不是码。因此对上述关系作如下修改:Branch-name(分行)Customer-name(客户)Loan-number(借贷编号)Loan-number
13、Branch-nameAmountCustomer-nameLoan-number实质是非主属性含有决定因素,如Loan-number。分解后去掉了非主属性的决定因素。现在学习的是第22页,共82页定义定义6.8关系模式R 若XY且 时X必含有码,则称由由BCNF的定义可以得到以下推论:的定义可以得到以下推论:如果如果RBCNF,则则R中所有非主属性对每一个码都是中所有非主属性对每一个码都是完全函数依赖完全函数依赖;若不是,会得出什么结论?若不是,会得出什么结论?X必含有码的含义是什么,请举例?非主属性起决定作用,与定义矛盾。非主属性起决定作用,与定义矛盾。现在学习的是第23页,共82页R中所
14、有主属性对每一个不包含它的码中所有主属性对每一个不包含它的码,都是都是完全函数依赖完全函数依赖关系有多个候选码的情况关系有多个候选码的情况;反之,会怎样?反之,会怎样?R中没有任何属性中没有任何属性完全函数依赖完全函数依赖于非码的任何一组属性。于非码的任何一组属性。反之,会怎样?反之,会怎样?非主属性起决定作用,与定义矛盾。非主属性起决定作用,与定义矛盾。非主属性起决定作用,与定义矛盾。非主属性起决定作用,与定义矛盾。BCNF与3NF的关系是什么?现在学习的是第24页,共82页定理:定理:如果如果RBCNF,则则R3NF一定成立一定成立。证明:证明:用反证法。用反证法。如果如果RBCNF,但不
15、是但不是3NF,则则R中一定存在传递函数依中一定存在传递函数依赖赖。即即R中必定存在候选码中必定存在候选码X,非主属性非主属性A,属性组属性组Y,其中其中AX,AY,XY,使得使得XYA成立。成立。Y不是不是R的码的码,但但Y是是R的决定因素的决定因素(YA),根据根据BCNF的定义的定义,R不是不是BCNF,与假设相矛盾。与假设相矛盾。所以假设不成立。所以假设不成立。但是如果但是如果R3NF,R未必属于未必属于BCNF。3NF比比BCNF放宽了一个放宽了一个限制限制,即允许决定因素不包含码即允许决定因素不包含码。请看下面两个例子:请看下面两个例子:现在学习的是第25页,共82页例例 1:通讯
16、(通讯(城市名城市名,街道名街道名,邮政编码)邮政编码)该该关关系系的的码码是是(城城市市名名,街街道道名名),根根据据语语义义其其函函数数依依赖赖集为:集为:F=(城市名(城市名,街道名)街道名)邮政编码邮政编码,邮政编码邮政编码城市名城市名 所所以以非非主主属属性性邮邮政政编编码码完完全全函函数数依依赖赖于于码码,且且无无传传递递依依赖赖,属属于于3NF。但但邮邮政政编编码码也也是是一一个个决决定定因因素素,它它没没有有包包含含码码,所所以以该该关关系系不不属属于于BCNF。存存在在冗冗余余(城城市市名名,邮邮政政编编码码),可以作如下分解:可以作如下分解:(城市名城市名,邮政编码)邮政编
17、码)(街道名街道名,邮政编码)邮政编码)现在学习的是第26页,共82页例例 2 授课(学生授课(学生,教师教师,课程)课程)假假设设该该校校规规定定:一一个个教教师师只只能能教教一一门门课课,每每门门课课可可由由多多个个教教师师讲讲授授。学学生生一一旦旦选选定定某某门门课课,教教师师就就相相应应地地固固定。定。根据语义关系的函数依赖集为:根据语义关系的函数依赖集为:F=教教师师课课程程,(学学生生,课课程程)教教师师,(学学生生,教教师师)课程课程 该该关关系系的的候候选选码码为为(学学生生,课课程程)或或(学学生生,教教师师),该该关关系系一一定定是是3NF的的。但但由由于于决决定定因因素素
18、教教师师没没包包含含码码,该该关关系系不不属属于于BCNF。假假设设有有100名名学学生生选选课课,存存在在冗冗余余(教教师师,课课程程),可分解为:,可分解为:教师(教师教师(教师,课程)课程)学生(学生学生(学生,教师)教师)现在学习的是第27页,共82页小结:2NF的定义:强调完全函数依赖。3NF的定义:强调不存在传递函数依赖。BCNF的定义:强调只有码才可以是决定因素。它们之间的关系如何?现在学习的是第28页,共82页关系是2NF,不能保证是3NF和BCNF;3NF,能保证是2NF,但不能保证是BCNF;BCNF,能保证是2NF和3NF。关系如下:2NF3NFBCNF一个关系模式一个关
19、系模式如果达到了如果达到了BCNF,那么那么在函数依赖范围内在函数依赖范围内,它已实现了彻底的分离它已实现了彻底的分离,消除消除了数据冗余、了数据冗余、插入和删除异插入和删除异常常。现在学习的是第29页,共82页现有例子如下:课程C教员T参考书B物理李勇王军 普通物理学光学原理 物理习题集数学李勇张平数学分析微分方程高等代数计算数学张平周峰数学分析学校中某一门课程由多个教员讲授,他们使用相同的一套参考书。每个教员可以讲授多门课程,每种参考书可以供多门课程使用,非规范化数据如下:什么是函数依赖,该数据中,各个属性间存在函数依赖吗?它们之间的关系应该是怎样的?现在学习的是第30页,共82页课程C
20、教员T 参考书B物理 李勇 普通物理学物理 李勇 光学原理物理 李勇 物理习题集物理 王军 光学原理物理 王军 普通物理学物理 王军 物理习题集数学 李勇 数学分析数学 李勇 微分方程数学 李勇 高等代数数学 王平 数学分析数学 王平 微分方程数学 王平 高等代数 在这个关系中码是什么?全码教员的值由哪个属性决定?课程C,即给出一组(课程,参考书)的值,无论参考书的变化,教员的值仅仅取决于课程的值。因此,写成规范化形式如下:现在学习的是第31页,共82页定义定义6.9设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,并且Z=U-X-Y。当且仅当对R(U)的任一关系r,给定一对(x,z
21、)值,有一组Y的值,这组值仅仅决定于x的值而与z值无关,称关系模式R(U)中多值依赖多值依赖XY成立。如上例,参考书=U(课程,教员,参考书)-课程-教员,(物理,光学原理)决定了(李勇,王军),但是(李勇,王军)仅仅决定于物理与光学原理无关。因此教员因此教员T多值依赖于课程多值依赖于课程C。因此,可以做出如下结论:现在学习的是第32页,共82页我们可以从已知的元组推出表中一定存在的其他元组。我们可以从已知的元组推出表中一定存在的其他元组。例如例如,如果已知表中存在元组:如果已知表中存在元组:(物理,王军,光学原理)(物理,王军,光学原理)(物理,李勇,普通物理学)(物理,李勇,普通物理学)那
22、么表中应该有元组:那么表中应该有元组:(物理,王军,普通物理学)(物理,王军,普通物理学)(物理,李勇,光学原理)(物理,李勇,光学原理)Why?多值依赖具有对称性多值依赖具有对称性。若若XY,则则XZ,其中其中Z=U-X-Y。现在学习的是第33页,共82页问题,如果给物理课程添加一名教员需要添加几条记录,同样某一门课程(如物理)要去掉一本参考书需要删除几条记录?存在冗余,如何处理。另外一个例子课程教员参考书课程教员课程参考书现在学习的是第34页,共82页数据如下:t1t2t3Go 33现在学习的是第35页,共82页t1t2t3Go 33现在学习的是第36页,共82页针对上面数据,给定同一课程
23、(X相同)的两个记录(元组)t1和t2,总能找到同一课程的一个记录t3(可以与t1或t2相同),它满足如下条件:在t3的另外两个属性中,其中一个属性和t1的对应属性相同,另一个属性与t2的对应属性相同。上述描述是否总是正确?例子是,因此给出多值依赖的另一种等价的形式化定义如下:现在学习的是第37页,共82页多值依赖的另一个等价的形式化定义为:设关系模式R(U),X、Y、Z是U的子集,Z=U-X-Y,r是R的任意一个关系,t1、t2是r的任意两个元组。如果t1X=t2X,在r中存在元组t3,使得 t3X=t1X,t3Y=t1Y,t3Z=t2Z 成立,则XY。成立的含义?是指t3也在r中。上述定义
24、中,由于t1、t2的对称性,实际隐含着关系r中还存在着另一个元组t4,t4满足:t4X=t1X,t4Y=t2Y,t4Z=t1Zt1,t2,t3,t4 可以分别由 t,s,w,v代替教材P179的形式化定义。现在学习的是第38页,共82页换换句句话话说说,如如果果r有有两两个个元元组组在在X属属性性上上的的值值相相等等,则则交交换换这这两个元组在两个元组在Y上的属性值上的属性值,得到的两个新元组也必是得到的两个新元组也必是r中的元组中的元组。定定义义中中如如果果Z=(即即Z为为空空集集),则则称称XY为为平平凡凡的多值依赖的多值依赖,否则为否则为非平凡多值依赖非平凡多值依赖。现在学习的是第39页
25、,共82页(1)多多值值依依赖赖具具有有对对称称性性。若若XY,则则XZ,其其中中Z=U-X-Y。(2)多多值值依依赖赖具具有有传传递递性性。若若XY,YZ,则则XZ-Y。(3)若若XY,XZ,则则XYZ(或者写成或者写成YZ)。(4)若若XY,XZ,则则XYZ。(5)若若XY,XZ,则则XY-Z,XZ-Y。多值依赖应该具有的性质多值依赖应该具有的性质注意:注意:函数依赖可看成是多值依赖的特例,函数依赖可看成是多值依赖的特例,即函即函数依赖一定是多值依赖,多值依赖不一定数依赖一定是多值依赖,多值依赖不一定是函数依赖。是函数依赖。现在学习的是第40页,共82页看下例:码是什么,项目是否是决定因素
26、,是否是候选码?根据BCNF的定义,该关系是否满足BCNF?该关系是否存在数据冗余,若存在该如何处理?供应关系现在学习的是第41页,共82页定义定义6.10如果关系模式如果关系模式R1NF,对于对于R的每个的每个非平凡的多值非平凡的多值依赖依赖XY(YX),X含有码含有码,则称则称R是第四范是第四范式式,即即R4NF。一一个个关关系系模模式式如如果果属属于于4NF,则则一一定定属属于于BCNF,但但一一个个BCNF的的关关系系模模式式不不一一定定是是4NF的的,R中中所有的平凡多值依赖实际上是所有的平凡多值依赖实际上是函数依赖函数依赖。注意:注意:4NF是限制关系模式的属性之间不允许有非平凡且
27、非函数是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。依赖的多值依赖。现在学习的是第42页,共82页在前面的供应关系中在前面的供应关系中,项目项目供应商供应商,项目项目零件零件,且都且都是非平凡的多值依赖是非平凡的多值依赖。但但该该关关系系的的码码是是全全码码(项项目目,供供应应商商,零零件件),而而项项目目没没有有包包含含码码(只只是是码码的的一一部部分分),所所以以该该关关系系模模式式属属于于BCNF(根根据据定定义义)而而不不属属于于4NF。如如将将其其分分解解为为两两个个关关系系,可可达达到到4NF:需求(项目需求(项目,零件)零件)供应(项目供应(项目,供应商)供应商)
28、这这两两个个关关系系中中,项项目目零零件件,项项目目供供应应商商,它它们们均均是是平平凡凡多多值值依依赖赖。即即关关系系中中已已不不存存在在非非平平凡凡、非非函函数数依依赖赖的多值依赖的多值依赖,所以它们均是所以它们均是4NF。现在学习的是第43页,共82页6.3关系的规范化程度关关系系规规范范化化的的目目的的是是解解决决关关系系模模式式中中存存在在的的数数据据冗冗余余、插插入入和和删删除除异异常常、更更新新繁繁琐琐等等问问题题。其其基基本本思思想想是是消消除除数数据据依依赖赖中中的的不不合合适适部部分分,使使各各关关系系模模式式达达到到某某种种程程度度的的分分离离,使使一一个个关关系系描描述
29、述一一个个概概念念、一一个个实实体体或或实实体体间间的的一一种种联联系系。因因此此,规规范范化化的的实实质质是是概概念的念的单一化单一化。各种规范化之间的关系为:各种规范化之间的关系为:关系规范化的递进过程如下图关系规范化的递进过程如下图 所示所示现在学习的是第44页,共82页范式递进过程示意图 1NF消除非主属性对码的部分函数依赖BCNF2NF消除非主属性对码的传递函数依赖3NF消除主属性对码的部分和传递依赖4NF消除非平凡且非函数依赖的多值依赖现在学习的是第45页,共82页所所以以,规规范范化化的的基基本本原原则则是是:由由低低到到高高,逐逐步步规规范范,权权衡衡利利弊弊,适可而止适可而止
30、。通常通常,以满足第三范式为基本要求以满足第三范式为基本要求。把把一一个个非非规规范范化化的的数数据据结结构构转转换换成成第第三三范范式式,一一般般经经过以下几步:过以下几步:(1)把该结构分解成若干个属于第一范式的关系把该结构分解成若干个属于第一范式的关系。(2)对对那那些些存存在在组组合合码码,且且有有非非主主属属性性部部分分函函数数依依赖赖的关系必须继续分解的关系必须继续分解,使所得关系都是属于第二范式使所得关系都是属于第二范式。(3)若若关关系系中中有有非非主主属属性性传传递递依依赖赖于于码码,则则继继续续分分解解之之,使得关系都属于第三范式使得关系都属于第三范式。现在学习的是第46页
31、,共82页关关系系模模式式的的规规范范化化过过程程是是通通过过投投影影分分解解实实现现的的,即即用用投投影影运算把一个模式分解成若干个高一级的关系模式运算把一个模式分解成若干个高一级的关系模式。这种投影分解这种投影分解不是唯一不是唯一的。的。在分解时应注意满足以下在分解时应注意满足以下三个条件三个条件:(1)分分解解是是无无损损连连接接分分解解,分分解解后后既既不不丢丢失失又又不不增增加加信息信息。(2)分解所得的所有关系分解所得的所有关系都是高一级范式都是高一级范式的。的。(3)分解所得关系的分解所得关系的个数最少个数最少。什么是无损连接分解?现在学习的是第47页,共82页6.4模式的分解1
32、、数据依赖的公理系统2、模式分解现在学习的是第48页,共82页背景知识在关系模式R中,U的含义是什么,F的含义是什么,它应该包含什么?在关系模式(sno,sname,sage,cno,cname,grade)中,U指什么,F是什么,应该包含哪些内容?例如(Sno,Cno,Grade)中关系模式关系模式是什么,关系关系又是什么,两者的联系是什么?P43,46函数依赖如何定义?在线性代数中,n维空间和n维空间的基的关系是什么?在离算数学中,蕴含的含义是什么?现在学习的是第49页,共82页6.4.1数据依赖的公理系统只作介绍不作证明只作介绍不作证明提出的目的:是模式分解的理论基础;从一组函数依赖求得
33、蕴含的函数依赖,例如已知函数依赖集F,判断XY是否为F所蕴含。现在学习的是第50页,共82页定义定义6.11对于满足一组函数依赖F的关系模式R,其任何一个关系r,若函数依赖XY都成立(即r中任意两元组t,s,若tX=sX,则tY=sY),则称F逻辑蕴含XY。在该定义中:在该定义中:F应该包含哪些内容,关系r的含义是什么,函数依赖XY的特点是什么?该定义可以如何描述?在一个关系模式的所有关系中都成立的函数依赖,一定可以被该关系模式的函数依赖集F所蕴含。现在学习的是第51页,共82页Armstrong公理系统设U为属性集总体,F是U上的一组函数依赖,于是有关系模式R。根据逻辑蕴含的定义,能否说F逻
34、辑蕴含XY?所以若Y X U,则XY为F所蕴含。自反律自反律若Y X U,则XY的特点是什么?1、得到的是平凡的函数依赖,自反律的使用不依赖于F.现在学习的是第52页,共82页2、若XY为F所蕴含,是指什么?如果Z U,则X ZY Z是否在R的所有关系上成立?例如在(sno,sname,sage,cno,cname,grade)中,(sno,cno)grade总是成立;(sno,cno,sage)(grade,sage)是否总是成立?增广律:若若XY为为F所蕴含,且所蕴含,且Z U,则,则X ZY Z为为F所蕴含所蕴含。现在学习的是第53页,共82页3、若XY及YZ为F所蕴含,是指什么?能否得
35、到XZ是否在R的所有关系上总是成立?请举例。传递律:若若XY及及YZ为为F所蕴含,则所蕴含,则XZ为为F所蕴含所蕴含。因此得到:设U为属性集总体,F是U上的一组函数依赖,于是有关系模式R。对R有如下推理规则:自反律:若Y X U,则XY为F所蕴含。增广律:若XY为F所蕴含,且Z U,则X ZY Z为F所蕴含。传递律:若XY及YZ为F所蕴含,则XZ为F所蕴含。(sno,sdept,sdname)现在学习的是第54页,共82页1、若XY,XZ在R中的所有关系上都成立,能否推出XY Z在R中的所有关系上都成立?例如:(sno,sname,sage,class)中,Snosname,Snosage成立
36、,Sno(sname,sage)成立吗?推论:合并规则:若若XY,XZ,则则XY Z;现在学习的是第55页,共82页2、若XY Z在R中的所有关系上都成立,能否推出XY,XZ在R中的所有关系上都成立?例如:(sno,sname,sage,class)中,Sno(sname,sage)成立,Snosname,Snosage成立吗?分解规则:若若XY Z,则则XY,XZ;现在学习的是第56页,共82页3、若XY,W YZ,在R中的所有关系上都成立,能否推出X WZ在R中的所有关系上都成立?例如:(sno,sdept,job,room)其中room 为办公室,job为职务snosdept,(job,
37、sdept)room,(sno,job)room成立吗?伪传递规则:若XY,W YZ,则X WZ。根据这3条推理规则(自反律、增广律、传递律)可以得到如下的推理规则:合并规则:若XY,XZ,则XY Z;分解规则:若XY Z,则XY,XZ;伪传递规则:若XY,W YZ,则X WZ。现在学习的是第57页,共82页因此,设U为属性集总体,F是U上的一组函数依赖,于是有关系模式R。对R有如下推理规则:自反律:若Y X U,则XY为F所蕴含。得到的是平凡的函数依赖,自反律的使用不依赖于F.增广律:若XY为F所蕴含,且Z U,则X ZY Z为F所蕴含。传递律:若XY及YZ为F所蕴含,则XZ为F所蕴含。加上
38、:合并规则:若XY,XZ,则XY Z;分解规则:若XY Z,则XY,XZ;伪传递规则:若XY,W YZ,则X WZ。注意:实质是在关系R上的基本运算基本运算(变换变换)规则规则。现在学习的是第58页,共82页在关系模式R中,根据分解规则,XA1A2Ak成立是否XAi成立(i=1,2,k)?根据合成规则,XAi成立(i=1,2,k)是否XA1A2Ak成立?引理引理6.1:XA1A2Ak成立的充分必要条件是XAi成立(i=1,2,k)。思考:在n维空间中,任给一个n维向量t,它与n维空间和n维空间的基P的关系是什么?任意一个n维向量:1、它属于它属于n维空间;维空间;2、它可以用它可以用n维空间的
39、基维空间的基P表示出来表示出来。现在学习的是第59页,共82页若在关系模式R中,函数依赖的全体表示为F+,F+中任何一个函数依赖(XY)都蕴含于F,这种关系与n维空间,n维向量和n维空间的基的相似点是什么?F对应于n维空间的基,注意此时F可能比n维空间的基大,即含有相关的函数依赖;函数依赖(XY)对应于n维向量;F+对应于n维空间。因此:定义定义6.12在关系模式R中为F所逻辑蕴含的函数依赖的全体叫作F的闭包,记作F+。因此:现在学习的是第60页,共82页由F出发根据Armstrong公理(自反律、增广律、传递律、合并规则、伪传递规则,分解规则)推导出来的每一个函数依赖是否一定在F+中?反之,
40、在F+中的每一个函数依赖,是否可以由F出发根据Armstrong公理推导出来?定理定理6.2:Armstrong公理系统是有效的、完备的。公理系统是有效的、完备的。有效性有效性:指由F出发根据Armstrong公理推导出来的每一个函数依赖一定在F+中;完备性完备性:指F+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出来。现在学习的是第61页,共82页定义定义6.13设F为属性集U上的一组函数依赖,X U,XF+=A|XA能由F根据Armstrong公理导出,XF+称为属性集称为属性集X关于函数依赖集关于函数依赖集F的闭包的闭包。思考:在关系模式(sno,sname,sag
41、e,cno,cname,grade)中,F应该包含哪些函数依赖,Sno起决定作用的函数依赖有哪些(即哪些属性可以由Sno决定)?在R中,X,Y U,XY能由F根据Armstrong公理导出,能否说Y XF+,反之,Y XF+能否说能否说XY能由F根据Armstrong公理导出?现在学习的是第62页,共82页引理引理6.2:设F为属性集U上的一组函数依赖,X,Y U,XY能由F根据Armstrong公理导出的充分必要条件是 Y XF+。在数学分析中,什么是覆盖?定义定义6.14如果G+=F+,就说函数依赖F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。引理引理6.3:G+=F+的充分必要
42、条件是F G+,和G F+。在关系模式R中有没有可能存在这样的F,F中的函数依赖的数目最少,但是R中所有的函数依赖都可以由F中的函数依赖导出(蕴含),若有,F有什么特点?现在学习的是第63页,共82页在关系模式R中,如果函数依赖集F满足下列条件,F中任一函数依赖的右部仅含有一个属性;最简形式;F中不存在这样的函数依赖XA,使得F与F-XA等价;不能包含多余的函数依赖;F中不存在这样的函数依赖XA,X有真子集Z使得F-XA ZA与F等价。F中的函数依赖全部是完全函数依赖。则称F为一个极小函数依赖集,亦称为最小依赖集或最小覆盖。现在学习的是第64页,共82页定理定理6.3每一个函数依赖集每一个函数
43、依赖集F均等价于一个极小函数依赖集均等价于一个极小函数依赖集Fm。此Fm称为F的最小依赖集最小依赖集。现在学习的是第65页,共82页6.4.2模式分解如果一个关系不满足2NF,应该做怎样的处理,通过哪种操作可以实现?对关系进行分解处理使它满足2NF,通过投影投影操作便可以实现分解处理。现在学习的是第66页,共82页定义定义6.16关系模式R的一个分解是指p=R1,R2,Rn其中定义定义6.17函数依赖集合 的一个覆盖Fi叫作F在属性在属性Ui上的投影上的投影。注意:Ui和和Uj可以有重叠的部分。可以有重叠的部分。现在学习的是第67页,共82页6.4.2.1模式分解的模式分解的3个定义个定义关系
44、模式经分解后关系模式经分解后,应与原来的关系模式应与原来的关系模式等价等价。所谓所谓“等价等价”是指两者对是指两者对数据的使用者来说数据的使用者来说应是等价的。应是等价的。即对分解前即对分解前后的关系后的关系,做相同内容的查询做相同内容的查询,应产生同样的结果应产生同样的结果。这是这是对模式分解的基本要求。对模式分解的基本要求。等价概念的三种不同的定义:等价概念的三种不同的定义:分解具有分解具有“无损连接性无损连接性”;分解具有分解具有“函数依赖保持性函数依赖保持性”;分解既要具有分解既要具有“无损连接性无损连接性”,又要具有又要具有“函数依赖保函数依赖保持性持性”。看下例:现在学习的是第68
45、页,共82页在关系模式R,其中U=Sno,Sdept,Mname,F=SnoSdept,SdeptMname。该关系中存在传递函数依赖SnoMname,会发生异常。故作如下几种分解:1、p1=R1,R2,R3,即将前面关系中的每一个属性单独作为一个关系,有什么特点?2、p2=R1,R2,有什么特点?该分解丢失了信息。该分解虽然没有丢失信息(无损连接性无损连接性),但是去掉了函数依赖SdeptMname。故仍会发生异常。现在学习的是第69页,共82页3、p2=R1,R2,有什么特点?该分解既没有丢失信息,也保持了函数依赖(具有具有“无损连接无损连接性性”,又要具有又要具有“函数依赖保持性函数依赖
46、保持性”),解决了操作异常。问题:给定一个关系该如何分解才能具有具有“无损连接性无损连接性”,又要具有又要具有“函数依赖保持性函数依赖保持性”?现在学习的是第70页,共82页6.4.2.2分解无损连接性和保持函数依赖性分解无损连接性和保持函数依赖性符号:R的一个分解p,表示为r是R的一个关系。mp(r)是r在p中各关系模式上投影的连接。现在学习的是第71页,共82页引理引理6.4:设R是一个关系模式,是R的一个分解,r是R的一个关系,则现在学习的是第72页,共82页定义定义6.18是R的一个分解,若对R的任何一个关系r均有成立,则称分解p具有无损连接性。简称p为无损分解。如何判断一个分解的无损
47、连接性?即分解后通过连接可以复原。即分解后通过连接可以复原。现在学习的是第73页,共82页算法:判断一个分解的无损连接性。例:已知R,U=A,B,C,D,E,F=ABC,CD,DE,R的一个分解为R1(A,B,C),R2(C,D),R3(D,E),判断该分解是否是无损连接性。即ABCDEABCCDDE根据上述描述,作表如下:现在学习的是第74页,共82页ABCDEa1a2a3b14b15b21b22b23b24b25b31b32b33b34b35R1(A,B,C)ABCDEb11b12b13b14b15b21b22b23b24b25b31b32b33b34b35现在学习的是第75页,共82页A
48、BCDEa1a2a3b14b15b21b22a3a4b25b31b32b33a4a5ABCDEa1a2a3b14b15b21b22a3a4b25b31b32b33b34b35R2(C,D)R3(D,E)现在学习的是第76页,共82页ABCDEa1a2a3b14b15b21b22a3a4b25b31b32b33a4a5ABCCDABCDEa1a2a3a4b15b21b22a3a4b25b31b32b33a4a5现在学习的是第77页,共82页DEABCDEa1a2a3a4a5b21b22a3a4a5b31b32b33a4a5其中有一行(第1行)变成a1,a2,a3,a4,a5。此时说,该分解具有无
49、损连接性。对于一般性分解问题,该如何处理?现在学习的是第78页,共82页对于一般性分解问题,步骤如下:根据分解后的子关系,确定初始表;然后根据分解后存在的函数依赖,处理初始表;看是否存在一行是的a1,a2,a5形式。分解算法(略)现在学习的是第79页,共82页小结函数依赖;范式:1NF,2NF,3NF,BCNF多值依赖:4NF数据依赖的公理系统模式分解现在学习的是第80页,共82页事实上,规范化理论是在与SQL编程语言结合时产生的。关系理论的基本原则指出,数据库被规范化后,其中的任何数据子集都可以用基本的SQL操作符获取。这就是规范化的重要性所在。数据库不进行规范化,就必须通过编写大量复杂代码来查询数据。规范化规则在关系建模和关系对象建模中同等重要。一般来说,规规范范化化程程度度越越高高,分分解解就就越越细细,所所得得数数据据库库的的数数据据冗冗余余就就越越小小,且更新错误也可相对减少且更新错误也可相对减少。如果某一关系经过数据大量加载后,主要用于检索,那么,即使它是一个低范式的关系,也不要去追求高范式而将其不断进行分解。因为在检索时,又会通过多个关系的自然连接才能获得全部信息,从而降低了数据的检索效率。即,数据库设计满足的范式越高,其数据处理的开销也越大。现在学习的是第81页,共82页作业P195 T1,2,12现在学习的是第82页,共82页
限制150内