数据库 第六章 关系数据库设计理论精品文稿.ppt
《数据库 第六章 关系数据库设计理论精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据库 第六章 关系数据库设计理论精品文稿.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库课件 第六章 关系数据库设计理论第1页,本讲稿共89页第六章 关系数据库设计理论12问题的提出基本概念34规范化函数依赖的公理系统5模式分解第2页,本讲稿共89页6.1 问题的提出v 针对一个具体问题,设计一个好的关系数据库系统,关针对一个具体问题,设计一个好的关系数据库系统,关键是要构造一个适合于它的数据模式(键是要构造一个适合于它的数据模式(数据库逻辑设计问数据库逻辑设计问题题)v 数据库逻辑设计主要解决的问题:数据库逻辑设计主要解决的问题:n 应该构造几个关系模式应该构造几个关系模式n 每个关系模式包括哪些属性每个关系模式包括哪些属性v 数据库逻辑设计工具数据库逻辑设计工具关系数据
2、库的关系数据库的规范化理论规范化理论第3页,本讲稿共89页6.1 6.1 问题的提出问题的提出例:描述例:描述电力设备存放管理的数据库电力设备存放管理的数据库数据库:数据库:WAE(WAE(仓库号,所在区域,区域主管,设备号,数量仓库号,所在区域,区域主管,设备号,数量)语义语义:一个区域有多个仓库,一个仓库只能属于一个区域;一个区域有多个仓库,一个仓库只能属于一个区域;一个区域只有一个区域主管;一个区域只有一个区域主管;一个仓库可以存放多种设备,每种设备可以存放在多一个仓库可以存放多种设备,每种设备可以存放在多个仓库中;个仓库中;每个仓库的每种设备都有一个库存数量。每个仓库的每种设备都有一个
3、库存数量。第4页,本讲稿共89页6.1 6.1 问题的提出问题的提出 数据冗余太大数据冗余太大浪费大量的存储空间浪费大量的存储空间 更新异常更新异常更新代价大,可能导致数据不一致更新代价大,可能导致数据不一致 插入异常插入异常该插的数据插不进去该插的数据插不进去 删除异常删除异常不该删除的数据不得不删,造成某些数据丢失不该删除的数据不得不删,造成某些数据丢失 存在的问题:第5页,本讲稿共89页6.1 6.1 问题的提出问题的提出结论:结论:WAE关系模式不是一个好的模式。关系模式不是一个好的模式。“好好”的模式:不会发生插入异常、删除异常、的模式:不会发生插入异常、删除异常、更新异常,数据冗余
4、应尽可能少。更新异常,数据冗余应尽可能少。原因:由存在于模式中的某些原因:由存在于模式中的某些数据依赖数据依赖引起的引起的解决方法:通过解决方法:通过分解关系模式分解关系模式来消除其中不合适的数据来消除其中不合适的数据依赖。依赖。第6页,本讲稿共89页6.1 6.1 问题的提出问题的提出分解成三个关系模式即可:分解成三个关系模式即可:W(W(仓库号,所在区域仓库号,所在区域);A(A(区域,区域主管区域,区域主管);WE(WE(仓库号,设备号,数量仓库号,设备号,数量)第7页,本讲稿共89页6.2 6.2 基本概念基本概念 规范化理论规范化理论正是用来改造关系正是用来改造关系模式,通过分解关系
5、模式来消除其中不合模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余等问题。常、更新异常和数据冗余等问题。第8页,本讲稿共89页6.2.1 6.2.1 函数依赖函数依赖定义定义6.16.1 设设R(U)R(U)是一个属性集是一个属性集U U上的关系模式,上的关系模式,X X和和Y Y是是U U的子集。若对于的子集。若对于R(U)R(U)的任意一个可能的关系的任意一个可能的关系r r,对对 t t1,1,t2t2 r r,若,若t1X=t2Xt1X=t2X,则,则t1Y=t2Yt1Y=t2Y则称则称X X函函数决定数
6、决定Y Y或或Y Y函数依赖函数依赖X X,记作,记作XYXY。如:如:仓库号仓库号 所在区域所在区域 所在区域所在区域 区域主管区域主管 (仓库号,设备号)(仓库号,设备号)数量数量若若Y不函数依赖于不函数依赖于X,则记为则记为X Y若若XY,并且,并且YX,则记为则记为XY若若XY,则称,则称X为这个函数依赖的决定因素。为这个函数依赖的决定因素。第9页,本讲稿共89页6.2.1 6.2.1 函数依赖函数依赖1.1.函数依赖是函数依赖是语义范畴语义范畴的概念,只能根据数据的语义来的概念,只能根据数据的语义来确定函数依赖。确定函数依赖。例:例:“区域主管区域主管所在区域所在区域”只有在不允许有
7、同名人只有在不允许有同名人的条件下成立的条件下成立2.2.函数依赖不是指关系模式函数依赖不是指关系模式R R的某个或某些关系实例满足的某个或某些关系实例满足的约束条件,而是指的约束条件,而是指R R的所有关系实例均要满足的约束条的所有关系实例均要满足的约束条件。件。3.3.函数依赖存在的时间无关性。函数依赖存在的时间无关性。说明:第10页,本讲稿共89页6.2.1 6.2.1 函数依赖函数依赖函数依赖与属性间的联系类型有关函数依赖与属性间的联系类型有关(1)(1)若属性若属性X X和和Y Y之间有之间有“一对一一对一”的联系的联系 则:则:X Y,Y X,X YX Y,Y X,X Y(2)(2
8、)若属性若属性X X和和Y Y之间有之间有“多对一多对一”的联系的联系 则:则:X Y,X Y,但但Y X Y X(3)(3)若属性若属性X X和和Y Y之间有之间有“多对多多对多”的联系的联系 则:则:X X与与Y Y之间不存在任何函数依赖之间不存在任何函数依赖注:当确定函数依赖关系时注:当确定函数依赖关系时,可从属性间的联系入手可从属性间的联系入手第11页,本讲稿共89页6.2.1 6.2.1 函数依赖函数依赖平凡函数依赖与非平凡函数依赖平凡函数依赖与非平凡函数依赖定义定义6.2在关系模式在关系模式R(U)R(U)中,对于中,对于U U的子集的子集X X和和Y Y:若若XYXY,但,但Y
9、Y X X,则称,则称XYXY是是非平凡函数依赖非平凡函数依赖.若若XYXY,但,但Y Y X X,则称,则称XYXY是是平凡函数依赖平凡函数依赖.例:在关系例:在关系WAEWAE中,中,非平凡函数依赖:非平凡函数依赖:(仓库号,设备号)(仓库号,设备号)数量数量 平凡函数依赖:平凡函数依赖:(仓库号,设备号)(仓库号,设备号)仓库号仓库号 (仓库号,设备号)(仓库号,设备号)设备号设备号注:对任一关系模式,平凡函数依赖必然存在,则一般讨论非平凡函数依注:对任一关系模式,平凡函数依赖必然存在,则一般讨论非平凡函数依赖。赖。第12页,本讲稿共89页6.2.1函数依赖函数依赖完全函数依赖与部分函数
10、依赖完全函数依赖与部分函数依赖定义定义6.3 在在R(U)中,如果中,如果XY,并且对于,并且对于X的任何的任何一个真子集一个真子集X,都有,都有X Y,则称则称Y对对X完全函数依完全函数依赖,记作赖,记作X Y。若若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y对对X部分函数依赖,记作部分函数依赖,记作X P Y。例:在关系例:在关系WAE中,中,由于:由于:(仓库号,设备号)(仓库号,设备号)数量数量,但仓库号但仓库号数量数量,设备设备号号 数量数量 因此:因此:(仓库号,设备号)(仓库号,设备号)数量数量第13页,本讲稿共89页6.2.1函数依赖函数依赖传递函数依赖与直接
11、函数依赖传递函数依赖与直接函数依赖 如果如果YX,即即XY,则,则Z对对X直接函数依赖。直接函数依赖。例:在关系wae中有:定义定义6.4 在在R(U)中,如果中,如果XY,YZ,且,且Y X,YX,则称,则称Z对对X传递函数依赖传递函数依赖,记作记作X t Z。仓库号仓库号所在区域,所在区域所在区域,所在区域区域主管区域主管可得到传递函数依赖:仓库号可得到传递函数依赖:仓库号 t 区域主管区域主管第14页,本讲稿共89页6.2.2码码定义定义6.5设设K为为R中的属性或属性组合。若中的属性或属性组合。若KFU,则,则K称为称为R的一个的一个侯选码侯选码。若关系模式若关系模式R有多个候选码,则
12、选定其中的一个做为有多个候选码,则选定其中的一个做为主码主码。主属性:主属性:包含在任何一个候选码中的属性包含在任何一个候选码中的属性 非主属性:非主属性:不包含在任何一个码中的属性不包含在任何一个码中的属性 全码:全码:整个属性组全是码整个属性组全是码第15页,本讲稿共89页6.2.2码码定义定义6.56.5 关系模式关系模式R R中属性或属性组中属性或属性组X X并非并非R R的码,但的码,但X X是另一个关系模式的码,则称是另一个关系模式的码,则称X X是是R R的外部码,也称的外部码,也称外外码码。注:主码和外码一起提供了表示关系间联系的手段。注:主码和外码一起提供了表示关系间联系的手
13、段。例:在关系例:在关系SC(Sno,Cno,Grade)中,中,由于:由于:Sno不是不是SC的码,但是另一个关系的码,但是另一个关系S的码的码 因此:因此:Sno是是SC的外码的外码第16页,本讲稿共89页6.3规范化规范化范式是对关系数据库的规范化过程中为范式是对关系数据库的规范化过程中为不同不同程度的规范化要求程度的规范化要求设立的不同标准。设立的不同标准。范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。范式的种类:第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF)第17页,本讲稿共89页6.3规范
14、化规范化各种范式之间存在联系:各种范式之间存在联系:5NF 4NF BCNF 3NF 2NF 1NF某一关系模式某一关系模式R为第为第n范式,可简记为范式,可简记为R nNF。通过模式分解将一个低级范式的关系模式转换为若干通过模式分解将一个低级范式的关系模式转换为若干个高级范式的关系模式的过程称作个高级范式的关系模式的过程称作规范化规范化。第18页,本讲稿共89页6.3.1第一范式(第一范式(1NF)定义定义6.7 满足最低要求的范式。满足最低要求的范式。如果一个关系模式如果一个关系模式R的所有属性都是不可分的所有属性都是不可分的基本数据项,则的基本数据项,则R 1NF。第一范式是对关系模式的
15、最起码要求。第一范式是对关系模式的最起码要求。不满足第一范式的数据库模式不能称为关系数据库。不满足第一范式的数据库模式不能称为关系数据库。但满足第一范式的关系模式并不一定是一个好的关系模式。但满足第一范式的关系模式并不一定是一个好的关系模式。第19页,本讲稿共89页6.3.2第二范式(第二范式(2NF)定义定义6.8 若关系模式若关系模式R 1NF,并且每一个非主属性都,并且每一个非主属性都完全函数依赖于完全函数依赖于R的码,则的码,则R 2NF。即:即:消除非主属性对码的部分依赖消除非主属性对码的部分依赖 如果一个数据库模式中的每个关系模式都是第二范式的,如果一个数据库模式中的每个关系模式都
16、是第二范式的,则称此数据库模式属于第二范式的数据库模式。则称此数据库模式属于第二范式的数据库模式。从从1NF1NF中消除非主属性对候选码的部分函数依赖中消除非主属性对候选码的部分函数依赖,则获得则获得2NF2NF。第20页,本讲稿共89页6.3.2第二范式(第二范式(2NF)例例:关系模式关系模式WAE中中:WAE(WAE(仓库号,所在区域,区域主管,仓库号,所在区域,区域主管,设备号,数量设备号,数量)码码:(仓库号仓库号,设备号设备号)主属性主属性:仓库号仓库号,设备号设备号 非主属性非主属性:所在区域、区域主管和数量所在区域、区域主管和数量 函数依赖:第21页,本讲稿共89页6.3.2第
17、二范式(第二范式(2NF)仓库号 设备号数量 所在区域 区域主管关系WAE码为码为(仓库号仓库号,设备号设备号)非主属性所在区域和区域主管部分函数依赖于码非主属性所在区域和区域主管部分函数依赖于码WAE满足第一范式,但不满足第二范式。满足第一范式,但不满足第二范式。第22页,本讲稿共89页6.3.2第二范式(第二范式(2NF)解决方法:将解决方法:将WAE分解为两个关系模式,消除这些部分函数依分解为两个关系模式,消除这些部分函数依赖:赖:即:即:WE(仓库号,设备号,数量)(仓库号,设备号,数量)WA(仓库号,所在区域,区域主管)(仓库号,所在区域,区域主管)仓库号设备号数量关系WE关系WA仓
18、库号所在区域区域主管WE 2NF,WA 2NF第23页,本讲稿共89页6.3.2第二范式(第二范式(2NF)注:注:采用投影分解法将一个采用投影分解法将一个1NF的关系分解为多个的关系分解为多个2NF的关系,可以的关系,可以在在一定程度上减轻一定程度上减轻原原1NF关系中存在的插入异常、删除异常、数关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。据冗余度大、修改复杂等问题。将一个将一个1NF关系分解为多个关系分解为多个2NF的关系,的关系,并不能完全消除并不能完全消除关系模关系模式中的各种异常情况和数据冗余。式中的各种异常情况和数据冗余。如:如:(1)(1)若某个区域刚刚设立还没
19、有仓库,则所在区域和区若某个区域刚刚设立还没有仓库,则所在区域和区域主管的值无法插入,造成域主管的值无法插入,造成插入异常插入异常。(2)(2)有一定的有一定的数据冗余数据冗余,当多个仓库处于同一个区域时,区域主,当多个仓库处于同一个区域时,区域主管的值被多次存储。管的值被多次存储。(3)(3)若某区域要更换区域主管,则要逐一地修改该区域的所有区若某区域要更换区域主管,则要逐一地修改该区域的所有区域主管记录,稍有不慎,就有可能漏改某些记录,造成域主管记录,稍有不慎,就有可能漏改某些记录,造成更新异常更新异常。第24页,本讲稿共89页6.3.3第三范式(第三范式(3NF)如果一个数据库模式中的每
20、个关系模式都是第三范式的,如果一个数据库模式中的每个关系模式都是第三范式的,则称此数据库模式属于第三范式的数据库模式。则称此数据库模式属于第三范式的数据库模式。从从2NF2NF中消除非主属性对候选码的传递依赖中消除非主属性对候选码的传递依赖,则获得则获得3NF3NF。定义定义6.9 如果关系模式如果关系模式R2NF,且每个非主属性都不传递函,且每个非主属性都不传递函数依赖于数依赖于R的候选码,则称的候选码,则称R属于第三范式,简称属于第三范式,简称3NF,记作,记作R3NF。即:消除非主属性对码的即:消除非主属性对码的部分依赖部分依赖和和传递依赖传递依赖第25页,本讲稿共89页6.3.3第三范
21、式(第三范式(3NF)例:WE(仓库号,设备号,数量)WA(仓库号,所在区域,区域主管)函数依赖:函数依赖:WE中中:(仓库号,设备号仓库号,设备号)f 数量数量 WA中:中:仓库号仓库号所在区域,所在区域所在区域,所在区域区域主管区域主管 可得到传递函数依赖:仓库号可得到传递函数依赖:仓库号 区域主管区域主管 因此:因此:WE 3NF,而,而WA 3NF第26页,本讲稿共89页6.3.3第三范式(第三范式(3NF)原因原因:区域主管传递依赖于码。区域主管传递依赖于码。解决方法:将解决方法:将WA分解为两个关系模式,消除这些传递依分解为两个关系模式,消除这些传递依赖:赖:即:即:W(仓库号,所
22、在区域)(仓库号,所在区域)A(所在区域,区域主管)(所在区域,区域主管)仓库号所在区域关系W关系A所在区域区域主管W 3NF,A 3NF第27页,本讲稿共89页6.3.3第三范式(第三范式(3NF)注:注:采用采用投影分解法投影分解法将一个将一个2NF的关系分解为多个的关系分解为多个3NF的关系,的关系,可以在可以在一定程度上减轻一定程度上减轻原原2NF关系中存在的插入异常、关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。删除异常、数据冗余度大、修改复杂等问题。将一个将一个2NF关系分解为多个关系分解为多个3NF的关系,的关系,并不能完全消除并不能完全消除关系模式中的各种异常情
23、况和数据冗余。表现在可能关系模式中的各种异常情况和数据冗余。表现在可能存在主属性对码的部分和传递依赖。存在主属性对码的部分和传递依赖。第28页,本讲稿共89页6.3.4BC范式(范式(BCNF)BCNF范式是第三范式的改进形式,建立在第一范式的基础范式是第三范式的改进形式,建立在第一范式的基础上,消除了主属性对码的部分和传递依赖。上,消除了主属性对码的部分和传递依赖。定义定义6.10 设关系模式设关系模式R 1NF,若对于,若对于R的每个函数依的每个函数依赖赖XY,若,若Y不属于不属于X,则,则X必含有候选码,那么必含有候选码,那么R BCNF。即:每一个决定因素(决定属性集)都包含码即:每一
24、个决定因素(决定属性集)都包含码第29页,本讲稿共89页6.3.4BC范式(范式(BCNF)证明:证明:BCNF 3NF反证:若反证:若R BCNF,但但R 3NF,则按,则按3NF定义,一定定义,一定有非主属性对码的传递依赖。有非主属性对码的传递依赖。于是存在:于是存在:R的码的码X,属性组,属性组Y,以及非主属性,以及非主属性Z(Z Y),使得),使得XY,YZ,YX成立。成立。由由YZ,按,按BCNF定义,定义,Y含有码,则是含有码,则是YX成立,成立,这与这与YX矛盾。矛盾。所以:所以:R 3NF。第30页,本讲稿共89页6.3.4BC范式(范式(BCNF)注意:注意:若若R BCNF
25、,则,则R 3NF若若R 3NF,则,则R不一定属于不一定属于BCNF若若R BCNF 所有非主属性对每一个候选码都是完全函数依赖;所有非主属性对每一个候选码都是完全函数依赖;所有主属性对所有主属性对每一个不包含它的候选码每一个不包含它的候选码都是完全函数依赖;都是完全函数依赖;没有任何属性完全函数依赖于非码的任何一组属性。没有任何属性完全函数依赖于非码的任何一组属性。第31页,本讲稿共89页6.3.4BC范式(范式(BCNF)例1:Course(Cno,Creidt,Pcno)函数依赖函数依赖:Cno Credit,Cno Pcno 即:无部分依赖和传递依赖,且即:无部分依赖和传递依赖,且C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 第六章 关系数据库设计理论精品文稿 第六 关系 设计 理论 精品 文稿
限制150内