欢迎来到天天文库
浏览记录
ID:50322717
大小:331.00 KB
页数:57页
时间:2020-03-08
《数据库系统原理与应用 教学课件 作者 孟彩霞 1_ 第五章.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第五章关系数据库规范化理论1第5章关系数据库规范化理论5.1问题的提出5.2函数依赖5.3规范化5.4函数依赖的公理系统5.5关系模式的分解25.1问题的提出关系数据库逻辑设计针对具体问题,如何构造一个适合于它的数据模式。即应该构造几个关系模式,每个关系模式应由哪些属性组成等。(不同处理,往往会导致数据管理的效率相差很远)数据库逻辑设计的工具──关系数据库的规范化理论。如何设计出“好”的关系模式呢?也即关系数据库规范化要讨论的问题35.1问题的提出(续)一、概念回顾:关系:描述实体、属性、实体间的联系。关系模式:用来描述关系。关系数据库:基于
2、关系模型的数据库,利用关系来描述现实世界。从形式上看,它由一组关系组成。关系数据库的模式:定义这组关系的关系模式的集合。45.1问题的提出(续)二、关系模式的形式化定义关系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)R:关系名U:组成该关系的属性名集合D:属性组U中属性所来自的域的集合DOM:属性向域的映象集合F:属性间数据的依赖关系集合55.1问题的提出(续)三、关系模式的简化表示简化为一个三元组:R当且仅当U上的一个关系r满足F时,r称为关系模式R(U,F)的一个关系65.1.1关系模型可能存在的异常数据依赖是通
3、过一个关系中属性间值的相等(关联)与否体现出来的数据间的相互关系是现实世界属性间相互联系的抽象是数据内在的性质是语义的体现数据依赖的类型函数依赖(FunctionalDependency,简记为FD)多值依赖(MultivaluedDependency,简记为MVD)其他75.1.1关系模型可能存在的异常(续)函数依赖普遍存在于现实生活中。例如:设计一个用于学生管理的数据库,该数据库涉及的属性包括学号(Sno)、姓名(Sname)、所在系(Sdept)、住处(Loca)、课程号(Cno)、成绩(Grade)。假设用一个单一关系模式SLC
4、F>来表示该数据库,则该关系模式为:U={Sno,Sname,Sdept,Loca,Cno,Grade}85.1.1关系模型可能存在的异常(续)假设有以下语义:(1)学生的学号是唯一的。(2)一个系有若干个学生,但一个学生只能在一个系学习。(3)同一个系的学生住在同一个区域。(4)一个学生可以选修多门课程,每门课程可以被多个学生选修。(5)每个学生选修一门课程有一个成绩。95.1.1关系模型可能存在的异常(续)关系模式SLCU={Sno,Sname,Sdept,Loca,Cno,Grade}F={Sno→Sname,Sno→Sdep
5、t,Sdept→Loca,(Sno,Cno)→Grade}函数依赖表示方法105.1.1关系模型可能存在的异常(续)上述关系存在以下几个方面的问题:⒈数据冗余太大⒉更新异常⒊插入异常⒋删除异常结论:SLC关系模式不是一个好的关系模式好的关系模式:应该不会发生插入异常、更新异常和删除异常,并且数据库的冗余要尽可能地少。115.1.2异常原因分析在关系模式SLC中,(Sno,Cno)为主键。SLC中U上的一组函数依赖F:F={Sno→Sname,Sno→Sdept,Sdept→Loca,(Sno,Cno)→Grade}可表示成如图5.1所示:12
6、5.1.2异常原因分析(续)在关系模式SLC中:Grade完全由主键(Sno,Cno)决定Sname、Sdept的值由Sno(主键的一部分)决定Loca的值由Sdept决定,与Sno无直接联系关系SLC中存在的这些函数依赖就是问题的根本所在,即关系模式中的属性并非完全是由主键确定,有一部分属性只与键的一部分有关。把无直接联系的属性放在一起构成关系模式,必然会产生上述的异常情况。135.1.2异常原因分析(续)将SLC改造为以下3个关系模式:S(Sno,Sname,Sdept,Sno→Sname,Sno→Sdept)L(Sdept,Loca,S
7、dept→Loca)SC(Sno,Cno,Grade,(Sno,Cno)→Grade)这3个关系模式都不会发生插入异常、更新异常和删除异常的情况,并且数据的冗余也得到了较好的控制。145.2.1函数依赖的定义定义5.1设R(U)是属性集U上的关系模式。X和Y是U的子集。若对于R(U)上的任意一个可能的关系r,如果r中不可能存在两个元组,它们在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y或Y函数依赖于X,记作X→Y。其中X称为这个函数依赖的决定属性组,或称为决定因素,Y称作被决定因素。若Y不函数依赖于X,记作X→Y。若X→Y,且Y→
8、X,则记作X←→Y。155.2.1函数依赖的定义(续)对于函数依赖,有以下几点具体说明:(1)函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的所有
此文档下载收益归作者所有