欢迎来到天天文库
浏览记录
ID:38623616
大小:2.30 MB
页数:158页
时间:2019-06-16
《数据库第6章关系数据理论》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2021/7/24兰彬制作1第六章关系数据理论6.1问题的提出6.2规范化6.3数据依赖的公理系统6.4模式的分解2021/7/24兰彬制作26.1问题的提出关系数据库的逻辑设计针对具体问题,如何构造一个适合于它的数据模式数据库逻辑设计的工具──关系数据库的规范化理论2021/7/24兰彬制作3问题的提出一、概念回顾二、关系模式的形式化定义三、关系模式的简化定义四、什么是数据依赖六、数据依赖对关系模式影响2021/7/24兰彬制作4一、概念回顾关系:描述实体、属性、实体间的联系实质上是一张二维表,由元组和属性列组成关系是元组的集合。关系模式:是对关系的结构上的描
2、述,必须指出该关系由哪些属性列组成、这些属性列分别来自哪些域,属性和域之间的映象关系,以及要满足哪些完整性约束。2021/7/24兰彬制作5一、概念回顾关系数据库:支持关系模型的数据库系统。数据库模式:一个数据库中关系模式的全体集合就构成了该数据库的模式。2021/7/24兰彬制作6二、关系模式的形式化定义一个关系模式由六部分组成,即是一个六元组:R(U,D,DOM,F)R:关系名U:组成该关系的属性名集合D:属性组U中属性所来自的域DOM:属性向域的映象集合F:属性间数据的依赖关系的集合2021/7/24兰彬制作7三、关系模式的简化表示关系模式R(U,D,DO
3、M,F)可以简化为一个三元组:R(U,F)当且仅当U上的一个关系r满足F时,r称为关系模式R(U,F)的一个关系2021/7/24兰彬制作8四、什么是数据依赖1.完整性约束的表现形式有2种:限定属性取值范围:例如学生成绩必须在0-100之间定义属性值间的相互关连,主要表现在属性值的相等与否,这就是数据依赖,它是数据库模式设计的关键2021/7/24兰彬制作9什么是数据依赖(续)2.数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系是现实世界属性间相互联系的抽象是数据内在的性质是语义的体现2021/7/24兰彬制作10什么是数据依赖(续)3.数据
4、依赖的类型函数依赖(FD)多值依赖(MVD)其他2021/7/24兰彬制作11函数依赖有一个学生关系:学生(学号Sno,姓名Sname,系名Sdept)当学号Sno确定后,该学生的姓名Sname和系名Sdept也就唯一的确定了称为Sno函数决定Sname和Sdept,或者说,Sname和Sdept函数依赖于Sno记作:Sno->Sname,Sno->Sdept2021/7/24兰彬制作12六、数据依赖对关系模式的影响例:描述学校及其学生的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程名(Cname)成绩(Grade)U={Sno
5、,Sdept,Mname,Cname,Grade}三元组的关系模式:S(U,F)2021/7/24兰彬制作13数据依赖对关系模式的影响(续)由于该数据库中存在以下情况:⒈一个系有若干学生,一个学生只属于一个系⒉一个系只有一名主任(正主任)⒊一个学生可以选修多门课程,每门课程有若干学生选修⒋每个学生所学的每门课程都有一个成绩。2021/7/24兰彬制作14数据依赖对关系模式的影响(续)得到属性组U上的一组函数依赖F:SnoCnameSdeptMnameGradeF={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}2021/7/24
6、兰彬制作15关系模式S中存在的问题1.数据冗余太大在每个学生元组中,系主任姓名重复出现浪费大量存储空间2.插入异常如果一个系刚成立尚无学生(没有Sno),就无法把这个系及其系主任的信息存入数据库另外,如果某个系的系主任换人了,就要更改每个学生的元组,维护代价很大3.删除异常如果某个系的学生全部毕业了,Sno将被全部删除,同时也把该系及系主任的资料删除了2021/7/24兰彬制作16数据依赖对关系模式的影响(续)结论:关系模式S不是一个好的模式,因为某些属性之间存在着一些数据依赖关系解决方法:通过分解关系模式来消除其中不合适的数据依赖。一个好的
7、模式:不会发生插入异常、删除异常,数据冗余应尽可能少。2021/7/24兰彬制作17数据依赖对关系模式的影响(续)解决方法如下:把关系模式S分解为3个关系模式:S(Sno,Sdept,SnoSdept);SG(Sno,Cname,Grade,(Sno,Cname)Grade);Dept(Sdept,Mname,SdeptMname)2021/7/24兰彬制作186.2规范化规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常,和数据冗余问题。规范化:通过分析关系(关系模式)中存在的弱点,将该关系分解
8、为若干个高一级的关系。范
此文档下载收益归作者所有