数据库课件第六章关系数据库设计理论.ppt
《数据库课件第六章关系数据库设计理论.ppt》由会员分享,可在线阅读,更多相关《数据库课件第六章关系数据库设计理论.ppt(89页珍藏版)》请在三一办公上搜索。
1、数据库原理及应用,第六章 关系数据库设计理论,问题的提出,基本概念,规范化,函数依赖的公理系统,模式分解,6.1 问题的提出,针对一个具体问题,设计一个好的关系数据库系统,关键是要构造一个适合于它的数据模式(数据库逻辑设计问题)数据库逻辑设计主要解决的问题:应该构造几个关系模式 每个关系模式包括哪些属性 数据库逻辑设计工具关系数据库的规范化理论,6.1 问题的提出,例:描述电力设备存放管理的数据库数据库:WAE(仓库号,所在区域,区域主管,设备号,数量),语义:一个区域有多个仓库,一个仓库只能属于一个区域;一个区域只有一个区域主管;一个仓库可以存放多种设备,每种设备可以存放在多个仓库中;每个仓
2、库的每种设备都有一个库存数量。,6.1 问题的提出,数据冗余太大浪费大量的存储空间 更新异常更新代价大,可能导致数据不一致 插入异常该插的数据插不进去 删除异常不该删除的数据不得不删,造成某些数据丢失,存在的问题:,6.1 问题的提出,结论:WAE关系模式不是一个好的模式。“好”的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。原因:由存在于模式中的某些数据依赖引起的解决方法:通过分解关系模式来消除其中不合适的数据依赖。,6.1 问题的提出,分解成三个关系模式即可:W(仓库号,所在区域);A(区域,区域主管);WE(仓库号,设备号,数量),6.2 基本概念,规范化理论正是用来改
3、造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余等问题。,6.2.1 函数依赖,定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,对t1,t2 r,若t1X=t2X,则t1Y=t2Y则称X函数决定Y或Y函数依赖X,记作XY。,如:仓库号 所在区域 所在区域 区域主管(仓库号,设备号)数量,若XY,则称X为这个函数依赖的决定因素。,6.2.1 函数依赖,1.函数依赖是语义范畴的概念,只能根据数据的语义来确定函数依赖。例:“区域主管所在区域”只有在不允许有同名人的条件下成立2.函数依赖不是指
4、关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。3.函数依赖存在的时间无关性。,说明:,6.2.1 函数依赖,函数依赖与属性间的联系类型有关(1)若属性X和Y之间有“一对一”的联系 则:X Y,Y X,X Y(2)若属性X和Y之间有“多对一”的联系 则:X Y,但Y X(3)若属性X和Y之间有“多对多”的联系 则:X与Y之间不存在任何函数依赖注:当确定函数依赖关系时,可从属性间的联系入手,6.2.1 函数依赖,平凡函数依赖与非平凡函数依赖,定义6.2 在关系模式R(U)中,对于U的子集X和Y:若XY,但Y X,则称XY是非平凡函数依赖.若XY,但Y X,
5、则称XY是平凡函数依赖.,例:在关系WAE中,非平凡函数依赖:(仓库号,设备号)数量 平凡函数依赖:(仓库号,设备号)仓库号(仓库号,设备号)设备号,注:对任一关系模式,平凡函数依赖必然存在,则一般讨论非平凡函数依赖。,6.2.1 函数依赖,完全函数依赖与部分函数依赖,6.2.1 函数依赖,传递函数依赖与直接函数依赖,如果YX,即XY,则Z对X直接函数依赖。,例:在关系wae中有:,仓库号所在区域,所在区域区域主管可得到传递函数依赖:仓库号 t 区域主管,6.2.2 码,定义6.5 设K为R中的属性或属性组合。若K F U,则K称为R的一个侯选码。若关系模式R有多个候选码,则选定其中的一个做为
6、主码。,主属性:包含在任何一个候选码中的属性 非主属性:不包含在任何一个码中的属性 全码:整个属性组全是码,6.2.2 码,定义6.5 关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,也称外码。,注:主码和外码一起提供了表示关系间联系的手段。,例:在关系SC(Sno,Cno,Grade)中,由于:Sno不是SC的码,但是另一个关系S的码 因此:Sno是SC的外码,6.3 规范化,范式是对关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准。范式是符合某一种级别的关系模式的集合。,6.3 规范化,各种范式之间存在联系:5NF 4NF BCNF 3NF
7、2NF 1NF 某一关系模式R为第n范式,可简记为RnNF。通过模式分解将一个低级范式的关系模式转换为若干个高级范式的关系模式的过程称作规范化。,6.3.1 第一范式(1NF),定义6.7 满足最低要求的范式。如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。,第一范式是对关系模式的最起码要求。不满足第一范式的数据库模式不能称为关系数据库。但满足第一范式的关系模式并不一定是一个好的关系模式。,6.3.2 第二范式(2NF),定义6.8 若关系模式R1NF,并且每一个非主属性都完全函数依赖于R的码,则R2NF。即:消除非主属性对码的部分依赖,如果一个数据库模式中的每个关系模式都是第
8、二范式的,则称此数据库模式属于第二范式的数据库模式。从1NF中消除非主属性对候选码的部分函数依赖,则获得2NF。,6.3.2 第二范式(2NF),例:关系模式WAE中:WAE(仓库号,所在区域,区域主管,设备号,数量),码:(仓库号,设备号)主属性:仓库号,设备号 非主属性:所在区域、区域主管和数量,函数依赖:,6.3.2 第二范式(2NF),码为(仓库号,设备号)非主属性所在区域和区域主管部分函数依赖于码WAE满足第一范式,但不满足第二范式。,6.3.2 第二范式(2NF),解决方法:将WAE分解为两个关系模式,消除这些部分函数依赖:即:WE(仓库号,设备号,数量)WA(仓库号,所在区域,区
9、域主管),WE2NF,WA2NF,6.3.2 第二范式(2NF),注:采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。如:(1)若某个区域刚刚设立还没有仓库,则所在区域和区域主管的值无法插入,造成插入异常。(2)有一定的数据冗余,当多个仓库处于同一个区域时,区域主管的值被多次存储。(3)若某区域要更换区域主管,则要逐一地修改该区域的所有区域主管记录,稍有不慎,就有可能漏改某些记录,造成更新异常。,6.3.3
10、第三范式(3NF),如果一个数据库模式中的每个关系模式都是第三范式的,则称此数据库模式属于第三范式的数据库模式。从2NF中消除非主属性对候选码的传递依赖,则获得3NF。,定义6.9 如果关系模式R2NF,且每个非主属性都不传递函数依赖于R的候选码,则称R属于第三范式,简称3NF,记作R3NF。即:消除非主属性对码的部分依赖和传递依赖,6.3.3 第三范式(3NF),例:WE(仓库号,设备号,数量)WA(仓库号,所在区域,区域主管),6.3.3 第三范式(3NF),原因:区域主管传递依赖于码。解决方法:将WA分解为两个关系模式,消除这些传递依赖:即:W(仓库号,所在区域)A(所在区域,区域主管)
11、,W3NF,A3NF,6.3.3 第三范式(3NF),注:采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上减轻原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。将一个2NF关系分解为多个3NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。表现在可能存在主属性对码的部分和传递依赖。,6.3.4 BC范式(BCNF),BCNF范式是第三范式的改进形式,建立在第一范式的基础上,消除了主属性对码的部分和传递依赖。,定义6.10 设关系模式R1NF,若对于R的每个函数依赖XY,若Y不属于X,则X必含有候选码,那么RBCNF。即:每一个决定因素(决定
12、属性集)都包含码,6.3.4 BC范式(BCNF),证明:BCNF 3NF反证:若RBCNF,但R3NF,则按3NF定义,一定有非主属性对码的传递依赖。于是存在:R的码X,属性组Y,以及非主属性Z(Z Y),使得XY,Y Z,YX成立。由YZ,按BCNF定义,Y含有码,则是YX成立,这与YX矛盾。所以:R3NF。,6.3.4 BC范式(BCNF),注意:若RBCNF,则R3NF若R3NF,则R不一定属于BCNF,若RBCNF 所有非主属性对每一个候选码都是完全函数依赖;所有主属性对每一个不包含它的候选码都是完全函数依赖;没有任何属性完全函数依赖于非码的任何一组属性。,6.3.4 BC范式(BC
13、NF),例1:Course(Cno,Creidt,Pcno),函数依赖:Cno Credit,Cno Pcno 即:无部分依赖和传递依赖,且Cno是唯一决定因素,因此:Course 3NF,且Course BCNF,码:Cno 即为主属性,决定因素,6.3.4 BC范式(BCNF),例2:在关系模式SCP(S,C,P)中,S表示学生,C表示课程,P表示名次。,说明:每一个学生选修每一门课程都有一个固定的名次:每一门课程中每一名次只对应一个学生(假设没有相同名次的学生):,(S,C)P,(C,P)S,6.3.4 BC范式(BCNF),候选码:(S,C)和(C,P)即:S,C和P都是主属性,决定因
14、素:(S,C)和(C,P),结论:,SCPBCNF只有(S,C)和(C,P)决定因素且包含候选码,无其他决定因素,SCP3NFS、C、P都是主属性无部分依赖和传递依赖,6.3.4 BC范式(BCNF),例3:在关系模式WES(仓库号,设备号,职工号)中。,说明:一个仓库可以有多个职工;一个职工仅在一个仓库工作;每个仓库一种设备仅由一名职工保管,但每名职工可以保管多种设备.,问:该关系的码?属于第几范式?,答:码:(仓库号,设备号)属于3NF,但不属于BCNF,非BCNF的不良特性:某位职工刚分配到一个仓库工作,但尚未负责具体设备,这样的信息就无法插入。,职工号仓库号,(仓库号,设备号)职工号,
15、6.3.5 多值依赖与第四范式,例:学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。即:关系模式Teaching(C,T,B)课程C、教师T 和 参考书B,6.3.5 多值依赖与第四范式,用二维表表示Teaching,6.3.5 多值依赖与第四范式,Teach具有唯一候选码(C,T,B),即全码TeachingBCNF,存在的问题(1)数据冗余:有多少名任课教师,参考书就要存储多少次;(2)插入异常:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组;,(3)删除异常:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组;(4)修改异常:某一门课要
16、修改一本参考书,该课程有多少名教师,就必须修改多少个元组。,产生原因:存在多值依赖,6.3.5 多值依赖与第四范式,定义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。,6.3.5 多值依赖与第四范式,平凡多值依赖和非平凡的多值依赖 若XY,而Z,则称XY为平凡的多值依赖;否则称XY为非平凡的多值
17、依赖。,如非平凡的多值依赖:CT,CB,6.3.5 多值依赖与第四范式,多值依赖的性质:,(1)对称性:即:若XY,则XZ,其中ZUXY 多值依赖的对称性可以用完全二分图直观地表示出来。,(2)传递性:即:若XY,YZ,则XZ Y,6.3.5 多值依赖与第四范式,完全二分图描述多值依赖对称性,6.3.5 多值依赖与第四范式,(5)函数依赖是多值依赖的特殊情况:即:若XY,则XY。,(3)合并性:若XY,XZ,则 XY Z。(4)分解性:若XY,XZ,则 XYZ,XYZ,XZY。,6.3.5 多值依赖与第四范式,定义6.12 关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含
18、有候选码,则R4NF。即:消除各属性间非平凡且非函数依赖的多值依赖。,允许出现函数依赖(非平凡多值依赖)允许出现平凡多值依赖 如果R 4NF,则R BCNF,6.3.5 多值依赖与第四范式,证明:4NF BCNF反证:若R4NF,但RBCNF,则按BCNF定义,一定有一个决定因素不包含码。于是存在:XY,Y X,且X中不含有码。由于函数依赖是多值依赖的特殊情况,即:XY,可得XY(Y X),按4NF定义,X一定含有码,则与X中不含有码矛盾。所以:RBCNF。,6.3.5 多值依赖与第四范式,存在非平凡的多值依赖CT,且C不是候选码,该关系模式的码是(C,T,B),即全码。存在问题:数据冗余大,
19、插入、删除、更新异常解决方法:用投影分解法把Teach分解为如下两个关系模式:CT(C,T)4NF CB(C,B)4NF 其中:CT,CB是平凡多值依赖,6.3.5 多值依赖与第四范式,函数依赖和多值依赖是两种非常重要的数据依赖 若只考虑函数依赖,则BCNF为最高范式(但不是数据库模式设计的最高范式);若考虑多值依赖,则4NF为最高范式;若消除了4NF中的连接依赖,可以得到更为规范化的5NF。,6.3.6 关系模式规范化,一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最基本的规范化1NF。规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、删除异常、修改复
20、杂、数据冗余等问题。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化。,6.3.6 关系模式规范化,消除不合适的数据依赖;采用“一事一地”的模式设计原则,使各关系模式达到某种程度的“分离”;让一个关系描述一个概念、一个实体或者实体间的一种联系;若多于一个概念就把它“分离”出去;所谓规范化实质上是概念的单一化。,规范化的基本思想,6.3.6 关系模式规范化,关系模式规范化的基本步骤 1NF 消除决定因素 2NF非码的非平凡 函数依赖 3NF BCNF 4NF,消除非主属性对码的部分函数依赖,消除非主属性对码的传递函数依赖,消除主属性对码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课件 第六 关系 设计 理论

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