数据库原理关系数据库的规范化设计

上传人:宝路 文档编号:48102196 上传时间:2018-07-09 格式:PPT 页数:62 大小:339.07KB
返回 下载 相关 举报
数据库原理关系数据库的规范化设计_第1页
第1页 / 共62页
数据库原理关系数据库的规范化设计_第2页
第2页 / 共62页
数据库原理关系数据库的规范化设计_第3页
第3页 / 共62页
数据库原理关系数据库的规范化设计_第4页
第4页 / 共62页
数据库原理关系数据库的规范化设计_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《数据库原理关系数据库的规范化设计》由会员分享,可在线阅读,更多相关《数据库原理关系数据库的规范化设计(62页珍藏版)》请在金锄头文库上搜索。

1、数据库原理第五章 关系数据库的规范化设计1本章内容概要l 关系模式的设计问题l关系模式存在的问题l 规范化理论l函数依赖l码l范式 l Armstrong公理系统l公理系统推理规则l属性集的闭包l最小函数依赖集l规范化模式设计的三条原则25.1关系模式的设计问题关系数据库的理论基础关系数据库模式的设计理论是数据库语义学的重要内容,是解决一个好的设计模式的问题,是数据库设计的设计指南。3关系数据库规范化理论关系规范化理论也称为数据库模式设计理论,它主 要遵循2个原则:关系的等价替代数据的最小冗余通过关系规范化使数据模式设计得既稳定又灵活。 所谓稳定,指数据模式不随存储硬件的更新或存储 方式的改变

2、而改变。所谓灵活,指数据结构允许方 便地调整、扩充。4规范化理论简述l规范化理论的思想用合理的分解关系 去除不合适的数据依赖数据依赖:数据冗余、操作(修改、插入、删除)异常包括:函数依赖、多值依赖、连接依赖l函数依赖(Functional Dependency,FD)是数据 依赖的一种,它反映属性或属性组之间互相依存、 互相制约的关系。 55.2 规范化理论1、规范化问题的提出(一)1.1 规范化理论的主要内容在关系数据库系统中,关系模型包括一组关 系模型,并且各个关系不是完全孤立的。关系数据库的规范化理论主要包括的内容: 函数依赖,范式和模式设计。函数依赖起核心作 用,是模式分解和模式设计的

3、基础,范式是模式 分解的标准。61.2 不合理的关系模式存在的存储异常问题由书上的P114 例子5.1可以看到:l数据冗余:对讲授多门课程的教师要多条重复。l插入异常:对没有课程的教师不能插入,CNANE为空。l更新异常:改名需多条修改,不慎造成数据不一致性。l删除异常:同样由于CNAME问题,教师信息也要删。规范化问题的提出(二)7Supplier(SName, Saddress, Item, Price)其中各属性分别表示供应商名、供应商地址、货物名称、货物 价格。一个供应商供应一种货物则对应到关系中的一个记录。 上述关系模式存在如下的问题:l 数据冗余:一个供应商每供应一种货物,则其地址

4、重复一次。l 更新异常:由于地址重复,当该供应商改地址后,我们要对每一条记录的地址都做修改。l 插入异常:如果某供应商没有供任何货物,则无法登录其名字和地址。l 删除异常:若某供应商所供应的所有货物都被删除,则将丢失该供应商的名字和地址。一个不好的关系模式“Supplier”81、规范化问题的提出(三)一个好的关系模式应满足条件:l尽可能少的数据冗余l没有插入异常l没有删除异常l没有更新异常按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模 式转变为好的关系数据库模式,即关系的规范化。91.3 模式分解是关系规范化的主要方法怎样才能得到一个好的关系模式呢

5、?我们把关系模式TDC分解为下面三个结构简单的关系模式,如下图所示。l教师关系T(TNO,TNAME,AGE,DEPT)l讲课关系TC(TNO,CNAME,CT)l系关系D(DEPT,DEAN)1、规范化问题的提出(四)10模式分解是关系规范化的主要方法(二)TNOTNAMEAGEDEPTDEANCNAMECT 1011程宏民30计算机余明华计算机应用基础3 1011程宏民30计算机余明华数据库原理3.5 1032刘良顺40电子郑秋平高频技术3 2010王彩凤45自动化吴永俊高电压2 2010王彩凤45自动化吴永俊过程控制4 2010王彩凤45自动化吴永俊数据库原理3 2131张婷32计算机余

6、明华C+3.5 3011李惠27自动化吴永俊计算机应用基础2.5 3011李惠27自动化吴永俊高电压2 3015周伟民26计算机余明华计算机应用基础3 3015周伟民26计算机余明华C+3.5 2017胡力26电子郑秋平高频技术3 2017胡力28电子郑秋平通信原理4 1109杨嘉旺30计算机余明华数据库原理3.5例:TDC 对应的表内容11TNOSNAMEAGEDEPT 1011程宏民30计算机 1032刘良顺40电子 2010王彩凤45自动化 2131张婷32计算机 3011李惠27自动化 3015周伟民26计算机 2017胡力28电子 1109杨喜旺30计算机DEPTDEAN 计算机余明

7、华电子郑秋平自动化吴永俊DTTCTNOCNAMECT 1011计算机应用基础3 1011数据库原理3.5 1032高频技术3 2010高电压2 2010过程控制4 2010数据库原理3 2131C+3.5 3011计算机应用基础2.5 3011高电压2 3015计算机应用基础3 3015C+3.5 2017高频技术3 2017通信原理4 1109数据库原理3.5把关系模式TDC分解为下面三个结构简单的关系模式12在以上三个关系模式中,实现了信息的某种程度的分离:lT中存储教师基本信息,与所选课程及系主任无关;lD中存储系的有关信息,与教师无关;lTC中存储教师讲授课程的信息,而与教师及系的信息

8、无关。模式分解是关系规范化的 主要方法(三)13与TDC相比,分解为三个关系模式后,数据的冗余度明显 降低。l当新插入一个系时,只要在关系D中添加一条记录。l当某个教师尚未讲课,只要在关系T中添加一条教师记录 ,而与TC授课关系无关,这就避免了插入异常。l当某个系的教师不再讲课时,只需在TC中删除该教师的全 部授课记录,而关系D中有关该系的信息仍然保留,从而不 会引起删除异常。l同时,由于数据冗余度的降低,数据没有重复存储,也不 会引起更新异常。 模式分解是关系规范化的 主要方法(二)14经过上述分析,我们说分解后的关系模式是一个好 的关系数据库模式。从而得出结论,一个好的关系模式 应该具备以

9、下四个条件: 1. 尽可能少的数据冗余。 2. 没有插入异常。 3. 没有删除异常。 4. 没有更新异常。 但要注意,一个好的关系模式并不是在任何情况下 都是最优的,比如查询某个教师授课名及所在系的系主 任时,要通过连接,而连接所需要的系统开销非常大, 因此要以实际设计的目标出发进行设计。规范化问题的提出(五)155.2 规范化理论2.1 函数依赖的定义及性质l数据依赖:关系模型中的各属性之间相互依赖 、相互制约的联系。l数据依赖分为:函数依赖、多值依赖和连接依 赖。l函数依赖是关系模型中属性之间的一种逻辑关 系。2、函数依赖162.1 函数依赖的定义和性质(一)2.1.1函数依赖的严格定义:

10、设 R(U)为关系模式,U为R的属性集,UA1,A2,An,X、Y是U的子集,r为R的任一个关系,u、v为r的任意元组。只要有uXvX,就有uYvY, 则称 X 函数决定Y 或Y函数依赖于X,记为XY,X称为决定因素,Y称为依赖因素。若再有YX,则称X与Y相互依赖,记做X Y,当Y不依赖于X时,记做 Y X 。 17函数依赖的定义和性质(二)函数依赖的转义说明:即对于关系模式R中的属性子集X的每一个值,任何时刻则只能有一个的Y值与之对应,这与初等代数中的y=f(x)一样,对于每一个x的值,只能有一个y相对应。18函数依赖的定义和性质(三)函数依赖的说明:平凡的函数依赖与非平凡的函数依赖:! 当

11、属性集Y是属性集X的子集时,则必然存在函数依 赖X Y,这种类型的函数依赖称为平凡的函数依赖;!当属性集Y不是属性集X的子集时,则称X Y为非 平凡的函数依赖属性X属性Y平凡的函数依赖属性X属性Y非平凡的函数依赖19函数依赖的定义和性质(四)l函数依赖是语义范畴的依赖函数依赖只能根据语义来确定,不能根据其形式化定义。l函数依赖与属性之间的联系类型有关 !在一个关系模型中,如果属性X与Y有1:1联系时,则存在函数 依赖X Y,Y X,即X Y。例如:成绩表中学号为主键,姓名无重复姓名:学号=1:1 !如属性X与Y有m:1的联系时,则只存在函数依赖X Y例如:学生成绩表中学号(主键)与英语成绩 学

12、号:英语=m :1 !如属性X和Y有m:n的联系是,则X与Y之间不存在函数依赖关系例如:一个学生可以选多门课,一门课可由多个学生选. 20l函数依赖关系的存在和时间无关:函数依赖是指关系中的所有元组应该满足的约 束条件,而不是指关系中某个或某些元组所满足 的约束条件;当关系中的元组增加、删除或更新后都不能被 破坏这种函数依赖。因此,必须根据语义来确定 属性之间的函数依赖,而不能单凭某一时刻关系 中的实际数据值来判断。函数依赖的定义和性质(五)21l函数依赖可以保证关系分解的无损连接性设R(X,Y,Z),X,Y,Z为不相交的属性集合,如果X Y 或X Z,则有R(X,Y,Z)=RX,Y*RX,Z

13、,其中,RX,Y表示 关系R在属性(X,Y)上的投影,即 R等于其投影在X上的自然 连接,这样便保证了关系R分解后不会丢失原有的信息,称 为关系分解的无损连接性函数依赖的定义和性质(六)R(X,Y,Z)函数依赖的关系分解无损连接属性Y属性Z属性XR(X,Z)R(X,Y)属性Y属性Z属性X22l函数依赖可以保证关系分解的无损连接性设R(X,Y,Z),X,Y,Z为不相交的属性集合,如果X Y或X Z,则有R(X,Y,Z)=RX,Y*RX,Z,其中 ,RX,Y表示关系R在属性(X,Y)上的投影,即 R等 于其投影在X上的自然连接,这样便保证了关系R分 解后不会丢失原有的信息,称为关系分解的无损连 接

14、性。函数依赖的定义和性质(七)232.1.2 函数依赖的基本性质a.投影性一组属性函数决定它的所有子集。例如:在关系成绩表中,(姓名,学号) 姓名(姓名,学号) 学号b. 扩张性若X Y 且 W Z,则(X,W) (Y,Z)C. 合并性若X Y且X Z,则必有X (Y,Z)d. 分解性若X (Y,Z),则X Y且 X Z 242.2 完全函数依赖和部分函数依赖完全函数依赖及部分函数依赖的定义在R(U)中,x,y是U的子集,如果XY,且对于X的 任何真子集X ,有X Y,则称Y部分函数依赖于X ,记作 .(简记为XY);如果XY,且X中任意一个真子集X ,都有 XY,则称Y完全函数依赖于X,记作

15、 。换句话说,是指取真子集的任何一个局部部分都不 能满足函数依赖,称之为完全函数依赖依赖,而任何 一个部分都满足函数依赖的话,则成为部分函数依赖 。252.2 完全函数依赖和部分函数依赖l例如:学生成绩表中l姓名不能推出年龄,学号也不能推出年龄,但是姓名 + 学号能推出年龄,故完全依赖;l学号能直接推出籍贯,故是部分依赖姓名学号年龄籍贯 王一116河北 王二215山东 王三316北京 王一416天津262.3 传递函数依赖l设有关系模式R(U),U是属性全集,X,Y,Z是U的子集 ,若X Y,但Y X,而Y Z(YX,ZY),则称Z对X传递函数依赖,记作:X Z。l如果Y X,则X Y,称Z对

16、X直接函数依赖.归纳:函数依赖分为:直接函数依赖、部分函数依赖和传递函数依赖t27l范式的定义:范式是符合某一级别的关系模式的集合。l1971-E.F.Coddl1974-E.F.Codd l 不存在更新异常现象 缺点:l 没有限制主属性对键的依赖关系范式三(续一)42BC范式 (BCNF)1. BC范式的定义l 如果关系模式R1NF,且所有的函数依赖X Y,(XY),决定因素X都包含了R的一个侯选键,则称R属 于BC范式,记作RBCNF。2. BCNF具有的性质:l 满足BCNF的关系将消除任何属性(主属性或非主属性 )对键的部分函数依赖和传递函数依赖,也就是说,如 果RBCNF,则R也是3NF。l如果R3NF,则R不一定是BCNF。范式四43BC范式 (BCNF)lBCNF通常被认为是修正的3NF,它是在满足

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号