《数据库整理》第4章关系数据库理论.ppt

上传人:wuy****n92 文档编号:80477914 上传时间:2023-03-23 格式:PPT 页数:30 大小:492KB
返回 下载 相关 举报
《数据库整理》第4章关系数据库理论.ppt_第1页
第1页 / 共30页
《数据库整理》第4章关系数据库理论.ppt_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《《数据库整理》第4章关系数据库理论.ppt》由会员分享,可在线阅读,更多相关《《数据库整理》第4章关系数据库理论.ppt(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第4章章 关系数据库理论关系数据库理论 2 24.1 规范化问题的提出规范化问题的提出4.2 函数依赖函数依赖4.3 关系模式的分解关系模式的分解*4.4 关系模式的范式关系模式的范式4.5 关系模式的规范化关系模式的规范化 3 34.1 规范化问题的提出规范化问题的提出 4.1.1 规范化理论的主要内容规范化理论的主要内容关系数据库的规范化理论关系数据库的规范化理论 函数依赖函数依赖范式(范式(Normal Form)模式设计模式设计 核心,是模式分解和设计的基础 模式分解的标准衡量关系模式分解以后模式的好坏 设计一个合适的关系数据库系统,关键是关系数据库模式的设计。其设计一个合适的关系数

2、据库系统,关键是关系数据库模式的设计。其包含多少关系模式、每个关系模式包括的属性、以及关系模式间的联系,包含多少关系模式、每个关系模式包括的属性、以及关系模式间的联系,将决定数据库系统的运行效率。而这些工作需要在关系数据库的规范化理将决定数据库系统的运行效率。而这些工作需要在关系数据库的规范化理论的指导下逐步完成。论的指导下逐步完成。4 44.1.2 不合理的关系模式存在的存储异常问题不合理的关系模式存在的存储异常问题 教学管理数据库教学管理数据库SCD(SNo,SN,Age,Dept,MN,CNo,Score)在此关系模式中填入一部分具体的数据在此关系模式中填入一部分具体的数据SNo SN

3、Age Dept MN CNo Score S1 赵亦赵亦 17 计算机计算机 刘伟刘伟 C1 90S1 赵亦赵亦 17 计算机计算机 刘伟刘伟 C2 85 S2 钱尔钱尔 18 信息信息 王平王平 C557S2 钱尔钱尔 18 信息信息 王平王平 C680S2钱尔钱尔18信息信息王平王平C7 5 5SNo SN Age Dept MN CNo Score S1 赵亦赵亦 17 计算机计算机 刘伟刘伟 C1 90S1 赵亦赵亦 17 计算机计算机 刘伟刘伟 C2 85 S2 钱尔钱尔 18 信息信息 王平王平 C557S2 钱尔钱尔 18 信息信息 王平王平 C680S2钱尔钱尔18信息信息王

4、平王平C7 S2钱尔钱尔18信息信息王平王平C470S3孙珊孙珊20信息信息王平王平C175S3孙珊孙珊20信息信息王平王平C270S3孙珊孙珊20信息信息王平王平C485S4李思李思21自动化自动化刘伟刘伟C193该表出现的问题该表出现的问题 数据冗余数据冗余 插入异常插入异常 删除异常删除异常 更新异常更新异常 根本原因:属性间存根本原因:属性间存在着在着数据依赖关系数据依赖关系 包罗万象包罗万象 6 6一个好的关系模式应该具备以下四个条件:一个好的关系模式应该具备以下四个条件:(1)尽可能少的数据冗余;)尽可能少的数据冗余;(2)没有插入异常;)没有插入异常;(3)没有删除异常;)没有删

5、除异常;(4)没有更新异常。)没有更新异常。SCD(SNo,SN,Age,Dept,MN,CNo,Score)S(SNo,SN,Age,Dept)SC(SNo,CNo,Score)D(Dept,MN)关系模式分解:关系模式分解:原来的关系模式SCD称为泛模式,用一个大表存放所有数据,易于查询。但各种数据混在一起,数据间相互关联,导致维护困难。我们可以通过关系模式分解关系模式分解,得到更好的关系模式。按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模式转变为好的关系数据库模式,这就是关系的规范化。7 74.2 函数依赖函数依赖 4.2.1 函数依赖的定义函

6、数依赖的定义 对于关系模式对于关系模式SCD SNo决定函数(决定函数(SN,Age,Dept)(SN,Age,Dept)函数依赖于)函数依赖于SNo SCD(SNo,SN,Age,Dept,MN,CNo,Score)SNo一个学生一个学生SN,Age,Dept 惟一确定惟一确定 惟一确定惟一确定 关系模式中各属性之间相互依赖、相互制约的联系称为数据依赖。一般分关系模式中各属性之间相互依赖、相互制约的联系称为数据依赖。一般分为为函数依赖函数依赖、多值依赖和连接依赖,其中函数依赖是最重要的数据依赖。、多值依赖和连接依赖,其中函数依赖是最重要的数据依赖。函数依赖函数依赖(Functional De

7、pendency,FD)是关系模式中属性之间的一种逻是关系模式中属性之间的一种逻辑依赖关系。辑依赖关系。在关系模式分解中,函数依赖起着重要的作用。在关系模式分解中,函数依赖起着重要的作用。8 8函数依赖的定义函数依赖的定义定义定义4.1 设关系模式设关系模式R(U,F),U是属性全集,是属性全集,F是是U上的函数依赖集,上的函数依赖集,X和和Y是是U的子集,如果对于的子集,如果对于R(U)的任意一个可能的任意一个可能 关系关系r,对于,对于X的每一个具体的每一个具体值,值,Y都有一个唯一的具体值与之对应,则称都有一个唯一的具体值与之对应,则称X决定函数决定函数Y,或,或Y函数函数依赖于依赖于X

8、,记作,记作XY。我们称我们称X为决定因素、为决定因素、Y为依赖因素。当为依赖因素。当Y不函数依赖于不函数依赖于X时,记作:时,记作:X Y。当。当XY且且YX时,则记作:时,则记作:XY。UXY9 9函数依赖函数依赖 完全函数依赖完全函数依赖 部分函数依赖部分函数依赖 传递函数依赖传递函数依赖 10104.2.4 完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖 设有关系模式设有关系模式R(U),U是属性全集,是属性全集,X和和Y是是U的的子集:子集:如果如果XY,并且对于,并且对于X的任何一个真子集的任何一个真子集X,都有,都有X Y,则称,则称Y对对X完全函数依赖完全函数依赖,记作,

9、记作X Y。如果如果XY,并且对于并且对于X的某个真子集的某个真子集X,有,有XY,则称则称Y对对X部分函数依赖部分函数依赖,记作,记作X Y。在关系模式在关系模式SCD中,因为中,因为SNo Score,且,且CNo Score,所以有:,所以有:(SNo,CNo)Score。而。而SNoAge,所以所以(SNo,CNo)Age fpfp只有当决定因素是组合属性时,讨论部分函数依赖才有意义,当决定因素是单属性时,只能是完全函数依赖。11114.2.5 传递函数依赖传递函数依赖 设有关系模式设有关系模式R(U),U是属性全集,是属性全集,X,Y,Z是是U的子集的子集 若若XY,但但Y X,而,

10、而YZ(Y X,Z Y),则称),则称Z对对X传递函数依赖传递函数依赖,记作:,记作:X Z。如果如果YX,则,则X Y,这时称,这时称Z对对X直接函数依赖,直接函数依赖,而不是传递函数依赖。而不是传递函数依赖。例如:在关系模式例如:在关系模式SCD中,中,SNoDep,但,但Dept Sno,而而DeptMN,则有,则有Sno MN。tt此处略过关系模式分解的详细过程此处略过关系模式分解的详细过程如有兴趣可参见教材各具体的算法。如有兴趣可参见教材各具体的算法。121213134.4 关系模式的范式关系模式的范式 各种范式之间的关系各种范式之间的关系 关系模式分解以后模式的好坏,用什么标准衡量

11、?这个标准就是模式的关系模式分解以后模式的好坏,用什么标准衡量?这个标准就是模式的范式范式(Normal Forms,NF)关系模式规范化的基本思想就是消除数据冗余,消除数据依赖导致的插入、删除关系模式规范化的基本思想就是消除数据冗余,消除数据依赖导致的插入、删除等异常。我们把关系模式规范化的过程中为不同程度的规范化要求设立的不同标准等异常。我们把关系模式规范化的过程中为不同程度的规范化要求设立的不同标准称为范式。由于规范化程度不同,就产生了不同的范式。称为范式。由于规范化程度不同,就产生了不同的范式。14144.4.1 第一范式第一范式 定义定义4.14 如果关系模式如果关系模式R所有的属性

12、均为简单属所有的属性均为简单属性,即每个属性都是不可再分的,则称性,即每个属性都是不可再分的,则称R属于第属于第一范式,简称一范式,简称1NF,记作,记作R 1NF。1NF是关系模式应具备的最起码的条件。是关系模式应具备的最起码的条件。第一范式可能具有大量的数据冗余,具有插入异常、第一范式可能具有大量的数据冗余,具有插入异常、删除异常和更新异常等弊端。删除异常和更新异常等弊端。如关系模式如关系模式SCD属于属于1NF,它既存在完全函数依赖,又存,它既存在完全函数依赖,又存在部分函数依赖和传递函数依赖在部分函数依赖和传递函数依赖。克服这些弊端的方法是用投影运算将关系分解,去掉克服这些弊端的方法是

13、用投影运算将关系分解,去掉过于复杂的函数依赖关系,向更高一级的范式进行转过于复杂的函数依赖关系,向更高一级的范式进行转换。换。15154.4.2 第二范式第二范式 第二范式的定义第二范式的定义 如果关系模式如果关系模式R 1NF,且每个非主属性都完全函数依,且每个非主属性都完全函数依赖于赖于R的主关系键,则称的主关系键,则称R属于第二范式,简称属于第二范式,简称2NF,记作记作R 2NF。如:关系模式如:关系模式TCS(T,C,S)关系键关系键 (T,C,S);主属性;主属性 T、C、S 不存在非主属性对主关系键的部分函数依赖,因此属于不存在非主属性对主关系键的部分函数依赖,因此属于2NF。从

14、从1NF关系中消除非主属性对主关系键的关系中消除非主属性对主关系键的部分函数依赖部分函数依赖,则可得到,则可得到2NF如果如果R的关系键为单属性,或的关系键为单属性,或R的全体属性均为主属性,则的全体属性均为主属性,则R 2NF 16162NF规范化规范化 2NF规范化是指把规范化是指把1NF关系模式通过投影分解,转换关系模式通过投影分解,转换成成2NF关系模式的集合。关系模式的集合。例例4-15 将将SCD(SNo,SN,Age,Dept,MN,CNo,Score)规范为规范为2NF。学生学生SD(SNo,SN,Age,Dept,MN)学生与课程联系学生与课程联系SC(SNo,CNo,Sco

15、re)SCD非主属性对主键完全函数依赖。因此,非主属性对主键完全函数依赖。因此,SD 2NF,SC 2NF。17172NF的缺点的缺点 数据冗余数据冗余 插入异常插入异常 删除异常删除异常 更新异常更新异常 每个系名和系主任的名字存储的次数等于该系的学生人数每个系名和系主任的名字存储的次数等于该系的学生人数 当一个新系没有招生时,有关该系的信息无法插入当一个新系没有招生时,有关该系的信息无法插入 某系学生全部毕业而没有招生时,删除全部学生的记录也某系学生全部毕业而没有招生时,删除全部学生的记录也随之删除了该系的有关信息随之删除了该系的有关信息 更换系主任时,仍需改动较多的学生记录更换系主任时,

16、仍需改动较多的学生记录 之所以存在这些问题,是由于在SD中存在着非主属性对主键的传递函数依赖。SNOSN,SNoAge,SNoDept,DeptMN,SNo MN,即非主属性MN对主键SNo传递函数依赖。为此,对关系SD,还需进一步简化,消除这种传递函数依赖,这样就得到了3NF。t18184.4.3 第三范式第三范式 第三范式的定义第三范式的定义 如果关系模式如果关系模式R 2NF,且每个非主属性都不传递函,且每个非主属性都不传递函数依赖于数依赖于R的主关系键,则称的主关系键,则称R属于第三范式,简称属于第三范式,简称3NF,记作,记作R 3NF。如:如:SC(SNo,CNo,Score)函数

17、依赖为函数依赖为(SNo,CNo)Score,非主属性,非主属性Score不传递不传递函数依赖于主关系键(函数依赖于主关系键(SNo,CNo),因此,),因此,SC 3NF。又如:又如:SD(SNo,SN,Age,Dept,MN)SNoDep和和DeptMN SNo MN 非主属性非主属性MN与主关系键与主关系键SNo间存在着传递函数依赖,所以间存在着传递函数依赖,所以SD 3NF。主关系键主关系键 非主属性非主属性 t非主属性非主属性 主关系键主关系键 1919此处略去此处略去3NF规范化算法过程规范化算法过程 通过语义分析可知,关系通过语义分析可知,关系SD实际上描述了两个实体,一个为实际

18、上描述了两个实体,一个为学生实体,属性有学生实体,属性有SNo,SN,Age,Dept;另一个为系别的实体,;另一个为系别的实体,其属性有其属性有Dept和和MN,分解后的两个关系如下图所示。,分解后的两个关系如下图所示。消除了非主属性对主关系键的传递函数依赖,均属于消除了非主属性对主关系键的传递函数依赖,均属于3NF。S(SNO,SN,Age,Dept)描述学生实体;描述学生实体;D(Dept,MN)描述系的实体。描述系的实体。SNo SN Age DeptS1 赵亦赵亦 17 计算机计算机S2 钱尔钱尔 18 信息信息 S3孙珊孙珊20信息信息 S4李思李思21自动化自动化 Dept MN

19、 计算机计算机 刘伟刘伟 信息信息 王平王平 自动化自动化刘伟刘伟3NF解决了2NF中存在的四个问题:数据冗余降低了数据冗余降低了 不存在删除异常不存在删除异常 不存在更新异常不存在更新异常 不存在插入异常不存在插入异常 SCD规范到规范到3NF后,所存在冗余,插入、删除、更新等常现象已经全部后,所存在冗余,插入、删除、更新等常现象已经全部消失了。消失了。但但3NF只限制了非主属性对于键的依赖关系,而没有限制主属性对键的只限制了非主属性对于键的依赖关系,而没有限制主属性对键的依赖关系。如果发生这种依赖,仍有可能导致冗余、插入删除等异常。依赖关系。如果发生这种依赖,仍有可能导致冗余、插入删除等异

20、常。这时,就需要对这时,就需要对3NF进一步规范化,进一步规范化,消除主属性对于键的依赖关系消除主属性对于键的依赖关系。为。为此,此,Boyce和和Codd共同提出共同提出Boyce-Codd范式,简称范式,简称BCNF或或B范式,弥范式,弥补了补了3NF的不足。的不足。202021214.4.4 BC范式范式 BC范式的定义范式的定义 如果关系模式如果关系模式R 1NF,且所有的函数依赖,且所有的函数依赖XY(Y X),决定因素,决定因素X都包含了都包含了R的一个候选键,则称的一个候选键,则称R属于属于BC范式,记作范式,记作R BCNF。BCNF具有如下性质具有如下性质:如果如果R BCN

21、F,则,则R也是也是3NF。如果如果R 3NF,则,则R不一定是不一定是BCNF。例例4-18 设有关系模式设有关系模式SNC(SNo,SN,CNo,Score)无重名的情况下,有两个候选键无重名的情况下,有两个候选键(Sno,CNo)和和(SN,CNo)。唯。唯一的非主属性一的非主属性Score对键不存在部分函数依赖和传递函数对键不存在部分函数依赖和传递函数依赖,所以依赖,所以SNC 3NF。但是,但是,SNo SN即决定因素即决定因素Sno或或SN不包含候选键,不包含候选键,从另一角度说,从另一角度说,存在着主属性对键的部分函数依赖:(存在着主属性对键的部分函数依赖:(SNo,CNo)SN

22、,(,(SN,CNo)SNo,所以,所以SNC不是不是BCNF。2222分解分解S1(SNo,SN),S2(SNo,CNo,Score)代替代替SNC。分解结果为:分解结果为:S1(SNo,SN)描述学生实体;描述学生实体;S2(SNo,CNo,Score)描述学生与课程的联系。描述学生与课程的联系。例例4-20 设有关系模式设有关系模式TCS(T,C,S)候选键候选键:(:(S,C)和()和(S,T)函数依赖是函数依赖是:F=(S,C)T,(S,T)C,TC 分解分解TC(T,C),ST(S,T)代替代替TCS 消除了函数依赖消除了函数依赖(S,T)C,ST BCNF,TC BCNF BCN

23、F规范化规范化 以上我们完全是在函数依赖的范畴内讨以上我们完全是在函数依赖的范畴内讨论问题。属于论问题。属于BCNF的关系模式是否就很完的关系模式是否就很完美了呢?美了呢?2323 前面所介绍的规范化都是建立在函数依赖的基础上,函数依赖表示的是关系模式属性间一对一或一对多的联系,但它并不能表示属性间的多对多的关系,因而某些关系模式虽然已经规范到了BCNF,但仍然存在一些弊端。24244.4.5 多值依赖与第四范式多值依赖与第四范式 多值依赖的定义多值依赖的定义 假设学校中一门课程可由多名教师讲授,教学中他们使用相假设学校中一门课程可由多名教师讲授,教学中他们使用相同的一套参考书。同的一套参考书

24、。课程课程C 教师教师T 参考书参考书B 数据库原理数据库原理数据结构数据结构 吴胜利吴胜利陈晨陈晨王平王平张京生张京生 数据库原理与应用数据库原理与应用数据库系统数据库系统SQL Server 2000算法与数据结构算法与数据结构数据结构教程数据结构教程 关系关系CTB 2525CTB转化成规范化的关系如下图所示:转化成规范化的关系如下图所示:C与与T间的联系被称为多值依赖间的联系被称为多值依赖。多个多个T对应一个对应一个C,同样,同样C和和B之间也存在着类似的联系。之间也存在着类似的联系。一个确定的一个确定的C值,与其所对应的一组值,与其所对应的一组T值与值与B值无关值无关 课程课程C教师

25、教师T参考书参考书B数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据结构数据结构数据结构数据结构数据结构数据结构数据结构数据结构 吴胜利吴胜利吴胜利吴胜利吴胜利吴胜利陈晨陈晨陈晨陈晨陈晨陈晨王平王平王平王平张京生张京生张京生张京生 数据库原理与应用数据库原理与应用数据库系统数据库系统SQL Server2000数据库原理与应用数据库原理与应用数据库系统数据库系统SQL Server2000算法与数据结构算法与数据结构数据结构教程数据结构教程算法与数据结构算法与数据结构数据结构教程数据结构教程 数据冗余大数据冗余大 插入

26、异常插入异常 删除异常删除异常 关系模型关系模型TEACHING(C,T,B)的码是的码是(C,T,B),即即All_Key。因而因而TEACHING BCNF。2626定义定义4.18 设有关系模式设有关系模式R(U),),U是属性全集,是属性全集,X、Y、Z是属性集是属性集U的子集,且的子集,且Z=UXY如果对于如果对于R的任一关系,对于的任一关系,对于X的一个确定值,存在的一个确定值,存在Y的一组值与之对应,且的一组值与之对应,且Y的这组值仅仅决定于的这组值仅仅决定于X的值的值而与而与Z值无关,此时称值无关,此时称Y多值依赖于多值依赖于X,或,或X多值决定多值决定Y,记作,记作XY。若若

27、XY且且Z=UXY,则称,则称XY是非平凡是非平凡的多值依赖,否则称为平凡的多值依赖的多值依赖,否则称为平凡的多值依赖。2727第四范式(第四范式(4NF)定义)定义 定义定义4.19 设有一关系模式设有一关系模式R(U),),U是其属性全集,是其属性全集,X、Y是是U的子集,的子集,D是是R上的数据依赖集。如果对于上的数据依赖集。如果对于任一多值依赖任一多值依赖XY,此多值依赖是平凡的,或者,此多值依赖是平凡的,或者X包含了包含了R的一个候选关键字,则称的一个候选关键字,则称R是第四范式的关是第四范式的关系模式,记为系模式,记为R 4NF。一个一个BCNF的关系模式不一定是的关系模式不一定是

28、4NF4NF的关系模式必定是的关系模式必定是BCNF的关系模式的关系模式 4NF是是BCNF的推广的推广 由此定义可知:关系模式由此定义可知:关系模式CTB分解后产生的分解后产生的CTB1(C,T)和和CTB2(C,B)中,因为中,因为CT,CB均是平凡的多值依赖,所以均是平凡的多值依赖,所以CTB1和和CTB2都是都是4NF。28284.5 关系模式的规范化关系模式的规范化 一个低一级范式的关系模式,通过模式分解转化为若一个低一级范式的关系模式,通过模式分解转化为若干个高一级范式的关系模式的集合,这种分解过程叫干个高一级范式的关系模式的集合,这种分解过程叫作关系模式的作关系模式的规范化。规范

29、化。关系模式规范化的目的和原则关系模式规范化的目的和原则规范化的目的就是使结构合理,消除存储异常,使数规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。据冗余尽量小,便于插入、删除和更新。规范化的基本原则就是遵循规范化的基本原则就是遵循“一事一地一事一地”的原则,即的原则,即一个关系只描述一个实体或实体间的联系。一个关系只描述一个实体或实体间的联系。29294.5.2 关系模式规范化的步骤关系模式规范化的步骤规范化过程规范化过程 30304.5.3 关系模式规范化的要求关系模式规范化的要求 关系模式的规范化过程是通过对关系模式的投影关系模式的规范化过程是通过对关系模式的投影分解来实现的。在这些分解中,只有保证分解后分解来实现的。在这些分解中,只有保证分解后的关系模式与原关系模式是等价的,才有意义。的关系模式与原关系模式是等价的,才有意义。等价的三种标准:等价的三种标准:分解要具有无损连接性;分解要具有无损连接性;分解要具有函数依赖保持性;分解要具有函数依赖保持性;分解既要具有无损连接性,又要具有函数依赖保持性。分解既要具有无损连接性,又要具有函数依赖保持性。保证不丢失信息保证不丢失信息 减轻或解决各减轻或解决各种异常情况种异常情况

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com