关系数据理论.pptx

上传人:莉*** 文档编号:87212293 上传时间:2023-04-16 格式:PPTX 页数:69 大小:358.49KB
返回 下载 相关 举报
关系数据理论.pptx_第1页
第1页 / 共69页
关系数据理论.pptx_第2页
第2页 / 共69页
点击查看更多>>
资源描述

《关系数据理论.pptx》由会员分享,可在线阅读,更多相关《关系数据理论.pptx(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、内容概述定义:关系数据库设计理论就是借助于数学工具规定了一整套的关系数据库设计理论和方法。关系模型关系模型(第一篇(第一篇 关系数据库基础理论)关系数据库基础理论)关系数据库关系数据库(第二篇(第二篇 关系数据库设计与应用开发)关系数据库设计与应用开发)设计如何选择一个比较好的关系模式的集合,每个关系又应该由哪些属性组成。(关系数据理论要解决的问题)第1页/共69页案例分析设某学校教学所需管理的信息有:课程号,课程名,学号,学生姓名,学生所在系,系主任,成绩等。一个系有若干个学生,但一个学生只属于一个系;一个学生可以选修多门功课,每门课程可有若干学生选修,每个学生学习课程有一个成绩。根据以上要

2、求设计教学管理数据库:关系模式1:SCD(学号,学生姓名,学生所在系,系主任,课程号,课程名,成绩)关系模式2:S1(学号,学生姓名,学生所在系,系主任)S2(学生姓名,课程名,成绩)选择哪一种更好?第2页/共69页学习内容 1 为什么要选择 2 怎么选择 3 做什么某些不好的关系模式可能导致哪些问题?关系数据库的规范化理论(重点)模式分解和模式设计(难点)第3页/共69页6.1关系模式的存储异常问题某些不好的关系模式可能导致哪些问题?例如教学管理数据库,以关系模式1为例:SCD(学号,姓名,年龄,部门,系主任,课程号,成绩)在此关系模式中填入一部分具体的数据,则可得到SCD关系模式的实例,即

3、一个教学管理数据库,如下图所示。第4页/共69页关系数据库SCD学号姓名年龄部门系主任 课程号成绩S1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C770S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思19自动化刘伟C193分析以上关系中的数据,我们可以看出:(学号,课程号)属性的组合能唯一标识一个元组,所以(学号,课程号)是该关系模式的主关系键。第5页/共69页(1)数据冗余 系名和系主任的名字、学生的姓名、年龄也都要重复存储多次。学号

4、姓名年龄部门系主任 课程号成绩S1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C770S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思19自动化刘伟C193存储次数=每个学生选修课程门数(1000*10)数据的冗余度很大,浪费了存储空间。第6页/共69页(2)插入异常 在这个关系模式中,(学号,课程号)是主关键字。根据关系的实体完整性约束,主关键字的值不能为空,而这时没有学生,学号,课程号均无值,因此导致插入异常。学号姓名年龄部门系主任

5、课程号成绩S1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C770S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思19自动化刘伟C193s5刘一己刘一己18nullnullnullnull?第7页/共69页(3)删除异常 信息系学生全部毕业而没有招生时,需要删除全部学生的记录 出现的问题:系名、系主任随之删除,而这个系依然存在,在数据库中却无法找到该系的信息,导致删除异常学号姓名年龄部门系主任 课程号成绩S1赵亦17计算机刘伟C190S1

6、赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C770S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思男自动化刘伟C193信息信息王平王平第8页/共69页(4)更新异常 某系更换系主任,则属于该系的学生记录都要修改内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏数据的完整性,导致更新异常。学号姓名年龄部门系主任 课程号成绩S1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信

7、息王平C770S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思男自动化刘伟C193王刚王刚王刚王刚王刚王刚王刚王刚王刚王刚第9页/共69页6.1关系模式的存储异常问题 一个不好的关系模式可能存在以下问题:数据冗余插入异常删除异常更新异常Why(Why(为什么要进行选择为什么要进行选择)第10页/共69页6.2 怎么选择一个好的关系模式应该具备以下条件:尽可能小的数据冗余没有插入异常没有删除异常没有更新异常第11页/共69页案例分析SCD(学号,姓名,年龄,部门,系主任,课程号,成绩)把关系模式SCD分解为下面三个结构简单的关

8、系模式。学生关系S(学号,姓名,年龄,系别)选课关系SC(学号,课程号,成绩)系关系D(系名,系主任)第12页/共69页改进的SCD学生关系SSNOSNAGEDEPTSNOCNOSCORES1赵亦17计算机S1C190S2钱尔18信息S1C285S3孙珊20信息S2C557S4李思21自动化S2C680S2C7S2C570S3C10S3C270S3C485DEPTMN计算机刘伟信息王平自动化刘伟选课关系SC系关系D第13页/共69页改进的SCD特点SNOSNAGEDEPTS1赵亦17计算机S2钱尔18信息S3孙珊20信息S4李思21自动化DEPTMN计算机刘伟信息王平自动化刘伟SNOCNOSC

9、ORES1C190S1C285S2C557S2C680S2C7S2C570分解为三个关系模式后,其特点:当新插入一个系时,只要在关系D中添加一条记录,数据的冗余度明显降低当某个学生尚未选课,只要在关系S中添加一条学生记录,而与选课关系无关,这就避免了插入异常。当一个系的学生全部毕业时,只需在S中删除该系的全部学生记录,而关系D中有关该系的信息仍然保留,从而不会引起删除异常。由于数据冗余度的降低,数据没有重复存储,也不会引起更新异常。分解后的关系模式是一个好的关系数据库模式。第14页/共69页6.2 关系规范化理论(How)SCD(学号,姓名,年龄,部门,系主任,课程号,成绩)学生关系S(学号,

10、姓名,年龄,系别)选课关系SC(学号,课程号,成绩)系关系D(系名,系主任)转换转换原则:关系规范化理论 如何按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模式转变为好的关系数据库模式,这就是关系的规范化第15页/共69页6.2 关系规范化理论(How)关系数据库的规范化理论最早是由关系数据库的创始人E.F.Codd提出的,后经许多专家学者对关系数据库理论作了深入的研究和发展,形成了一整套有关关系数据库设计的理论。关系数据库的规范化理论主要包括三个方面的内容:函数依赖(数学基础)范式(Normal Form)(规范化标准)模式分解和模式设计(What,

11、做什么)其中,函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。第16页/共69页6.2.1 函数依赖数据依赖:关系模式中的各属性之间相互依赖、相互制约的联系。函数依赖多值依赖连接依赖 其中,函数依赖(Functional Dependency)是最重要的数据依赖,是关系模式中属性之间的一种逻辑依赖关系。第17页/共69页函数依赖的定义定义 设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y是U的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体值与之对应,则称X决定函数Y,或Y函数依赖于X,记作XY。我们称X为决定因素

12、,Y为依赖因素。对于关系模式SCDU=学号,姓名,年龄,系别,系主任,课程号,成绩F=学号姓名,学号年龄,学号系别 一个学号有多个成绩的值与其对应,因此成绩不能唯一地确定,即成绩不能函数依赖于学号,所以有:学号 成绩。但是 成绩可以被(学号,课程号)唯一地确定。所以可表示为:(学号,课程号)成绩。第18页/共69页有关函数依赖的几点说明:1 函数依赖是语义范畴的概念.反映了一种语义完整性约束,只能根据语义来确定函数依赖.例如,对于关系模式S,当学生不存在重名的情况下,有:姓名年龄姓名系别 这种函数依赖关系,必须是在没有重名的学生条件下才成立的,否则就不存在函数依赖了。SNOSNAGEDEPTS

13、1赵亦17计算机S2钱尔18信息S3赵亦20信息第19页/共69页有关函数依赖的几点说明:2 函数依赖与属性之间的联系类型有关。(1)在一个关系模式中,如果属性X与Y有1:1联系时,则存在函数依赖XY,YX,即XY。例如,当学生无重名时,学号 姓名。(2)如果属性X与Y有1:m的联系时,则只存在函数依赖XY。例如,学号与年龄、系别之间均为1:m联系,所以有 学号年龄,学号系别。(3)如果属性X与Y有m:n的联系时,则X与Y之间不存在任何函数依赖关系。例如,一个学生可以选修多门课程,一门课程又可以为多个学生选修,所以学号与课程号之间不存在函数依赖关系。由于函数依赖与属性之间的联系类型有关,所以在

14、确定属性间的函数依赖关系时,可以从分析属性间的联系类型入手,便可确定属性间的函数依赖。第20页/共69页函数依赖的类型完全函数依赖部分函数依赖传递函数依赖第21页/共69页完全函数依赖与部分函数依赖定义 设关系模式R(U),U是属性全集,X和Y是U的子集,如果XY,并且对于X的任何一个真子集X,都有X Y,则称Y对X完全函数依赖(FullFunctionalDependency)如果对X的某个真子集X,有X Y,则称Y对X部分函数依赖(PartialFunctionalDependency)例如,关系模式SCD中,因为学号 成绩,且课程号 成绩,(学号,课程号)成绩,所以有:成绩对(学号,课程

15、号)完全函数依赖。而学号年龄,(学号,课程号)年龄,所以有:年龄对(学号,课程号)部分函数依赖。第22页/共69页传递函数依赖定义 设有关系模式R(U),U是属性全集,X,Y,Z是U的子集,若XY,但Y X,而YZ(Y X,Z Y),则称Z对X传递函数依赖(TransitiveFunctionalDependency)。如果YX,则X Y,这时称Z对X直接函数依赖,而不是传递函数依赖。例如,在关系模式SCD中,学号系别,但系别 学号,而系别 系主任,则有系主任对学号传递函数依赖。第23页/共69页总结 综上所述,函数依赖分为完全函数依赖、部分函数依赖和传递函数依赖三类,它们是规范化理论的依据和

16、规范化程度的准则,下面我们将以介绍的这些概念为基础,进行数据库的规范设计。第24页/共69页6.2.2关系模式的范式 问题:关系模式用什么标准衡量?1NF(低低)2NF3NF4NFBCNF5NF(高高)定义:范式是对关系的不同数据依赖程度的要求。范式 将一个低级范式转换为若干个高级范式的过程称作规范化。第25页/共69页第一范式(1NF)定义:关系模式R的所有的属性值域都是不可再分的。即不能以集合、序列等作为属性值。学号学号课程号课程号S1C1,C2,C3学号学号课程号课程号S1C1S1C2S1C3第26页/共69页第一范式(1NF)分量是否需要再分,与具体应用有关。如果用到值的一部分,则需要

17、进一步分割。如果只是查询所属院系,则它满足1NF。如果查询两人专业是否相同,则不满足1NF。姓名院系王军资环资源张立资环环境李明资环地信姓名院系王军资环资源张立资环环境李明资环地信只比较系,需要将院系分解第27页/共69页第一范式(1NF)满足条件吗?插入异常:如果学生没有选课,关于他的个人信息及所在系的信息就无法插入。删除异常:如果删除学生的选课信息,则有关他的个人信息及所在系的信息也随之删除了。更新异常:如果学生转系,若他选修了k门课,则需要修改k次。数据冗余:关系模式S(学号,姓名,系,系主任,课程号,成绩)满足1NF,是否符合一个好的关系模式应该具备的条件呢?第28页/共69页第二范式

18、(2NF)定义:对于关系模式R,若R1NF,且R中的每一个非主属性完全函数依赖于R的某个候选键,则R2NF。从1NF中消除非主属性对候选键的部分函数依赖,则获得2NF关系.第29页/共69页第二范式(2NF)关系模式(学号,姓名,课程号,成绩,系,系主任)(学号,课程号)成绩 学号系 学号姓名 系系主任学号学号课程号课程号成绩成绩姓名姓名完全依赖完全依赖非完全依赖非完全依赖 系系 第30页/共69页第二范式(2NF)关系模式S(学号,姓名,课程号,成绩,系,系主任)存在部分函数依赖,不满足第二范式。分解之道:将模式中不完全函数依赖的属性去掉,将部分依赖的属性单独组成新的模式,化为第二范式。选课

19、选课(学号学号,课程号课程号,成绩成绩)学生学生(学号学号,姓名姓名,系系,系主任系主任)第31页/共69页第二范式(2NF)满足条件吗?插入异常:如果系没有学生,关于系及系主任的信息就无法插入。删除异常:如果删除所有学生的信息,则他所在系的信息也随之删除了。更新异常:数据冗余:选课(学号,课程号,成绩)学生(学号,姓名,系,系主任)满足2NF,是否符合一个好的关系模式应该具备的条件呢?第32页/共69页第三范式(3NF)定义:在关系模式R中,如果YX,XA,且XY和A X,那么称YA是传递依赖(A传递依赖于Y).如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范

20、式(3NF)的模式。则称R3NF。从2NF中消除非主属性对键的传递依赖。第33页/共69页第三范式(3NF)学生(学号,姓名,系,系主任)学号学号 系系 姓名姓名 系主任系主任传递依赖:学号系主任学号姓名,系 系系主任第34页/共69页第三范式(3NF)关系模式S不满足第三范式,存在非主属性对键的传递依赖。分解之道:将模式中存在非主属性对键的传递依赖的属性单独组成新的模式,化为第三范式。s(sno,sname,sdept)sdep(sdept,dept_manager)第35页/共69页BCNF定义:如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。BCN

21、F范式是第三范式的改进形式,建立在第一范式的基础上。第36页/共69页BCNF从BCNF的定义中可以明显得出如下结论:1、所有非主属性对键是完全依赖。2、所有主属性对不包含它的键是完全函数依赖。3、没有属性完全函数依赖于非键的任何的属性组。第37页/共69页BCNFsct(s,c,t)/学生,课程,教师tc /每位教师只上一门课s,ct /某学生选定一门课,就对应一位老师s,tc /每门课有若干位教师sctstcsct3NF,sctBCNF(S,t),(S,C)为候选键。tc第38页/共69页BCNF非BCNF的不良特性插入异常:如果没有学生选修某位老师的任课,则该老师担任课程的信息就无法插入

22、。删除异常:删除学生选课信息,会删除掉老师的任课信息。更新异常:如果老师所教授的课程有所改动,则所有选修该老师课程的学生元组都要做改动。数据冗余:每位学生都存储了有关老师所教授的课程的信息。症由:主属性对键的不良依赖。sct(s,c,t)第39页/共69页BCNF如sctBCNF,因为tC,而t不含有键。改造将sct分解为(S,t),(t,c)。sct(s,c,t)第40页/共69页BCNFBCNF是基于函数依赖的最高范式但不是数据库模式设计的最高范式第41页/共69页范式之间的关系1NF2NF3NFBCNF消去非主属性对键的部分函数依赖消去非主属性对键的部分函数依赖 消去非主属性对键的传递函

23、数依赖消去非主属性对键的传递函数依赖 消去主属性对键的传递函数依赖消去主属性对键的传递函数依赖 第42页/共69页BCNF的不良特性关系模式TEACH(C#,P#,B#),一门课程由多个教员担任,一门课程使用相同的一套参考书。它的码是(C#,P#,B#),所以属于BCNF。C#P#B#C1P1B1C1P1B2C1P2B1C1P2B2C2P1B3C2P1B4C2P3B3C2P3B4C#P#B#C1P1,P2 B1,B2C2P1,P3 B3,B4第43页/共69页BCNF的不良特性插入异常:当某门课程增加一名教员时,该门课程有多少本参考书就必须插入多少个元组;同样当某门课程需要增加一本参考书时,它

24、有多少个教员就必须插入多少个元组。删除异常:当删除一门课程的某个教员或者某本参考书时,需要删除多个元组。更新异常:当一门课程的教员或参考书作出改变时,需要修改多个元组。数据冗余:同一门课的教员与参考书的信息被反复存储多次。第44页/共69页6.2.4多值依赖定义描述型:关系模式R(U),X、Y、ZU,并且Z=UXY,多值依赖XY成立当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。如在关系模式TEACH中,对(C1,B1)有一组P#值(P1,P2),对(C1,B2)也有一组P#值(P1,P2),这组值仅取决于C#的取值,而与B#的取值无关。因

25、此,P#多值依赖于C#,记作C#P#,同样有C#B#。第45页/共69页多值依赖形式化:关系模式R(U),X、Y、ZU,Z=UXY,对于R(U)的任一关系r,若存在元组t1,t2,使得t1X=t2X,那么就必然存在元组t3,t4,使得:t3X=t4X=t1X=t2Xt3Y=t1Y,t4Y=t2Yt3Z=t2Z,t4Z=t1Z则称Y多值依赖与X,记作XY。若(C#,P#,B#)满足C#P#,含有元组t1=(C1,P1,B1),t2=(C1,P2,B2),则也一定含有元组t3=(C1,P1,B2),t4=(C1,P2,B1)。第46页/共69页多值依赖一般,当关系至少有三个属性,其中的两个是多值时

26、,且他们的值只依赖于第三个属性时,才会有多值依赖;多值依赖会导致更新异常,要删除异常,需消除多值依赖,可以通过建立两个关系,每个关系只存储一个多值属性的数据.一个关系如果在BCNF中,且没有多值依赖,则该关系在第四范式中.第47页/共69页举例:关系模式WSC(W,S,C)中,W表示仓库,S表示保管员,C表示商品。假设每个仓库有若干个保管员,有若干种商品。每个保管员保管所在仓库的所有商品,每种商品被所有保管员保管。WSCW1S1C1W1S1C2W1S1C3W1S2C1W1S2C2W1S2C3W2S3C4W2S3C5W2S4C4W2S4C5对于对于W W的每一个值,的每一个值,S S有一个完整有

27、一个完整的集与它对应不论的集与它对应不论C C取什么值,取什么值,所以所以W W S S第48页/共69页 设关系模式R(A,B,C)上有一个多值依赖A B,如果R中已有(ab1c1),(ab2c2),(ab3c3),那么这些关系中至少还应该存在哪些元组。至少还存在6个元组:(ab1c2)(ab2c1)(ab1c3)(ab3c1)(ab2c3)(ab3c2)练习:第49页/共69页练习:找出关系上所满足的多值依赖。ABCa1b1c1a1b1c2a2b1c1a2b1c3CB?若使BC成立,需加入哪些元组?ABCa2b1c2a1b1c3第50页/共69页多值依赖性质多值依赖具有对称性,即若XY,则

28、XZ,其中Z=UXY。函数依赖是多值依赖的特例,即若XY,则XY。若XY,UXY=,则称XY为平凡的多值依赖。第51页/共69页6.2.54NF定义关系模式R1NF,若XY(YX)是非平凡的多值依赖,且X含有键,则称R4NF。如关系模式CPB,C#P#,C#B#,键为(C#,P#,B#),所以CPB4NF。如果一门课Ci有m个教员,n本参考书,则关系中分量为Ci的元组共有mn个,数据冗余非常大。改造将CPB分解为CP(C#,P#),CB(C#,B#),在分解后的关系中分量为Ci的元组共有m+n个。第52页/共69页规范化的过程1NF2NF3NFBCNF消去非主属性对键的部分函数依赖消去非主属性

29、对键的部分函数依赖 消去非主属性对键的传递函数依赖消去非主属性对键的传递函数依赖 消去主属性对键的传递函数依赖消去主属性对键的传递函数依赖 4NF消去非平凡且非函数依赖的多值依赖消去非平凡且非函数依赖的多值依赖 第53页/共69页6.3函数依赖的公理系统有时候要根据给定的函数依赖,判断另外一些函数依赖是否存在,例如:已知对于关系模式R:A B,B C,问A C能否成立?问题:函数依赖的逻辑蕴涵问题。第54页/共69页6.3函数依赖的公理系统定义设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出XY,则称F逻辑蕴涵XY,记为F=XY第55页/共69页逻辑蕴涵定义

30、:在关系模式R中,为F所逻辑蕴涵的函数依赖的全体构成的集合称作F的闭包,记作F+。例:F=XY,YZ,则XZ F+。F+X Y|F=XY闭包的计算是一个复杂的工作,闭包的计算是一个复杂的工作,F F不大,不大,F F+也可能很大。也可能很大。第56页/共69页推理规则Armstrong公理X,Y,Z是属性集,自反律。若YX,则XY。增广律。若XY,则XZYZ。传递律。若XY,YZ,则XZ。第57页/共69页推理由Armstrong公理导出的推理规则合并律。若XY,XZ,则XYZ。分解律。若XYZ,则XY,XZ。伪传递律。若XY,WYZ,则XWZ。第58页/共69页举例:已知:F=AB,CD,且

31、CB试推导F=|AD由由C C B B和自反律,得到和自反律,得到B BC C由由A AB B和和B BC,C,得得A AC C由由A AC C和和C CD,D,得得A AD D第59页/共69页举例:已知:F=XYW,YZ,WZP,WQQR,QX,用推理公理证明F=|XYP 证明:证明:由由XYXYW W 和和WZWZP P 得得 XYZXYZP P(伪传递律)(伪传递律)由由Y YZ Z得得XYXYXYZ XYZ 由由XYXYXYZ XYZ 和和XYZXYZP P 得到得到XYXYP P第60页/共69页举例:设关系R(A,B,C,D),同时满足ABC,CD,DA。该关系的候选键是什么?哪

32、一个是主键,哪些是主属性,该关系中有无超键?解:解:R 的一个属性集合是的一个属性集合是R的候选键,当且仅当这个集合函数决定该关系的候选键,当且仅当这个集合函数决定该关系的每个属性。即候选键函数决定属性的每个属性。即候选键函数决定属性A,B,C,D。候选键为候选键为ABAB和和DB,BCDB,BC。因为因为ABABA,ABA,ABB B(自反律)(自反律)ABABC C(已知)(已知)ABABC,C,C CD D得到得到ABABD D。所以。所以ABAB是是R R的候选键,因为它函数的候选键,因为它函数决定决定R R的所有其他属性。的所有其他属性。同理:同理:DBDB是是R R的候选键。该关系

33、的主属性是的候选键。该关系的主属性是A,B,C,DA,B,C,D有有3 3个候选键,只能选一个作主键(个候选键,只能选一个作主键(PK)PK),根据实际情况选择。,根据实际情况选择。超键有很多超键有很多:ABC,ABCD,DBA,DBC,DBAC:ABC,ABCD,DBA,DBC,DBAC第61页/共69页应用:判断范式级别给定关系模式和函数依赖集合,要求判断达到的最高范式。方法:1、求出给定关系的候选键(可能不止一个)2、根据键,写出主属性和非主属性。3、判断是否满足第一范式(看属性的值域是否可以分解)4、判断是否满足第二范式(非主属性对键的部分函数依赖)5、判断是否满足第三范式(非主属性对

34、键的传递函数依赖)6、判断是否满足BCNF范式(主属性对键的传递函数依赖)第62页/共69页举例1、已知关系r(A,B,C,D,E)和F=ABCE,E AB,CD,该关系的最高范式是什么?解:1、关系r的候选键为:AB和E。因为:(AB)+=ABCED (E)+=EABCD AB可以决定关系的所有属性,E可以决定关系的所有属性,所以AB 和E是关系的候选键。ABA ABB(自反率)由ABCE得到ABE ABC(分解率),由ABC 和CD得到ABD(传递率)。因此AB是键(同样可知E也是键)。第63页/共69页2、主属性为:A、B、E非主属性为:C、D3、判断是否满足各个范式的要求:因为r的所有

35、的属性值域都是不可再分,所以r已经在1NF中了。该关系在2NF中,因为C、D不存在对任何键的部分依赖。该关系不在3NF中,因为存在非主属性对键的传递依赖CD。举例第64页/共69页2、已知关系r(A,B,C,D,E,F)和F=AB,C DF,ACE,DF,该关系的最高范式是什么?解:该关系的键为解:该关系的键为ACAC,因为,因为(AC)(AC)+=ACBDFE=ACBDFE主属性为:主属性为:A A、C C非主属性为:非主属性为:B,D,E,FB,D,E,F该关系明显满足该关系明显满足1NF1NF,但是由于,但是由于A AB,C B,C DFDF存在非主属存在非主属性对键的部分函数依赖,所以

36、该关系不是性对键的部分函数依赖,所以该关系不是2NF.2NF.所以所以r r满足的最高范式是满足的最高范式是1NF1NF。第65页/共69页解:该关系的键是:AB和AC。主属性是ABC,非主属性是D。D不部分依赖于任何键,所以该关系在2NF中。该关系也在3NF中,因为只有一个非主属性,从而不可能存在两个不同非主属性间的传递依赖。该关系不在BCNF中,因为有BC,而B不是r的键。BCNF要求没有属性完全函数依赖于非键的任何属性组。3、已知关系r(A,B,C,D)和F=ABD,AC BD,BC,试求出其最高范式?第66页/共69页常考题型(综合题)假设某商业集团数据库中有一关系模式R如下:R(商店

37、编号,商品编号,数量,部门编号,负责人)如果规定:(1)每个商店的每种商品只在一个部门销售;(2)每个商店的每个部门只有一个负责人;(3)每个商店的每种商品只有一个库存数量。试回答下列问题:(1)根据上述规定,写出关系模式R的基本函数依赖;(2)找出关系模式R的候选键;(3)试问关系模式R最高已经达到第几范式?为什么?(4)如果R不属于3NF,请将R分解成3NF模式集 第67页/共69页(1)有三个函数依赖:(商店编号,商品编号)部门编号(商店编号,部门编号)负责人(商店编号,商品编号)数量(2)R的候选键是(商店编号,商品编号)(3)因为R中存在着非主属性“负责人”对候选码(商店编号、商品编号)的传递函数依赖,所以R属于2NF,R不属于3NF。(4)将R分解成:R1(商店编号,商品编号,数量,部门编号)R2(商店编号,部门编号,负责人)第68页/共69页感谢您的观赏第69页/共69页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁