1、第五章第五章 关系数据库规范化理论关系数据库规范化理论p5.1 关系规范化的必要性 p5.2 函数依赖p5.3 范式p5.4 关系模式的规范化第1页,共33页。5.1 5.1 关系规范化的必要性关系规范化的必要性 p一、关系数据库逻辑设计问题 p二、规范化理论研究的内容第2页,共33页。一、关系数据库逻辑设计问题一、关系数据库逻辑设计问题(1 of 3)p关系数据库逻辑设计问题 n构造几个关系模式?n每个关系由哪些属性组成?p例:教务管理系统,需要存储下列信息 学号,姓名,系名,系主任名,课名,成绩 SNO,SNAME,SDEPT,MNAME,CNAME,GRADE设计一个关系模式:S=SNO
2、,SNAME,SDEPT,MN,CNAME,G第3页,共33页。一、关系数据库逻辑设计问题一、关系数据库逻辑设计问题(2 of 3)pStudent中的样本数据学号系别系主任课程名成绩01001电子系张三C+语言9501001电子系张三密码学9001001电子系张三数字信号处理8501002电子系张三C+语言9401002电子系张三密码学9001002电子系张三数字信号处理8801003计科系李四C+语言9201003计科系李四操作系统9101003计科系李四编译原理9001004数学系王五数学分析96第4页,共33页。一、关系数据库逻辑设计问题一、关系数据库逻辑设计问题(3 of 3)p该关
3、系模式存在四个主要问题:n数据冗余度大n插入异常n删除异常n潜在的不一致性p解决方法:n将该关系模式分解为三个SnoSnameSdeptSdeptMnameSnoCnameGrade第5页,共33页。二、规范化理论研究的内容二、规范化理论研究的内容p实体之间的联系,实体内部各属性之间的联系。内容包括:n数据的依赖关系p函数依赖p多值依赖p连接依赖p函数依赖公理n关系模式的分解n关系模式的规范化第6页,共33页。5.2 5.2 函数依赖函数依赖p一、数据依赖p二、函数依赖p三、键的形式化定义第7页,共33页。一、数据依赖一、数据依赖(1 of 4)p关系模式回顾n一个关系模式可写成一个五元组:R
4、(U,D,DOM,F)其中 R:关系名,U:属性组,D:属性域,DOM:属性到域的映射。F:数据依赖集(属性间)n为简化起见,把关系模式看作一个三元组:R n仅当定义在U上的集合r满足F时,r才称为关系模式R的一个关系。第8页,共33页。一、数据依赖一、数据依赖(2 of 4)p数据依赖n数据依赖:是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系n数据依赖是现实世界属性间相互联系的抽象,是数据内在的性质n数据依赖是语义的体现p数据依赖共有三种:n函数依赖(Functional Dependency,FD)n多值依赖(Multivalued Dependency,MVD)n连接依赖(
5、Join Dependency,JD)第9页,共33页。二、函数依赖二、函数依赖(3 of 4)p函数依赖定义:设R(U)是一个关系模式,U是R的属性集合(如U=A1,An。X,Y为U的子集。如果R(U)的的所有关系r 都存在着:X的每一个值,都有Y的唯一值与之相对应,则称:X函数决定函数决定Y,或Y函数依赖X。记作XY。否则,记作XY称为X不能函数决定不能函数决定Y。X XY Y可理解为可理解为:X有一个值,则Y有唯一的值与之相对应;而Y的一个值是否与唯一的X值对应,不去管。第10页,共33页。二、函数依赖二、函数依赖(4 of 4)第11页,共33页。三、键的形式化定义三、键的形式化定义p
6、候选键和主键n设K是关系模式R(U,F)中的属性或属性组。若K f U,则K为R的候选键(Candidate Key)n若候选键多于一个,则选其中的一个为主键(Primary Key)p外键:n设有两个关系R和S,X是R的属性或属性组,并且X不是R的键,但X是S的键(或与S的键意义相同),则称X是R的外部键(Foreign Key),简称外键或外码。第12页,共33页。5.3 5.3 范式范式p一、范式定义p二、第一范式(1NF)p三、第二范式(2NF)p四、第三范式(3NF)p五、改进的3NF(BCNF)p六、多值依赖与第四范式(4NF)第13页,共33页。一、范式定义一、范式定义p范式定义
7、n范式(NF)是符合某一种级别的关系模式的集合。n5NF4NFBCNF3NF2NF1NFn若R(U,F)符合x范式的要求,则称R为x范式,记作:RxNF1NF 2NF 3NF4NFBCNF5NF第14页,共33页。二、第一范式二、第一范式(1NF)(1 of 2)p第一范式(1NF)n如果一个关系模式R的所有属性都是不可分的基本数据项,则 R 1NFn不满足1NF的数据库模式不能称为关系数据库n满足1NF的数据库并一定是一个好的关系模式第15页,共33页。二、第一范式二、第一范式(1NF)(2 of 2)pSLC(Sno,Sdept,Sloc,Cno,Grade)1NF,但存在下列问题:n插入
8、异常:若学生没有选课,则他的个人信息及所在系的信息就无法插入n删除异常:若删除学生的选课信息,则有关他的个人信息及所在系的信息也随之删除了n更新异常:如果学生转系,若他选修了k门课,则需要修改k条记录n数据冗余:如果一个学生选修了k门课,则有关他的所在系的信息重复。第16页,共33页。三、第二范式三、第二范式(2NF)(1 of 2)p第二范式(2NF)满足第一范式的关系模式R,如果所有非主属性都完全依赖于键,则称R属于第二范式。记为R2NF。p例:将属于第一范式的SLC进行投影分解,消除其中的部分函数依赖,就可达到第二范式。SC(Sno,Cno,Grade)2NF SL(Sno,Sdept,
9、Sloc)2NF第17页,共33页。三、第二范式三、第二范式(2NF)(2 of 2)pSL(Sno,Sdept,Sloc)2NF 但存在下列问题:n插入异常n删除异常n修改复杂n数据冗余度大第18页,共33页。四、第三范式四、第三范式(3NF)p第三范式(3NF)若R2NF,且它的任何一个非主属性都不传递依赖于键,则称关系R满足第三范式。记为R3NFp将属于第二范式的SL进行投影分解,消除其中的传递函数依赖,就可达到第三范式。SD(Sno,Sdept)3NF DL(Sdept,Sloc)3NF第19页,共33页。五、改进的五、改进的3NF(BCNF)p改进的3NF-BCNF(BoyeeCod
10、d Normal Form)n设关系模式R(U,F)1NF,若F的任一函数依赖XY(Y X)中X都包含了R的一个键,则称RBCNF。p推论推论:如果RBCNF,则:nR中所有非主属性对每一个键都是完全函数依赖;nR中所有主属性对每一个不包含它的键,都是完全函数依赖;nR中没有任何属性完全函数依赖于非键的任何一组属性。p定理定理:如果RBCNF,则R3NF一定成立。第20页,共33页。六、多值依赖与第四范式六、多值依赖与第四范式(4NF)(1 of 6)课程课程C教员教员T参考书参考书B物理李勇普通物理学物理李勇光学原理物理李勇物理习题集物理王军普通物理学物理王军光学原理物理王军物理习题集数学李
11、勇数学分析微分数学李勇方程高等代数数学张平数学分析微分数学张平方程高等代数Teaching(C,T,B)的二维表表示)的二维表表示第21页,共33页。六、多值依赖与第四范式六、多值依赖与第四范式(4NF)(2 of 6)pTeachBCNF,但仍存在下列问题:n数据冗余度大n增加操作复杂n删除操作复杂n修改操作复杂p原因:n关系模式Teaching中存在一种称为多值依赖数据依赖。第22页,共33页。六、多值依赖与第四范式六、多值依赖与第四范式(4NF)(3 of 6)p多值依赖n定义:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,且ZU-X-Y,多值依赖 XY成立当且仅当对R(U
12、)的任一关系r,r在(X,Z)值上的每个值对应一组Y的值,这组Y的值仅仅决定于X值而与Z值无关。n称Y多值依赖于X,或X多值决定Y,记作:XY。p在关系模式Teaching中:对于一个(C,B)值对应一组T值,而且这种对应与B的值无关,仅决定于C的值,即CT。第23页,共33页。六、多值依赖与第四范式六、多值依赖与第四范式(4NF)(4 of 6)p多值依赖的性质n多值依赖具有对称性p即若XY,则XZ,其中ZUXY。n多值依赖的传递性p即若XY,YZ,则XZY。n函数依赖可以看作是多值依赖的特殊情况。p即若XY,则XY。这是因为当XY时,对X的每一个值x,Y有一个确定的值y与之对应,所以XY。
13、n若XY,XZ,则XYZn若XY,XZ,则XYZn若XY,XZ,则XYZ,XZY第24页,共33页。六、多值依赖与第四范式六、多值依赖与第四范式(4NF)(5 of 6)p多值依赖与函数依赖的区别:n多值依赖的有效性与属性集的范围有关。XY在U上成立,则在W(XYWU)上一定成立;反之则不然,即XY在W(WU)上成立,在U上并不一定成立。这是因为多值依赖的定义中不仅涉及属性组X和Y,而且涉及U中其余属性Z。但是在关系模式R(U)中函数依赖XY的有效性仅决定于X,Y这两个属性集的值。n若函数依赖XY在R(U)上成立,则对于任何YY均有XY成立。而多值依赖XY若在R(U)上成立,我们却不能断言对于
14、任何YY有XY成立。第25页,共33页。六、多值依赖与第四范式六、多值依赖与第四范式(4NF)(6 of 6)p第四范式(4NF)n如果关系模式R1NF,对于R的每个非平凡的多值依赖XY(Y X),X含有键,则称R是第四范式,即R4NFp例:nTeaching(C,T,B),其中(C,T,B)是一个键,有C T,而C不含键,所以Teach不是4NFn解决方法:分解为下列两个关系模式:CT(C,T)4NFCB(C,B)4NF第26页,共33页。5.4 5.4 关系模式的规范化关系模式的规范化p一、关系模式规范化的步骤p二、关系模式的分解第27页,共33页。一、关系模式规范化的步骤一、关系模式规范
15、化的步骤(1 of 2)p关系模式规范化的定义n从一个低一级的范式的关系模式,通过模式分解转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化。p规范化的目的n解决关系模式中存在的数据冗余、插入和删除异常、更新繁琐等问题。p关系模式规范化的基本思想n逐步消除数据依赖中不合适的部分,使模式中的各个关系模式达到某种程度的“分离”,达到概念的单一化。第28页,共33页。一、关系模式规范化的步骤一、关系模式规范化的步骤(2 of 2)p关系模式的规范化步骤第29页,共33页。二、关系模式的分解二、关系模式的分解(1 of 3)p模式分解的定义n关系模式R的一个分解是指=R1,R2,Rn
16、n其中U U=U U1 1UU U2 2UUU Un n,并且没有Ui i Uj j,1i,j n,Fi i是F在Ui i上的投影。p模式分解的要求n分解前后的模式要等价p等价的标准常用的有:n分解要具有无损连接性n分解要保持函数依赖n分解既要保持函数依赖又要具有无损连接性第30页,共33页。二、关系模式的分解二、关系模式的分解(2 of 3)p例:R(ABC;AC,BC),键为AB。求具有无损连接性的分解:分解为R1(AC;AC),R2(AB)。丢失了函数依赖BC,所以不是保持函数依赖的分解。求保持函数依赖的分解:分解为R1(AC;AC),R2(BC;BC)但分解是有损的!第31页,共33页。二、关系模式的分解二、关系模式的分解(3 of 3)AC1121AB112122ABC111211221R1(AC;AC)R2(AB)R1R2R(A,B,C)ABC111211221AC1121BC1121ABC111121211221R(A,B,C)ABC111211221p无损分解,不是保持函数依赖p有损分解,保持函数依赖R1(AC;AC)R2(BC;BC)R1R2第32页,共33页。本章小结本章小结第33页,共33页。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。