数据库 第六章 关系数据库设计理论幻灯片.ppt

上传人:石*** 文档编号:87449006 上传时间:2023-04-16 格式:PPT 页数:89 大小:3.82MB
返回 下载 相关 举报
数据库 第六章 关系数据库设计理论幻灯片.ppt_第1页
第1页 / 共89页
数据库 第六章 关系数据库设计理论幻灯片.ppt_第2页
第2页 / 共89页
点击查看更多>>
资源描述

《数据库 第六章 关系数据库设计理论幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库 第六章 关系数据库设计理论幻灯片.ppt(89页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数据库课件 第六章 关系数据库设计理论第1页,共89页,编辑于2022年,星期六第六章 关系数据库设计理论12问题的提出基本概念34规范化函数依赖的公理系统5模式分解第2页,共89页,编辑于2022年,星期六6.1 6.1 问题的提出问题的提出v 针对一个具体问题,设计一个好的关系数据库系统,针对一个具体问题,设计一个好的关系数据库系统,关键是要构造一个适合于它的数据模式(关键是要构造一个适合于它的数据模式(数据库逻辑设数据库逻辑设计问题计问题)v 数据库逻辑设计主要解决的问题:数据库逻辑设计主要解决的问题:n 应该构造几个关系模式应该构造几个关系模式n 每个关系模式包括哪些属性每个关系模式包

2、括哪些属性v 数据库逻辑设计工具数据库逻辑设计工具关系数据库的关系数据库的规范化理论规范化理论第3页,共89页,编辑于2022年,星期六6.1 6.1 问题的提出问题的提出例:描述例:描述电力设备存放管理的数据库电力设备存放管理的数据库数据库:数据库:WAE(WAE(仓库号,所在区域,区域主管,设备号,数量仓库号,所在区域,区域主管,设备号,数量)语义语义:一个区域有多个仓库,一个仓库只能属于一个区域;一个区域有多个仓库,一个仓库只能属于一个区域;一个区域只有一个区域主管;一个区域只有一个区域主管;一个仓库可以存放多种设备,每种设备可以存放在多个仓一个仓库可以存放多种设备,每种设备可以存放在多

3、个仓库中;库中;每个仓库的每种设备都有一个库存数量。每个仓库的每种设备都有一个库存数量。第4页,共89页,编辑于2022年,星期六6.1 6.1 问题的提出问题的提出 数据冗余太大数据冗余太大浪费大量的存储空间浪费大量的存储空间 更新异常更新异常更新代价大,可能导致数据不一致更新代价大,可能导致数据不一致 插入异常插入异常该插的数据插不进去该插的数据插不进去 删除异常删除异常不该删除的数据不得不删,造成某些数据丢失不该删除的数据不得不删,造成某些数据丢失 存在的问题:存在的问题:第5页,共89页,编辑于2022年,星期六6.1 6.1 问题的提出问题的提出结论:结论:WAE关系模式不是一个好的

4、模式。关系模式不是一个好的模式。“好好”的模式:不会发生插入异常、删除异常、更的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。新异常,数据冗余应尽可能少。原因:由存在于模式中的某些原因:由存在于模式中的某些数据依赖数据依赖引起的引起的解决方法:通过解决方法:通过分解关系模式分解关系模式来消除其中不合适的数来消除其中不合适的数据依赖。据依赖。第6页,共89页,编辑于2022年,星期六6.1 6.1 问题的提出问题的提出分解成三个关系模式即可:分解成三个关系模式即可:W(W(仓库号,所在区域仓库号,所在区域);A(A(区域,区域主管区域,区域主管);WE(WE(仓库号,设备号,数

5、量仓库号,设备号,数量)第7页,共89页,编辑于2022年,星期六6.2 6.2 基本概念基本概念 规范化理论规范化理论正是用来改造关系模正是用来改造关系模式,通过分解关系模式来消除其中不合适的式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更数据依赖,以解决插入异常、删除异常、更新异常和数据冗余等问题。新异常和数据冗余等问题。第8页,共89页,编辑于2022年,星期六6.2.1 6.2.1 函数依赖函数依赖定义定义6.16.1 设设R(U)R(U)是一个属性集是一个属性集U U上的关系模式,上的关系模式,X X和和Y Y是是U U的子集。若对于的子集。若对于R(U)

6、R(U)的任意一个可能的关系的任意一个可能的关系r r,对对 t t1,1,t2t2 r r,若,若t1X=t2Xt1X=t2X,则,则t1Y=t2Yt1Y=t2Y则称则称X X函函数决定数决定Y Y或或Y Y函数依赖函数依赖X X,记作,记作XYXY。如:如:仓库号仓库号 所在区域所在区域 所在区域所在区域 区域主管区域主管 (仓库号,设备号)(仓库号,设备号)数量数量若若Y不函数依赖于不函数依赖于X,则记为则记为X Y若若XY,并且,并且YX,则记为则记为XY若若XY,则称,则称X为这个函数依赖的决定因素。为这个函数依赖的决定因素。第9页,共89页,编辑于2022年,星期六6.2.1 6.

7、2.1 函数依赖函数依赖1.1.函数依赖是函数依赖是语义范畴语义范畴的概念,只能根据数据的语义来确的概念,只能根据数据的语义来确定函数依赖。定函数依赖。例:例:“区域主管区域主管所在区域所在区域”只有在不允许有同名人的只有在不允许有同名人的条件下成立条件下成立2.2.函数依赖不是指关系模式函数依赖不是指关系模式R R的某个或某些关系实例满足的某个或某些关系实例满足的约束条件,而是指的约束条件,而是指R R的所有关系实例均要满足的约束条的所有关系实例均要满足的约束条件。件。3.3.函数依赖存在的时间无关性。函数依赖存在的时间无关性。说明说明:第10页,共89页,编辑于2022年,星期六6.2.1

8、 6.2.1 函数依赖函数依赖函数依赖与属性间的联系类型有关函数依赖与属性间的联系类型有关(1)(1)若属性若属性X X和和Y Y之间有之间有“一对一一对一”的联系的联系 则:则:X Y,Y X,X YX Y,Y X,X Y(2)(2)若属性若属性X X和和Y Y之间有之间有“多对一多对一”的联系的联系 则:则:X Y,X Y,但但Y X Y X(3)(3)若属性若属性X X和和Y Y之间有之间有“多对多多对多”的联系的联系 则:则:X X与与Y Y之间不存在任何函数依赖之间不存在任何函数依赖注:当确定函数依赖关系时注:当确定函数依赖关系时,可从属性间的联系入手可从属性间的联系入手第11页,共

9、89页,编辑于2022年,星期六6.2.1 6.2.1 函数依赖函数依赖平凡函数依赖与非平凡函数依赖平凡函数依赖与非平凡函数依赖定义定义6.2在关系模式在关系模式R(U)R(U)中,对于中,对于U U的子集的子集X X和和Y Y:若若XYXY,但,但Y Y X X,则称,则称XYXY是是非平凡函数依赖非平凡函数依赖.若若XYXY,但,但Y Y X X,则称,则称XYXY是是平凡函数依赖平凡函数依赖.例:在关系例:在关系WAEWAE中,中,非平凡函数依赖:非平凡函数依赖:(仓库号,设备号)(仓库号,设备号)数量数量 平凡函数依赖:平凡函数依赖:(仓库号,设备号)(仓库号,设备号)仓库号仓库号 (

10、仓库号,设备号)(仓库号,设备号)设备号设备号注:对任一关系模式,平凡函数依赖必然存在,则一般讨论非平凡函数依赖。注:对任一关系模式,平凡函数依赖必然存在,则一般讨论非平凡函数依赖。第12页,共89页,编辑于2022年,星期六6.2.1函数依赖函数依赖完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖定义定义6.3 在在R(U)中,如果中,如果XY,并且对于,并且对于X的任何的任何一个真子集一个真子集X,都有,都有X Y,则称则称Y对对X完全函数依完全函数依赖,记作赖,记作X Y。若若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y对对X部分函数依赖,记作部分函数依赖,记作X

11、P Y。例:在关系例:在关系WAE中,中,由于:由于:(仓库号,设备号)(仓库号,设备号)数量数量,但仓库号但仓库号数量数量,设备设备号号 数量数量 因此:因此:(仓库号,设备号)(仓库号,设备号)数量数量第13页,共89页,编辑于2022年,星期六6.2.1函数依赖函数依赖传递函数依赖与直接函数依赖传递函数依赖与直接函数依赖 如果如果YX,即即XY,则,则Z对对X直接函数依赖。直接函数依赖。例:在关系例:在关系waewae中有:中有:定义定义6.4 在在R(U)中,如果中,如果XY,YZ,且,且Y X,YX,则称,则称Z对对X传递函数依赖传递函数依赖,记作记作X t Z。仓库号仓库号所在区域

12、,所在区域所在区域,所在区域区域主管区域主管可得到传递函数依赖:仓库号可得到传递函数依赖:仓库号 t 区域主管区域主管第14页,共89页,编辑于2022年,星期六6.2.2码码定义定义6.5设设K为为R中的属性或属性组合。若中的属性或属性组合。若KFU,则,则K称为称为R的一个的一个侯选码侯选码。若关系模式若关系模式R有多个候选码,则选定其中的一个做有多个候选码,则选定其中的一个做为为主码主码。主属性:主属性:包含在任何一个候选码中的属性包含在任何一个候选码中的属性 非主属性:非主属性:不包含在任何一个码中的属性不包含在任何一个码中的属性 全码:全码:整个属性组全是码整个属性组全是码第15页,

13、共89页,编辑于2022年,星期六6.2.2码码定义定义6.56.5 关系模式关系模式R R中属性或属性组中属性或属性组X X并非并非R R的码,但的码,但X X是另一个关系模式的码,则称是另一个关系模式的码,则称X X是是R R的外部码,也称的外部码,也称外外码码。注:主码和外码一起提供了表示关系间联系的手段。注:主码和外码一起提供了表示关系间联系的手段。例:在关系例:在关系SC(Sno,Cno,Grade)中,中,由于:由于:Sno不是不是SC的码,但是另一个关系的码,但是另一个关系S的码的码 因此:因此:Sno是是SC的外码的外码第16页,共89页,编辑于2022年,星期六6.3规范化规

14、范化范式是对关系数据库的规范化过程中为范式是对关系数据库的规范化过程中为不同程度不同程度的规范化要求的规范化要求设立的不同标准。设立的不同标准。范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。范式的种类:范式的种类:第一范式第一范式(1NF)第二范式第二范式(2NF)第三范式第三范式(3NF)BC范式范式(BCNF)第四范式第四范式(4NF)第五范式第五范式(5NF)第17页,共89页,编辑于2022年,星期六6.3规范化规范化各种范式之间存在联系:各种范式之间存在联系:5NF 4NF BCNF 3NF 2NF 1NF某一关系模式某一关系模式R为第为第n范式,可简记

15、为范式,可简记为R nNF。通过模式分解将一个低级范式的关系模式转换为若干个高通过模式分解将一个低级范式的关系模式转换为若干个高级范式的关系模式的过程称作级范式的关系模式的过程称作规范化规范化。第18页,共89页,编辑于2022年,星期六6.3.1第一范式(第一范式(1NF)定义定义6.7 满足最低要求的范式。满足最低要求的范式。如果一个关系模式如果一个关系模式R的所有属性都是不可分的基本的所有属性都是不可分的基本数据项,则数据项,则R 1NF。第一范式是对关系模式的最起码要求。第一范式是对关系模式的最起码要求。不满足第一范式的数据库模式不能称为关系数据库。不满足第一范式的数据库模式不能称为关

16、系数据库。但满足第一范式的关系模式并不一定是一个好的关系模式。但满足第一范式的关系模式并不一定是一个好的关系模式。第19页,共89页,编辑于2022年,星期六6.3.2第二范式(第二范式(2NF)定义定义6.8 若关系模式若关系模式R 1NF,并且每一个非主属性都,并且每一个非主属性都完全函数依赖于完全函数依赖于R的码,则的码,则R 2NF。即:即:消除非主属性对码的部分依赖消除非主属性对码的部分依赖 如果一个数据库模式中的每个关系模式都是第二范式的,则称此数如果一个数据库模式中的每个关系模式都是第二范式的,则称此数据库模式属于第二范式的数据库模式。据库模式属于第二范式的数据库模式。从从1NF

17、1NF中消除非主属性对候选码的部分函数依赖中消除非主属性对候选码的部分函数依赖,则获得则获得2NF2NF。第20页,共89页,编辑于2022年,星期六6.3.2第二范式(第二范式(2NF)例例:关系模式关系模式WAE中中:WAE(WAE(仓库号,所在区域,区域主管,仓库号,所在区域,区域主管,设备号,数量设备号,数量)码码:(仓库号仓库号,设备号设备号)主属性主属性:仓库号仓库号,设备号设备号 非主属性非主属性:所在区域、区域主管和数量所在区域、区域主管和数量 函数依赖:函数依赖:第21页,共89页,编辑于2022年,星期六6.3.2第二范式(第二范式(2NF)仓库号仓库号设备号设备号数量数量

18、所在区域所在区域区域主管区域主管关系关系WAE码为码为(仓库号仓库号,设备号设备号)非主属性所在区域和区域主管部分函数依赖于码非主属性所在区域和区域主管部分函数依赖于码WAE满足第一范式,但不满足第二范式。满足第一范式,但不满足第二范式。第22页,共89页,编辑于2022年,星期六6.3.2第二范式(第二范式(2NF)解决方法:将解决方法:将WAE分解为两个关系模式,消除这些部分函数依赖:分解为两个关系模式,消除这些部分函数依赖:即:即:WE(仓库号,设备号,数量)(仓库号,设备号,数量)WA(仓库号,所在区域,区域主管)(仓库号,所在区域,区域主管)仓库号仓库号设备号设备号数量数量关系关系W

19、E关系关系WA仓库号仓库号所在区域所在区域区域主管区域主管WE 2NF,WA 2NF第23页,共89页,编辑于2022年,星期六6.3.2第二范式(第二范式(2NF)注:注:采用投影分解法将一个采用投影分解法将一个1NF的关系分解为多个的关系分解为多个2NF的关系,可以在的关系,可以在一定程度上减轻一定程度上减轻原原1NF关系中存在的插入异常、删除异常、数关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。据冗余度大、修改复杂等问题。将一个将一个1NF关系分解为多个关系分解为多个2NF的关系,的关系,并不能完全消除并不能完全消除关系模关系模式中的各种异常情况和数据冗余。式中的各种异常

20、情况和数据冗余。如:如:(1)(1)若某个区域刚刚设立还没有仓库,则所在区域和区域主若某个区域刚刚设立还没有仓库,则所在区域和区域主管的值无法插入,造成管的值无法插入,造成插入异常插入异常。(2)(2)有一定的有一定的数据冗余数据冗余,当多个仓库处于同一个区域时,区域,当多个仓库处于同一个区域时,区域主管的值被多次存储。主管的值被多次存储。(3)(3)若某区域要更换区域主管,则要逐一地修改该区域的所若某区域要更换区域主管,则要逐一地修改该区域的所有区域主管记录,稍有不慎,就有可能漏改某些记录,造成有区域主管记录,稍有不慎,就有可能漏改某些记录,造成更更新异常新异常。第24页,共89页,编辑于2

21、022年,星期六6.3.3第三范式(第三范式(3NF)如果一个数据库模式中的每个关系模式都是第三范式如果一个数据库模式中的每个关系模式都是第三范式的,则称此数据库模式属于第三范式的数据库模式。的,则称此数据库模式属于第三范式的数据库模式。从从2NF2NF中消除非主属性对候选码的传递依赖中消除非主属性对候选码的传递依赖,则获得则获得3NF3NF。定义定义6.9 如果关系模式如果关系模式R2NF,且每个非主属性都不传递函,且每个非主属性都不传递函数依赖于数依赖于R的候选码,则称的候选码,则称R属于第三范式,简称属于第三范式,简称3NF,记,记作作R3NF。即:消除非主属性对码的即:消除非主属性对码

22、的部分依赖部分依赖和和传递依赖传递依赖第25页,共89页,编辑于2022年,星期六6.3.3第三范式(第三范式(3NF)例例:WE(仓库号,设备号,数量)(仓库号,设备号,数量)WA(仓库号,所在区域,区域主管)(仓库号,所在区域,区域主管)函数依赖:函数依赖:WE中中:(仓库号,设备号仓库号,设备号)f 数量数量 WA中:中:仓库号仓库号所在区域,所在区域所在区域,所在区域区域主管区域主管 可得到传递函数依赖:仓库号可得到传递函数依赖:仓库号 区域主管区域主管 因此:因此:WE 3NF,而,而WA 3NF第26页,共89页,编辑于2022年,星期六6.3.3第三范式(第三范式(3NF)原因原

23、因:区域主管传递依赖于码。区域主管传递依赖于码。解决方法:将解决方法:将WA分解为两个关系模式,消除这些传递分解为两个关系模式,消除这些传递依赖:依赖:即:即:W(仓库号,所在区域)(仓库号,所在区域)A(所在区域,区域主管)(所在区域,区域主管)仓库号仓库号所在区域所在区域关系关系W关系关系A所在区域所在区域区域主管区域主管W 3NF,A 3NF第27页,共89页,编辑于2022年,星期六6.3.3第三范式(第三范式(3NF)注:注:采用采用投影分解法投影分解法将一个将一个2NF的关系分解为多个的关系分解为多个3NF的关系,的关系,可以在可以在一定程度上减轻一定程度上减轻原原2NF关系中存在

24、的插入异常、删关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。除异常、数据冗余度大、修改复杂等问题。将一个将一个2NF关系分解为多个关系分解为多个3NF的关系,的关系,并不能完全消除并不能完全消除关系模式中的各种异常情况和数据冗余。表现在可能存在关系模式中的各种异常情况和数据冗余。表现在可能存在主属性对码的部分和传递依赖。主属性对码的部分和传递依赖。第28页,共89页,编辑于2022年,星期六6.3.4BC范式(范式(BCNF)BCNF范式是第三范式的改进形式,建立在第一范式的基础范式是第三范式的改进形式,建立在第一范式的基础上,消除了主属性对码的部分和传递依赖。上,消除了主属性

25、对码的部分和传递依赖。定义定义6.10 设关系模式设关系模式R 1NF,若对于,若对于R的每个函数依赖的每个函数依赖XY,若,若Y不属于不属于X,则,则X必含有候选码,那么必含有候选码,那么R BCNF。即:每一个决定因素(决定属性集)都包含码即:每一个决定因素(决定属性集)都包含码第29页,共89页,编辑于2022年,星期六6.3.4BC范式(范式(BCNF)证明:证明:BCNF 3NF反证:若反证:若R BCNF,但但R 3NF,则按,则按3NF定义,一定定义,一定有非主属性对码的传递依赖。有非主属性对码的传递依赖。于是存在:于是存在:R的码的码X,属性组,属性组Y,以及非主属性,以及非主

26、属性Z(Z Y),使得),使得XY,YZ,YX成立。成立。由由YZ,按,按BCNF定义,定义,Y含有码,则是含有码,则是YX成立,这成立,这与与YX矛盾。矛盾。所以:所以:R 3NF。第30页,共89页,编辑于2022年,星期六6.3.4BC范式(范式(BCNF)注意:注意:若若R BCNF,则,则R 3NF若若R 3NF,则,则R不一定属于不一定属于BCNF若若R BCNF 所有非主属性对每一个候选码都是完全函数依赖;所有非主属性对每一个候选码都是完全函数依赖;所有主属性对所有主属性对每一个不包含它的候选码每一个不包含它的候选码都是完全函数依赖;都是完全函数依赖;没有任何属性完全函数依赖于非

27、码的任何一组属性。没有任何属性完全函数依赖于非码的任何一组属性。第31页,共89页,编辑于2022年,星期六6.3.4BC范式(范式(BCNF)例例1:Course(Cno,Creidt,Pcno)函数依赖函数依赖:Cno Credit,Cno Pcno 即:无部分依赖和传递依赖,且即:无部分依赖和传递依赖,且Cno是唯一决定因素是唯一决定因素 因此:因此:Course 3NF,且,且Course BCNF 码码:Cno 即为主属性,决定因素即为主属性,决定因素第32页,共89页,编辑于2022年,星期六6.3.4BC范式(范式(BCNF)例例2:在关系模式:在关系模式SCP(S,C,P)中,

28、)中,S表示学生,表示学生,C表表示课程,示课程,P表示名次。表示名次。说明:说明:每一个学生选修每一门课程都有一个固定的名次:每一个学生选修每一门课程都有一个固定的名次:每一门课程中每一名次只对应一个学生(假设没每一门课程中每一名次只对应一个学生(假设没有相同名次的学生)有相同名次的学生):(S,C)P(C,P)S第33页,共89页,编辑于2022年,星期六6.3.4BC范式(范式(BCNF)SCPCPS关系关系SCP 候选码候选码:(S,C)和和(C,P)即:即:S,C和和P都是主属性都是主属性 决定因素决定因素:(S,C)和和(C,P)结论结论:SCP BCNF只有只有(S,C)和和(C

29、,P)决定决定因素且包含候选码,无因素且包含候选码,无其他决定因素其他决定因素SCP 3NFS、C、P都是主属性都是主属性无部分依赖和传递依赖无部分依赖和传递依赖第34页,共89页,编辑于2022年,星期六6.3.4BC范式(范式(BCNF)例例3:在关系模式:在关系模式WES(仓库号仓库号,设备号设备号,职工号职工号)中。中。说明:说明:1.一个仓库可以有多个职工一个仓库可以有多个职工;2.一个职工仅在一个仓库工作一个职工仅在一个仓库工作;3.每个仓库一种设备仅由一名职工保管每个仓库一种设备仅由一名职工保管,但每名职工可以保管多种但每名职工可以保管多种设备设备.问问:该关系的码该关系的码?属

30、于第几范式属于第几范式?答答:码码:(仓库号仓库号,设备号设备号)属于属于3NF,但不属于但不属于BCNF非非BCNF的不良特性的不良特性:某某位职工刚分配到一个仓位职工刚分配到一个仓库工作,但尚未负责具库工作,但尚未负责具体设备,这样的信息就体设备,这样的信息就无法插入无法插入。职工号职工号仓库号仓库号(仓库号仓库号,设备号设备号)职工号职工号第35页,共89页,编辑于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式课课程程C教教员员T参参考考书书B物理物理数学数学计算数计算数学学李李勇勇王王军军李李勇勇张张平平张张平平周周峰峰普通物理学普通物理学光学原理光学原理物理习题集物

31、理习题集数学分析数学分析微分方程微分方程高等代数高等代数数学分析数学分析例例:学校中某一门课程学校中某一门课程由多个教师讲授,由多个教师讲授,他们使用相同的一他们使用相同的一套参考书。套参考书。即:关系模式即:关系模式Teaching(C,T,B)课程课程C、教师、教师T和和参考参考书书B第36页,共89页,编辑于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式普通物理学普通物理学光学原理光学原理物理习题集物理习题集普通物理学普通物理学光学原理光学原理物理习题集物理习题集数学分析数学分析微分方程微分方程高等代数高等代数数学分析数学分析微分方程微分方程高等代数高等代数李李勇勇李李

32、勇勇李李勇勇王王军军王王军军王王军军李李勇勇李李勇勇李李勇勇张张平平张张平平张张平平物物理理物物理理物物理理物物理理物物理理物物理理数数学学数数学学数数学学数数学学数数学学数数学学参考书参考书B教员教员T课程课程C用二维表表示用二维表表示Teaching第37页,共89页,编辑于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式Teach具有唯一候选码具有唯一候选码(C,T,B),即全码即全码Teaching BCNF 存在的问题存在的问题 (1)数据冗余数据冗余:有多少名任课教师,参考书就要存储多少次:有多少名任课教师,参考书就要存储多少次;(2)插入异常插入异常:当某一课程增

33、加一名任课教师时,该课程有多少本:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组;参照书,就必须插入多少个元组;(3)删除异常:删除异常:某一门课要去掉一本参考书,该课程有多少名教某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组;师,就必须删除多少个元组;(4)修改异常:修改异常:某一门课要修改一本参考书,该课程有多少名教某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组。师,就必须修改多少个元组。产生原因:存在产生原因:存在多值依赖多值依赖第38页,共89页,编辑于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式定义

34、定义6.11设设R(U)是属性集是属性集U上的一个关系模式。上的一个关系模式。X、Y、Z是是U的子集,并且的子集,并且ZUXY,多值依赖,多值依赖XY成立当且仅当对成立当且仅当对R的任一关系的任一关系r,给定一对(给定一对(x,z)值,则对应一组)值,则对应一组Y值,且这组值仅仅决定于值,且这组值仅仅决定于X值值而与而与Z值无关值无关。例:例:Teaching(C,T,B)对于对于C的每一个值,的每一个值,T总有一组值与之对应,而与总有一组值与之对应,而与B的取值无关,则的取值无关,则T多值依赖于多值依赖于C即:即:CT,且,且B也多值也多值依赖于依赖于C即:即:CB。第39页,共89页,编辑

35、于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式平凡多值依赖和非平凡的多值依赖平凡多值依赖和非平凡的多值依赖 若若XY,而,而Z,则称,则称XY为平凡的多为平凡的多值依赖;值依赖;否则称否则称XY为非平凡的多值依赖。为非平凡的多值依赖。如非平凡的多值依赖:如非平凡的多值依赖:CT,CB第40页,共89页,编辑于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式多值依赖的性质:多值依赖的性质:(1)对称性对称性:即:若即:若XY,则,则XZ,其中,其中ZUXY 多值依赖的对称性可以用完全二分图直观地表多值依赖的对称性可以用完全二分图直观地表示出来。示出来。(2)传

36、递性传递性:即:若即:若XY,YZ,则则XZ Y第41页,共89页,编辑于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式(5)函数依赖是多值依赖的特殊情况:)函数依赖是多值依赖的特殊情况:即:若即:若XY,则,则XY。(3)合并性合并性:若若XY,XZ,则,则 XY Z。(4)分解性分解性:若若XY,XZ,则,则 XYZ,XYZ,XZY。第43页,共89页,编辑于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式定义定义6.12关系模式关系模式R 1NF,如果对于,如果对于R的每个非平凡多值的每个非平凡多值依赖依赖XY(Y X),),X都含有候选码,则都含有候选

37、码,则R 4NF。即:即:消除各属性间非平凡且非函数依赖的多值依赖。消除各属性间非平凡且非函数依赖的多值依赖。允许出现函数依赖(非平凡多值依赖)允许出现函数依赖(非平凡多值依赖)允许出现平凡多值依赖允许出现平凡多值依赖 如果如果R 4NF,则则R BCNF第44页,共89页,编辑于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式证明:证明:4NF BCNF反证:若反证:若R 4NF,但但R BCNF,则按,则按BCNF定义,定义,一定有一个决定因素不包含码。一定有一个决定因素不包含码。于是存在:于是存在:XY,Y X,且,且X中不含有码。中不含有码。由于函数依赖是多值依赖的特殊

38、情况,即:由于函数依赖是多值依赖的特殊情况,即:XY,可得,可得XY(Y X),按按4NF定义,定义,X一定含一定含有码,则与有码,则与X中不含有码矛盾。中不含有码矛盾。所以:所以:R BCNF。第45页,共89页,编辑于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式存在非平凡的多值依赖存在非平凡的多值依赖CT,且,且C不是候选码,不是候选码,该关系模式的码是该关系模式的码是(C,T,B),即全码。,即全码。存在问题存在问题:数据冗余大,插入、删除、更新异常:数据冗余大,插入、删除、更新异常解决方法解决方法:用投影分解法把:用投影分解法把Teach分解为如下两个分解为如下两个

39、关关系模式系模式:CT(C,T)4NFCB(C,B)4NF其中:其中:CT,CB是平凡多值依赖是平凡多值依赖例:例:Teach(C,T,B)4NF第46页,共89页,编辑于2022年,星期六6.3.5多值依赖与第四范式多值依赖与第四范式函数依赖和多值依赖是两种非常重要的数据依赖函数依赖和多值依赖是两种非常重要的数据依赖 若只考虑若只考虑函数依赖函数依赖,则,则BCNF为最高范式(但不是数为最高范式(但不是数据库模式设计的最高范式);据库模式设计的最高范式);若考虑若考虑多值依赖多值依赖,则,则4NF为最高范式;为最高范式;若消除了若消除了4NF中的中的连接依赖连接依赖,可以得到更为规范化的,可

40、以得到更为规范化的5NF。第47页,共89页,编辑于2022年,星期六6.3.6关系模式规范化关系模式规范化一个关系只要其分量都是不可分的数据项,它就是规范一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最基本的规范化化的关系,但这只是最基本的规范化1NF。规范化程度过低的关系不一定能够很好地描述现实世界,可规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、删除异常、修改复杂、数据冗余等问能会存在插入异常、删除异常、修改复杂、数据冗余等问题。题。一个低一级范式的关系模式,通过一个低一级范式的关系模式,通过模式分解模式分解可以转换为若干可以转换为若干个高一级

41、范式的关系模式集合,这种过程就叫个高一级范式的关系模式集合,这种过程就叫关系模式的关系模式的规范化规范化。第48页,共89页,编辑于2022年,星期六6.3.6关系模式规范化关系模式规范化消除不合适的数据依赖消除不合适的数据依赖;采用采用“一事一地一事一地”的模式设计原则,使各关系模式达的模式设计原则,使各关系模式达到某种程度的到某种程度的“分离分离”;让一个关系描述一个概念、一个实体或者实体间让一个关系描述一个概念、一个实体或者实体间的一种联系的一种联系;若多于一个概念就把它若多于一个概念就把它“分离分离”出去;出去;所谓规范化实质上是所谓规范化实质上是概念的单一化概念的单一化。规范化的基本

42、思想规范化的基本思想第49页,共89页,编辑于2022年,星期六6.3.6关系模式规范化关系模式规范化关系模式规范化的基本步骤关系模式规范化的基本步骤1NF消除决定因素消除决定因素2NF非码的非平凡非码的非平凡函数依赖函数依赖3NF BCNF4NF消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖消除非主属性对码的传递函数依赖消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖消除主属性对码的部分和传递函数依赖消除非平凡且非函数依赖的多值依赖消除非平凡且非函数依赖的多值依赖不能说规范化程度越高的关系模式就越好;不能说规范化程度越高的关系模式就越好;在设计数据库模式结构时,

43、必须对现实世界的实际情况和用户应用需求作进一步分在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式;析,确定一个合适的、能够反映现实世界的模式;上面的规范化步骤可以在其中任何一步终止。上面的规范化步骤可以在其中任何一步终止。注意:注意:第50页,共89页,编辑于2022年,星期六练习练习 给定关系模式和函数依赖集合,要求判断达到的给定关系模式和函数依赖集合,要求判断达到的最高范式。最高范式。步骤如下步骤如下:1.1.求出给定关系的候选码(可能不止一个)求出给定关系的候选码(可能不止一个)2.2.根据码,写出主属性和非主属性。根据码

44、,写出主属性和非主属性。3.3.判断是否满足第一范式判断是否满足第一范式(属性的值域是否可以分解)属性的值域是否可以分解)4.4.判断是否满足第二范式判断是否满足第二范式(非主属性对码的部分函数依非主属性对码的部分函数依赖赖)5.5.判断是否满足第三范式判断是否满足第三范式(非主属性对码的传递函数依赖非主属性对码的传递函数依赖)6.6.判断是否满足判断是否满足BCNFBCNF范式范式(主属性对码的传递和部分函数主属性对码的传递和部分函数依赖依赖)第51页,共89页,编辑于2022年,星期六解:解:1.关系关系r的候选码为:的候选码为:AB和和AC练习练习1.已知关系模式已知关系模式R U=A,

45、B,C,D F=ABD,AC BD,BC在函数依赖范围内在函数依赖范围内该关系属于的最高范式是什么?该关系属于的最高范式是什么?2.主属性为:主属性为:A、B、C 非主属性为:非主属性为:D3.判断是否满足各个范式的要求判断是否满足各个范式的要求:1)R的的所有的属性值域都不可再分,则所有的属性值域都不可再分,则r 1NF。2)非主属性非主属性D不存在对任何码的部分函数依赖,则不存在对任何码的部分函数依赖,则r 2NF。3)非主属性非主属性D不存在对任何码的传递函数依赖不存在对任何码的传递函数依赖,则,则r 3NF。4)因为有函数依赖因为有函数依赖BC,而,而B不是关系不是关系R的码,则的码,

46、则r不属于不属于BCNF。则:则:r 3NF 第52页,共89页,编辑于2022年,星期六解:解:1.关系关系r的候选码为:的候选码为:AC练习练习2.已知关系模式已知关系模式R U=A,B,C,D,E,F F=AB,C DF,ACE,DF在函数依赖范围内在函数依赖范围内该关系属于的最高范式是什么?该关系属于的最高范式是什么?2.主属性为:主属性为:A、C 非主属性为:非主属性为:B、D、E、F3.判断是否满足各个范式的要求:判断是否满足各个范式的要求:1)R的的所有的属性值域都不可再分,则所有的属性值域都不可再分,则r 1NF。2)由于存在函数依赖由于存在函数依赖AB,C DF,而,而A A

47、和和C C均不是关系的码,均不是关系的码,存在存在非主属性非主属性B、D、F对码的部分函数依赖,则对码的部分函数依赖,则r不属于不属于2NF。则:则:r 1NF 第53页,共89页,编辑于2022年,星期六练习练习练习练习3.假设假设:某商业集团数据库中有一关系模式:某商业集团数据库中有一关系模式R R如下:如下:R(R(商店编号,商品编号,数量,部门编号,负责人商店编号,商品编号,数量,部门编号,负责人)如果规定如果规定:(1)(1)每个商店的每种商品只在一个部门销售;每个商店的每种商品只在一个部门销售;(2)(2)每个商店的每个部门只有一个负责人;每个商店的每个部门只有一个负责人;(3)(

48、3)每个商店的每种商品只有一个库存数量。每个商店的每种商品只有一个库存数量。试回答下列问题试回答下列问题:(1)(1)根据上述规定,写出关系模式根据上述规定,写出关系模式R R的基本函数依赖;的基本函数依赖;(2)(2)找出关系模式找出关系模式R R的候选码;的候选码;(3)(3)试问关系模式试问关系模式R R最高已经达到第几范式?为什么?最高已经达到第几范式?为什么?(4)(4)如果如果R R不属于不属于3NF3NF,请将,请将R R分解成分解成3NF3NF模式集模式集 第54页,共89页,编辑于2022年,星期六练习练习(1)(1)有三个函数依赖有三个函数依赖:(商店编号,商品编号商店编号

49、,商品编号)部门编号部门编号 (商店编号,部门编号商店编号,部门编号)负责人负责人 (商店编号,商品编号商店编号,商品编号)数量数量(2)R(2)R的的候选键候选键:(:(商店编号,商品编号商店编号,商品编号)(3)(3)因因为为R R中中存存在在着着非非主主属属性性“负负责责人人”对对候候选选码码 (商商店店编编号号、商商品品编编号号)的的传传递递函函数数依依赖赖,但但无无部部分分函函数数依依赖赖,所以所以R R属于属于2NF2NF,R R不属于不属于3NF3NF。(4)(4)将将R R分解成:分解成:R1(R1(商店编号,商品编号,数量,部门编号商店编号,商品编号,数量,部门编号)R2(R

50、2(商店编号,部门编号,负责人商店编号,部门编号,负责人)第55页,共89页,编辑于2022年,星期六6.4函数依赖的公理系统函数依赖的公理系统逻辑蕴含逻辑蕴含定义定义6.13对于满足一组函数依赖对于满足一组函数依赖F的关系模式的关系模式R,其任何一个关系,其任何一个关系r,若函数依赖,若函数依赖XY都成立,都成立,则则称称F逻辑蕴含逻辑蕴含XY,或称,或称XY为为F所蕴含所蕴含。即:对于即:对于r中任意两个元组中任意两个元组t和和s,有:若有:若 tX=sX 则则 tY=sY 必成立。必成立。第56页,共89页,编辑于2022年,星期六6.4.1Armstong公理系统公理系统Armstro

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

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com