数据库系统原理与应用 教学课件 ppt 作者 孟彩霞 1_ 第五章

上传人:E**** 文档编号:89375755 上传时间:2019-05-24 格式:PPT 页数:57 大小:331KB
返回 下载 相关 举报
数据库系统原理与应用 教学课件 ppt 作者  孟彩霞  1_ 第五章_第1页
第1页 / 共57页
数据库系统原理与应用 教学课件 ppt 作者  孟彩霞  1_ 第五章_第2页
第2页 / 共57页
数据库系统原理与应用 教学课件 ppt 作者  孟彩霞  1_ 第五章_第3页
第3页 / 共57页
数据库系统原理与应用 教学课件 ppt 作者  孟彩霞  1_ 第五章_第4页
第4页 / 共57页
数据库系统原理与应用 教学课件 ppt 作者  孟彩霞  1_ 第五章_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《数据库系统原理与应用 教学课件 ppt 作者 孟彩霞 1_ 第五章》由会员分享,可在线阅读,更多相关《数据库系统原理与应用 教学课件 ppt 作者 孟彩霞 1_ 第五章(57页珍藏版)》请在金锄头文库上搜索。

1、1,第五章 关系数据库规范化 理论,2,第5章 关系数据库规范化理论,5.1 问题的提出 5.2 函数依赖 5.3 规范化 5.4 函数依赖的公理系统 5.5 关系模式的分解,3,5.1 问题的提出,关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式。即应该构造几个关系模式,每个关系模式应由哪些属性组成等。(不同处理,往往会导致数据管理的效率相差很远) 数据库逻辑设计的工具关系数据库的规范化理论。 如何设计出“好”的关系模式呢?也即关系数据库规范化要讨论的问题,4,5.1 问题的提出(续),一、概念回顾: 关系:描述实体、属性、实体间的联系。 关系模式:用来描述关系。 关系数据库

2、:基于关系模型的数据库,利用关系来描述现实世界。 从形式上看,它由一组关系组成。 关系数据库的模式:定义这组关系的关系模式的集合。,5,5.1 问题的提出(续),二、关系模式的形式化定义 关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F) R:关系名 U:组成该关系的属性名集合 D:属性组U中属性所来自的域的集合 DOM:属性向域的映象集合 F:属性间数据的依赖关系集合,6,5.1 问题的提出(续),三、关系模式的简化表示 简化为一个三元组: R 当且仅当U上的一个关系r 满足F 时,r 称为关系模式R(U, F)的一个关系,7,5.1.1 关系模型可能存在的异常,数据依

3、赖 是通过一个关系中属性间值的相等(关联)与否体现出来的数据间的相互关系 是现实世界属性间相互联系的抽象 是数据内在的性质 是语义的体现 数据依赖的类型 函数依赖(Functional Dependency,简记为FD) 多值依赖(Multivalued Dependency,简记为MVD) 其他,8,5.1.1 关系模型可能存在的异常(续),函数依赖普遍存在于现实生活中。 例如:设计一个用于学生管理的数据库,该数据库涉及的属性包括学号(Sno)、姓名(Sname)、所在系(Sdept)、住处(Loca)、课程号(Cno)、成绩(Grade)。 假设用一个单一关系模式 SLC 来表示该数据库,

4、则该关系模式为: U = Sno,Sname,Sdept,Loca,Cno,Grade,9,5.1.1 关系模型可能存在的异常(续),假设有以下语义: (1)学生的学号是唯一的。 (2)一个系有若干个学生,但一个学生只能在一个系学习。 (3)同一个系的学生住在同一个区域。 (4)一个学生可以选修多门课程,每门课程可以被多个学生选修。 (5)每个学生选修一门课程有一个成绩。,10,5.1.1 关系模型可能存在的异常(续),关系模式 SLC U = Sno,Sname,Sdept,Loca,Cno,Grade F Sno Sname, Sno Sdept, Sdept Loca, (Sno, Cn

5、o) Grade ,函数依赖表示方法,11,5.1.1 关系模型可能存在的异常(续),上述关系存在以下几个方面的问题: 数据冗余太大 更新异常 插入异常 删除异常 结论: SLC关系模式不是一个好的关系模式 好的关系模式:应该不会发生插入异常、更新异常和删除异常,并且数据库的冗余要尽可能地少。,12,5.1.2 异常原因分析,在关系模式SLC中,(Sno,Cno)为主键。SLC中U上的一组函数依赖F: F = Sno Sname, Sno Sdept, Sdept Loca, (Sno, Cno) Grade 可表示成如图5.1所示:,13,5.1.2 异常原因分析(续),在关系模式SLC中:

6、 Grade完全由主键(Sno,Cno)决定 Sname、Sdept的值由Sno(主键的一部分)决定 Loca的值由Sdept决定,与Sno无直接联系 关系SLC中存在的这些函数依赖就是问题的根本所在,即关系模式中的属性并非完全是由主键确定,有一部分属性只与键的一部分有关。把无直接联系的属性放在一起构成关系模式,必然会产生上述的异常情况。,14,5.1.2 异常原因分析(续),将SLC改造为以下3个关系模式: S(Sno,Sname,Sdept,SnoSname,SnoSdept) L(Sdept,Loca,SdeptLoca) SC(Sno,Cno,Grade,(Sno,Cno)Grade)

7、 这3个关系模式都不会发生插入异常、更新异常和删除异常的情况,并且数据的冗余也得到了较好的控制。,15,5.2.1 函数依赖的定义,定义5.1 设R(U)是属性集U上的关系模式。X和Y是U的子集。若对于R(U)上的任意一个可能的关系r,如果 r 中不可能存在两个元组,它们在 X 上的属性值相等,而在 Y 上的属性值不等,则称X函数决定Y或 Y 函数依赖于 X,记作XY。 其中X 称为这个函数依赖的决定属性组,或称为决定因素,Y 称作被决定因素。 若Y不函数依赖于X,记作X Y。 若XY,且YX,则记作XY。,16,5.2.1 函数依赖的定义(续),对于函数依赖,有以下几点具体说明: (1)函数

8、依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的所有关系均要满足的约束条件。 (2)函数依赖是语义范畴的概念,只能根据语义来确定一个函数依赖。例如,SnameSno这个函数依赖只有在学生不重名的情况下才能成立。如果允许有重名,则Sno就不能函数依赖Sname。 (3)现实中,设计者可以作出强制性的规定以满足需要的函数依赖关系。例如,可以规定不允许同名学生存在,从而保证SnameSno成立。,17,5.2.2 几种特殊的函数依赖,一、平凡函数依赖与非平凡函数依赖 定义5.2 在关系模式R(U)中,对于U的子集X和Y,如果XY,但Y X,则称XY是非平凡的函数依赖。 若XY,但Y X

9、, 则称XY是平凡的函数依赖 例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) Grade 平凡函数依赖: (Sno, Cno) Sno,(Sno, Cno) Cno 任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明, 我们总是讨论非平凡函数依赖。,18,5.2.2 几种特殊的函数依赖(续),二、完全函数依赖与部分函数依赖 定义5.3 在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X,都有 X Y, 则称Y完全函数依赖于X,记作X Y。 若XY,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X P Y。

10、例: 在关系SC(Sno, Cno, Grade)中, 由于:Sno Grade,Cno Grade, 因此:(Sno, Cno) Grade,19,5.2.2 几种特殊的函数依赖(续),三、传递函数依赖 定义5.4 在关系模式R(U)中,如果XY,YZ,且YX,YX,则称Z传递函数依赖于X,记作X t Z。 注:如果XY,YX,则XY,实际上XZ就是直接函数依赖,而不是传递函数依赖。 例如,在关系模式SLC(Sno,Sname,Sdept,Loca,Cno,Grade)中,(Sno,Cno) f Grade 是完全函数依赖;(Sno,Cno) p Sname是部分函数依赖;由于 SnoSde

11、p,SdeptLoca,所以Sno t Loca是传递依赖依赖。,20,5.2.3 键,定义5.5 设K是关系模式R中的属性或属性组合,若K f U,则K为R的候选键(Cadidate Key)。若候选键多于一个,则选定其中的一个为主键(Primary Key)。 主属性:包含在任何一个候选键中的属性 全键:整个属性组是键,21,5.2.3 键(续),定义5.6 关系模式R中属性或属性组X并非R的键,但X是另一个关系模式的键,则称X是R的外部键(Foreign Key),简称外键。 关系间的联系,可以通过同时存在于两个或多个关系中主键和外键的取值来建立。 所以,主键和外键提供了一个表示关系间联

12、系的途径。,22,5.3 规范化,规范化的基本思想 减少关系模式中存在的数据冗余 消除数据依赖中存在的不合理的部分 解决插入异常、更新异常和删除异常问题。 这就要求在数据库设计时,关系模式应满足一定的条件。,23,5.3.1 范式及其类型,范式:为不同程度的规范化设立的不同标准。 关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。 范式的种类: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 第五范式(5NF) “第几范式”是表示关系的某一种级别,所以称某一关系模式R为第几范式,24,5.3.1 范式及其类型(续),现在把

13、范式理解成是符合某一种级别的关系模式的集合。 某一关系模式R为第n范式,可简记为RnNF。 各种范式之间存在以下的关系:,规范化: 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的集合,这个过程就叫规范化。,25,5.3.2 第一范式(1NF),定义5.7 如果关系模式R的所有属性都是不可分的数据项,则称R属于第一范式,记为R1NF。 在关系数据库中,第一范式是对关系模式的最低要求,不满足第一范式的数据库模式不能称为关系数据库。 但是满足第一范式的关系模式并不一定是一个好的关系模式。,26,5.3.2 第一范式(1NF)(续),关系模式SLC(Sno,Sname,Sdept,

14、Loca,Cno,Grade),由于每个属性不可再分,所以SLC1NF。 我们知道,该模式存在着数据冗余、插入异常、更新异常和删除异常。,原因是含有不合适的函数依赖:,27,5.3.2 第一范式(1NF)(续),(Sno,Cno) f Grade (Sno,Cno) p Sname, Sno Sname (Sno,Cno) p Sdept, Sno Sdept (Sno,Cno) p Loca, Sno Loca 函数依赖中,只有属性Grade对键(Sno,Cno)是完全函数依赖,而其它非主属性对键都是部分函数依赖,导致数据操作中出现了异常问题。 所以需要对关系模式SLC进行投影分解,向高一级

15、范式转化。,函数依赖:,28,5.3.3 第二范式(2NF),定义5.8 若关系模式R1NF ,并且每一个非主属性都完全函数依赖于R的码,则 R2NF。,关系模式SLC中,Sno、Cno为主属性,Sname、Sdept、Loca、Grade均为非主属性。只有Grade对键是完全函数依赖,其余非主属性对键均为部分函数依赖,所以SLC2NF。,29,5.3.3 第二范式(2NF)(续),采用投影分解法,将部分函数依赖从SLC中分离出来,得到以下两个关系模式: SC(Sno,Cno,Grade) SL(Sno,Sname,Sdept,Loca) 其中,SC的键为(Sno,Cno),SL的键为Sno。

16、,30,5.3.3 第二范式(2NF)(续),分解后关系模式SC和LC中的非主属性对键都是完全函数依赖,所以: SC2NF, SL2NF。 显然,在SLC模式中存在的一些异常问题在一定程度上得到了解决。,但是,将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。,31,5.3.3 第三范式(3NF),定义5.9 关系模式R 中若不存在这样的键X、属性组Y及非主属性Z(Z Y), 使得XY,YZ,成立,且YX,则称R3NF。,可以证明:若R3NF ,则每一个非主属性既不部分函数依赖于码,也不传递函数依赖于码。,32,5.3.3 第三范式(3NF)(续),由定义5.9可知: SC(Sno,Cno,Grade,(Sno,Cno) Grade)3NF SL(Sn

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

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

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