数据库系统教程 教学课件 ppt 作者 何玉洁 李宝安 第9章 关系规范化理论

上传人:E**** 文档编号:89375530 上传时间:2019-05-24 格式:PPT 页数:99 大小:2.84MB
返回 下载 相关 举报
数据库系统教程 教学课件 ppt 作者  何玉洁 李宝安 第9章 关系规范化理论_第1页
第1页 / 共99页
数据库系统教程 教学课件 ppt 作者  何玉洁 李宝安 第9章 关系规范化理论_第2页
第2页 / 共99页
数据库系统教程 教学课件 ppt 作者  何玉洁 李宝安 第9章 关系规范化理论_第3页
第3页 / 共99页
数据库系统教程 教学课件 ppt 作者  何玉洁 李宝安 第9章 关系规范化理论_第4页
第4页 / 共99页
数据库系统教程 教学课件 ppt 作者  何玉洁 李宝安 第9章 关系规范化理论_第5页
第5页 / 共99页
点击查看更多>>
资源描述

《数据库系统教程 教学课件 ppt 作者 何玉洁 李宝安 第9章 关系规范化理论》由会员分享,可在线阅读,更多相关《数据库系统教程 教学课件 ppt 作者 何玉洁 李宝安 第9章 关系规范化理论(99页珍藏版)》请在金锄头文库上搜索。

1、数据库系统教程,第9章 关系规范化理论,1,第9章 关系规范化理论,9.1 函数依赖 9.2 一些基本概念 9.3 范式 9.4 关系模式的分解准则,2019年5月24日7时39分,2,概述,数据库设计是数据库应用领域中的主要研究课题,其主要任务是创建满足用户需求且性能良好的数据库模式。 关系数据库规范化理论是指导数据库设计的一个理论指南。,2019年5月24日7时39分,3,9.1 函数依赖,数据的语义不仅表现为完整性约束,对关系模式的设计也提出了一定的要求。 如何构造一个合适的关系模式,应构造几个关系模式,每个关系模式由哪些属性组成等,都是数据库设计问题,确切地讲是关系数据库的逻辑设计问题

2、。,2019年5月24日7时39分,4,9.1.1 基本概念,省=f(城市):只要给出一个具体的城市值,就会有唯一一个省值和它对应, 如“武汉市”在“湖北省”,这里“城市”是自变量X,“省”是因变量或函数值Y。 把X函数决定Y,或Y函数依赖于X表示为: XY 如果有关系模式R(A1,A2,An),X和Y为A1,A2,An的子集,则对于关系R中的任意一个X值,都只有一个Y值与之对应,则称X函数决定Y,或Y函数依赖于X。,2019年5月24日7时39分,5,示例,例1:对学生关系模式 Student(Sno, Sname, Sdept, Sage) 有以下依赖关系:,SnoSname, SnoSd

3、ept, SnoSage,例2:SC(Sno, Cno, Grade),(Sno, Cno)Grade,2019年5月24日7时39分,6,函数依赖定义,设有关系模式R(A1,A2,An),X和Y均为A1,A2,An的子集,r是R的任一具体关系,t1、t2是r中的任意两个元组; 如果由t1X=t2X可以推导出t1Y=t2Y,则称X函数决定Y,或Y函数依赖于X,记为XY。,2019年5月24日7时39分,7,9.1.2 一些术语和符号,(1)如果XY,但Y不包含于X,则称 XY是非平凡的函数依赖。 (2)如果XY,但Y包含于X,则称 XY是平凡的函数依赖。 若无特别声明,我们讨论的都是非平凡的函

4、数依赖。,2019年5月24日7时39分,8,术语和符号(续),(3)如果XY,则X称为决定因子。 (4)如果XY,并且YX,则记作 XY。 (5)如果XY,并且对于X的一个任意真子集X都有X/Y,则称Y完全函数依赖于X,记作: 如果XY成立,则称Y部分函数依赖于X,记作:,2019年5月24日7时39分,9,术语和符号(续),(6)如果XY(非平凡函数依赖,并且Y/X)、YZ,则称Z 传递函数依赖于X 。,2019年5月24日7时39分,10,示例,例1:有关系模式 SC(Sno,Sname,Cno,Credit,Grade) 主键为(Sno, Cno),则函数依赖关系有:,2019年5月2

5、4日7时39分,11,示例,例2:假设有关系模式 S(Sno,Sname,Dept,Dept_master) 假设一个系只有一个主任,主键为Sno,则函数依赖关系有:,2019年5月24日7时39分,12,9.1.3 为什么要讨论函数依赖?,有关系模式: S-L-C(Sno,Sname,Ssex,Sdept,SLOC,Cno,Grade) 其中各属性分别为:学号、姓名、性别、学生所在系、学生所住宿舍楼、课程号和考试成绩。 假设每个系的学生都住在一栋楼里,(Sno,Cno)为主键,2019年5月24日7时39分,13,数据示例,2019年5月24日7时39分,14,存在问题,数据冗余问题 数据更

6、新问题 数据插入问题 数据删除问题,2019年5月24日7时39分,15,结论,S-L-C关系模式不是一个好的模式。 如何改造这个关系模式并克服以上种种问题是关系规范化理论要解决的问题,也是讨论函数依赖的原因。 解决方法:模式分解,即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的函数依赖,从而获得良好的关系模式,2019年5月24日7时39分,16,9.1.4 函数依赖的推理规则,一个关系的完整函数依赖集可能是很大的。 理论上希望确定一组函数依赖(表示为X),但这组函数依赖的规模要比完整的函数依赖集(表示为Y)小的多,而且Y中的每个函数依赖都可以通过X中的函数依赖表示

7、。 因此,如果满足X中的函数依赖定义的完整性约束,也必然满足Y中定义的函数依赖定义的完整性约束。,2019年5月24日7时39分,17,函数依赖的推理规则(续),这种想法表明必须可以从一些函数依赖推导出另外一些函数依赖。 例如,如果关系中存在函数依赖: AB,BC,则有AC。 我们要讨论的是用一种方法来帮助确定关系的完整的函数依赖集合,并讨论如何得到一个表示完整函数依赖的最小函数依赖集。,2019年5月24日7时39分,18,极小函数依赖集,从一个函数依赖集X推导出的所有函数依赖的集合称为X的闭包,记为X+。 需要有一些规则来帮助计算X+。 Armstrong公理系统包含了一组推导规则,这些规

8、则确定了如何从已知的函数依赖推导出新的函数依赖(Armstrong,1974)。,2019年5月24日7时39分,19,Armstrong公理,假设A、B、C、D都是关系R的子集,Armstrong公理: (1)自反性:如果B是A的子集,则AB。 (2)增广性:如果AB,则A,CB,C。 (3)传递性:如果AB并且BC,则AC,2019年5月24日7时39分,20,其他规则,(4)自确定性:AA (5)可分解性:如果AB,C,则AB和AC (6)合并性:如果AB和AC,则AB,C (7)组合性:如果AB和CD,则A,CB,D,2019年5月24日7时39分,21,确定一个关系的函数依赖集F:

9、首先确定语义上非常明显的函数依赖, 然后应用Armstrong公理(规则(1)到(3)从这些函数依赖推导出附加的正确的函数依赖。具体方法: 首先确定每一组会在函数依赖左边出现的属性组A, 然后确定所有依赖于A的属性组。,2019年5月24日7时39分,22,属性集闭包,设F是属性集U上的函数依赖集,X为U的一个子集。则对于F,属性集X关于F的闭包(用X表示)为: X A | XA能够由F根据Amstrong公理导出 因此,若想判断函数依赖XY是否成立,只要计算X关于函数依赖集F的闭包,若Y是X闭包中的一个元素,则XY成立。,2019年5月24日7时39分,23,9.1.5 最小函数依赖集,对于

10、一组函数依赖Y和另一组函数依赖X,如果Y中的每个函数依赖都在X+中,也就是说,Y中的每个函数依赖都可以从X推导出,则称Y被X覆盖。,2019年5月24日7时39分,24,最小函数依赖集,如果X满足如下条件,则称X是最小的函数依赖集: X中每个函数的右边都只有一个属性。 对X中的任何函数依赖AB,都不存在A的一个真子集C,使得用CB代替AB后得到和原来的X等价的一组依赖。 从X中移出任何一个函数依赖都无法再得到和原来的X等价的一组函数依赖。,2019年5月24日7时39分,25,示例,例 确定 S-L-C(Sno,Sname,Ssex,Sdept,Sloc,Cno,Grade)的最小函数依赖集。

11、 Sno Sname Sno Ssex Sno Sdept Sdept Sloc (Sno,Cno)Grade,2019年5月24日7时39分,26,9.2 关系规范化中的一些基本概念,关系规范化是指导将有“不良”函数依赖的关系模式转换为良好的关系模式的理论。 这里涉及到范式的概念,不同的范式表示关系模式遵守的不同的规则。,2019年5月24日7时39分,27,一些术语,候选键:设K为R (U, F)中的属性或属性组,若 K U,则K为R的候选键。K为决定R中全部属性值的最小属性组。 主键:关系R (U, F)中可能有多个候选键,则选其中一个作为主键。 全键:候选键为整个属性组。 主属性与非主

12、属性:在R (U, F)中,包含在任一候选键中的属性称为主属性,不包含在任一候选键中的属性称为非主属性。,2019年5月24日7时39分,28,示例,例1 学生表(学号,姓名,性别,身份证号,年龄,所在系) 候选键:学号,身份证号。 主键:“学号”或者是“身份证号” 主属性:学号,身份证号。 非主属性:姓名,性别,年龄,所在系,2019年5月24日7时39分,29,示例,例2 学生选课(学号,课程号,考试次数,成绩) 候选键:(学号,课程号,考试次数),也为主键。 主属性:学号,课程号,考试次数 非主属性:成绩。,2019年5月24日7时39分,30,示例,例3 教师_课程(教师号,课程号,学

13、年) 候选键:(教师号,课程号,学年),这里的候选键也是主键。 主属性:教师号,课程号,学年。 非主属性:无。 这种候选键为全部属性的表称为全键表,2019年5月24日7时39分,31,外键,若R(U,F)的属性(组)X(X属于U)是另一个关系S的主键,则称X为R的外键。(X必须先被定义为S的主键) 用于关系表之间建立关联的属性(组)称为外键。,2019年5月24日7时39分,32,9.3 范式,关系数据库中的关系要满足一定的要求,满足不同程度要求的为不同的范式(Normal Form)。范式的种类: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(

14、4NF) 第五范式(5NF),2019年5月24日7时39分,33,范式说明,“第几范式”表示关系模式满足的条件, 对关系模式的属性间的函数依赖加以不同的限制,就形成了不同的范式。 范式是递进,第一范式的表比不是第一范式的表要好;第二范式的表比第一范式的表好 规范化的理论由E. F. Codd于1971年提出,目的是设计“好的”关系模式。关系规范化实际上就是对有问题的关系进行分解,从而消除操作异常。,2019年5月24日7时39分,34,各范式的关系,2019年5月24日7时39分,35,第一范式,第一范式(1NF):不包含重复组的关系,2019年5月24日7时39分,36,非第一范式,201

15、9年5月24日7时39分,37,解决方法一,在包含重复数据的行的空列中输入合适的数据,从而消除重复组。,2019年5月24日7时39分,38,解决方法二,将关系中的重复数据列移到一个新关系中,将原关键字属性也复制到新关系中,并在原表中删除被复制的重复数据列。,2019年5月24日7时39分,39,新关系,9.3.2 第二范式,定义 如果R(U,F)1NF,并且R中的每个非主属性都完全函数依赖于主键,则R(U,F)2NF。 可知:若某个第一范式关系的主键只由一个列组成,则这个关系就是第二范式关系。,2019年5月24日7时39分,40,示例,S-L-C( Sno,Sname,Ssex,Sdept

16、,Sloc,Cno,Grade) (Sno,Cno)是主键, 有SnoSname 有(Sno,Cno) Sname 不是第二范式关系,2019年5月24日7时39分,41,分解方法,(1)用组成主键的属性集合的每一个子集作为主键构成一个关系。 (2)将依赖于这些主键的属性放置到相应的关系中。 (3)最后去掉只由主键的子集构成的关系。,2019年5月24日7时39分,42,分解S-L-C步骤1,将该关系分解为如下三个关系(下划线部分表示主键): S-L(Sno,) C(Cno,) S-C(Sno, Cno,),2019年5月24日7时39分,43,分解S-L-C步骤2,将依赖于这些主键的属性放置到相应的关系中,形成如下三个关系: S-L(Sno,Sname, Ssex, Sdept, Sloc) C(Cno) S-C(Sno, Cno, Grade),2019年5月24日7时3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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