第六章 关系数据规范化设计理论

上传人:dfg****19 文档编号:242863130 上传时间:2024-09-10 格式:PPT 页数:40 大小:291.50KB
返回 下载 相关 举报
第六章 关系数据规范化设计理论_第1页
第1页 / 共40页
第六章 关系数据规范化设计理论_第2页
第2页 / 共40页
第六章 关系数据规范化设计理论_第3页
第3页 / 共40页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,六,章 关系数据规范化设计理论,6,.1,问题的提出,6,.2,规范化,6,.3,数据依赖的公理系统,6,.4,模式的分解,6,.5,小结,6,.1,问题的提出(?),对于一个给定的实际的数据库应用系统需求,如何将所涉及到的数据组织存入到数据库中?,数据是放在一个表中还是分放在多个表中?,每个表应由哪些属性组成?怎样设计才是科学的合理的?,科学合理的判断标准是什么?,关系数据库逻辑设计的理论依据,-,关系数据库的规范化设计理论,一、关系模式的形式化定义,为描述问题方便,将关系模式看成由三部分组成,,即它是一个三元组:,R(U, F),R,:,关系名,U,:,组成该关系的属性名集合,F,:,属性间数据的依赖关系集合,当且仅当,U,上的一个关系,r,满足,F,时,,r,称为关系模式,R,(,U, F,)的一个关系。,二、什么是数据依赖,定义:一个关系内部属性与属性之间的约束关系,现实世界属性间相互联系的抽象,通过一个关系中属性间值的相等与否体现出来的数据间的相互关系。,语义,的体现,类型,函数依赖(,Functional Dependency,,简记为,FD,),多值依赖(,Multivalued,Dependency,,简记为,MVD,),函数依赖的定义:,函数依赖是指属性之间的这种约束关系:一个或一组属性的值可以决定其他属性的值。,一般地,若,X,、,Y,是关系模式中两个不同的属性(组),如果,Y,函数依赖于,X,,或说,X,函数决定,Y,,则其依赖关系可表示为:,X Y,。,举例,如描述一个学生的关系,有学号、姓名、性别、年龄等属性,,一个学号唯一对应一个学生,因此当“学号”的值确定之后,学生,的姓名以及性别、年龄等属性的值也就唯一确定了。,我们称之为,学号函数决定姓名,,或者说,姓名函数依赖于学号,。,表示为:,学号,姓名,学号,性别,学号,年龄,二、什么是数据依赖,三、,数据依赖对关系模式的影响,例,1,现假定在一个描述学生成绩管理的数据库中,存在这样的一个关系模式,XSCJ,。表示为:,XSCJ(,Sno,SName,Sdept, Director ,Cno,,,Cname,Cscore,),该关系模式反映如下数据语义:,一个系有多名学生,而一名学生只属于一个系;,一个系只有一名主任,一名系主任也只在一个系任职;,一名学生可选修多门课程,而每门课程可由多名学生选修,每个学生学习一门课程有一个成绩,根据语义可以得到如下函数依赖集:,F=,Sno,SName,Sno,Sdept,SdeptDirector,Cno,Cname,,,(,Sno,,,Cno,) ,Cscore,Sno,Sname,Sdept,Director,Cno,Cname,Cscore,S1,张强,计算机系,李军,C01,数据库,85,S2,王红,计算机系,李军,C01,数据库,90,S3,周颖,电子系,张弛,C01,数据库,75,S1,张强,计算机系,李军,C02,数据结构,80,S2,王红,计算机系,李军,C02,数据结构,56,表,6.1 XSCJ,表,三、数据依赖对关系模式的影响,思考:这个关系是否存在问题?,三、数据依赖对关系模式的影响,一个,“不好”,的关系模式可能存在的问题:,数据冗余(,Data Redundancy,),插入异常(,Insertion Anomalies),删除异常(,Deletion Anomalies ),更新异常(,Update Anomalies,),结论:,XSCJ,关系模式不是一个好的模式。,“,好,”,的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。,原因,:,关系模式中存在某些,不合适的数据依赖,。,解决方法,:进行规范化处理,,消除不合适的数据依赖,-,模式分解,6,.2,规范化,规范化理论,是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。,规范化理论在,1971,年由,E.F.Kodd,提出,主要研究如何根据一个关系所具有的数据依赖情况来判定其是否具有某些不合适的性质。,对于任何一个关系,最低要求是每一个属性是不可再分的数据项,满足这个条件的关系模式即为,第一范式,。,按属性间依赖情况,关系规范化程度分为,1NF, 2NF, 3NF, BCNF, 4NF, 5NF,。,6,.2.1,函数依赖中的基本概念,函数依赖,平凡函数依赖与非平凡函数依赖,完全函数依赖与部分函数依赖,传递函数依赖,一、函数依赖,定义,6,.1,设,R(U),是一个属性集,U,上的关系模式,,X,和,Y,是,U,的子集。若对于,R(U),的,任意,一个可能的关系,r,,,r,中不可能存在两个元组在,X,上的属性值相等,而在,Y,上的属性值不等, 则称 “,X,函数确定,Y,”,或 “,Y,函数依赖于,X”,,,记作,XY,。,说明,:,(,1,)对,R,中所有关系实例而言;,(,2,)函数依赖是语义范畴的概念。,只能根据数据的语义来确定函数依赖,。,(,3,)如,X,Y,X,称为决定属性集;,(,4,)如,X,Y,并且,Y,X,则记为,X,Y,;,(,5,)若,Y,不函数依赖于,X,,记作,X,Y,。,二、平凡函数依赖与非平凡函数依赖,在关系模式,R(U),中,对于,U,的子集,X,和,Y,,,如果,XY,,但,Y,X,,则称,XY,是非平凡的函数依赖,如果,XY,,但,Y,X,则称,XY,是平凡的函数依赖,例:在关系,SC(Sno,Cno, Grade),中,,非平凡函数依赖:,(,Sno,Cno,) ,Grade,平凡函数依赖:,(,Sno,Cno,) ,Sno,(,Sno,Cno,) ,Cno,三、完全函数依赖与部分函数依赖,定义,6.2,在,R(U),中,如果,XY,,,并且对于,X,的任何一个真子集,X,,,都有,X Y,则称,Y,对,X,完全函数依赖,,,记作,X,F,Y,。,若,XY,,但,Y,不完全函数依赖于,X,,,则称,Y,对,X,部分函数依,赖,记作,X,P,Y,。,例:在关系,SC1(Sno,Sname,,,Sdept,,,Cno,,,Grade),中,,完全函数依赖:(,Sno,,,Cno,),Grade,部分函数依赖:,(,Sno,Cno)Sdept,因为,Sno,Sdept,成立,且,Sno,是(,Sno,,,Cno,)的真子集。,四、传递函数依赖,定义,6,.3,在,R(U),中,如果,XY,,,(Y,X) ,YX ,YZ,, 则,称,Z,对,X,传递函数依赖,。,记为:,X,Z,注,:,如果,YX,, 即,XY,,则,Z,直接依赖于,X,。,例,:,在关系模式,XSCJ,中,,XSCJ(,Sno,SName,Sdept, Director ,Cno,,,Cname,Cscore,),存在:,Sno,Sdept,,,Sdept,Director,所以,Director,传递函数依赖于,Sno,传递,6,.2.2,候选码,定义,6.4,设,K,为,R,中的属性或属性组合。若,K,U,,,则,K,称为,R,的,侯选码,(,Candidate Key,),简称为码。,例如设,R(A,,,B,,,C,,,D,,,E),,存在这样的函数依赖集合:,F,ABCDE,,,EABCD,,,该关系模式的候选码为:,AB,,,E,。,F,6.2.3,关系模式的规范化,范式(,Normal Form,),1NF,2NF,3NF,BCNF,一、 范式,范式,是关系模式的规范形式。,关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。,范式的种类:,第一范式,(1NF),第二范式,(2NF),第三范式,(3NF),BC,范式,(BCNF),第四范式,(4NF),第五范式,(5NF),各种范式之间存在联系:,某一关系模式,R,为第,n,范式,可简记为,RnNF,。,关系模式的规范化是指将一个低级范式通过,模式分解,逐步转换为若干个高级范式的过程。其过程实质上是以结构更简单、更规则的关系模式逐步取代原有关系模式的过程。,模式规范化的目的在于控制数据冗余、避免插入和删除异常的操作,从而增强数据库结构的稳定性和灵活性,。,在关系模式的设计时,一般要求达到,3NF,或者,BCNF,即可。,一、 范式,1NF,定义,如果一个关系模式,R,的所有属性都是不可分的基本数据项,则,R1NF,。,第一范式是对关系模式的最起码的要求,。不满足第一范式的数据库模式不能称为关系数据库,但是满足第一范式的关系模式并不一定是一个好的关系模式。,例,2,关系模式,S-L-,C(Sno,Sdept,Sloc,Cno, Grade),Sloc,为学生住处,假设每个系的学生住在同一个地方。,函数依赖包括:,(,Sno,Cno,),F,Grade,Sno,Sdept,,,(,Sno,Cno,),P,Sdept,Sno,Sloc,,,(,Sno,Cno,),P,Sloc,Sdept,Sloc,主码为(,Sno,Cno,),1NF,Sno,Cno,Grade,Sdept,Sloc,S-L-C,(1),插入异常,(2),删除异常,(3),数据冗余度大,(4),修改复杂,S-L-C,不是一个,“,好,”,的关系模式:,1NF,原因:,存在,Sdept,、,Sloc,对码(,Sno,,,Cno,)的部分函数依赖。,解决方法:,消除其中的部分函数依赖,将部分函数依赖于码的非主属性及其决定属性移出,组成一个新的关系。,将,S-L-C,分解为两个关系模式:,SC,(,Sno,,,Cno,,,Grade,),S-L,(,Sno,,,Sdept,,,Sloc,),关系模式,SC,的码为(,Sno,,,Cno,),关系模式,S-L,的码为,Sno,这样,非主属性对码都是完全函数依赖,1NF,定义,若,R1NF,,且每一个非主属性完全函数依赖于码,则,R2NF,。,例:,S-L-,C(Sno,Sdept,Sloc,Cno, Grade) 1NF,SC,(,Sno,,,Cno,,,Grade,) ,2NF,S-L,(,Sno,,,Sdept,,,Sloc,) ,2NF,即不存在非主属性对码的部分函数依赖。,如果码中只包含一个属性且属于,1NF,,则,R,必属于,2NF,。,S-L-C,分解后的,S-L,和,SC,关系模式都属于,2NF,。分解后异常情况减少。,关系模式,S-,L(sno,sdept,sloc,),仍存在操作异常,(?),2NF,3NF,定义,1,若关系模式,R 2NF,,而且它的任何一个,非主属性都不传递依赖于,R,的任何候选码,,则称,R 3NF,。,定义,2,关系模式,R,中若不存在这样的码,X,、属性组,Y,及非主属性,Z,(,Z,Y,),使得,XY,,,YZ,成立,,Y X,,则称,R 3NF,。,若,R3NF,,则每一个非主属性既不部分依赖于码也不传递依赖于码。,例,3,关系模式,S-,L(Sno,Sdept,Sloc,),中,,函数依赖:,SnoSdept,Sno,Sdept,Sdept,Sloc,可得:,Sno,Sloc,,,即,S-L,中存在非主属性对码的传递函数依赖,,S-L ,3NF,传递,3NF,解决方法: 消除传递依赖,采用投影分解法,把,S-L,分解为两个关系模式,(,1,),S-D,(,Sno,,,Sdept,),(,2,),D-L,(,Sdept,,,Sloc,),分解后的关系模式,S-D,与,D-L,中不再存在传递依赖,Sno,Sdept,Sloc,100,CS,1,120,IS,3,130,MS,4,150,IS,2,180,MS,5,进行分解,可以,消除传递依赖,SNO,Sdept,Sdept,Sloc,100,CS,CS,1,120,IS,IS,3,130,MS,MS,4,150,IS,IS,2,180,MS,MS,5,3NF,BCNF,例,4,在关系模式,STC,(,Sno,,,Tno,,,Cno,)中,,Sno,表示学生,,Tno,表示教师,,Cno,表示课程。,相关语义如下:每个教师只教一门课,每门课有若干个老师讲授,某个学生选定一门课,就对应一个固定教师。,函数依赖:,(,Sno,,,Cno,) ,Tno,,,(,Sno,,,Tno,) ,Cno,,,Tno,Cno,(,Sno,,,Cno,),和(,Sno,,,Tno,),都是候选码,STC 3NF,STC,关系模式同样存在操作异常 (?),原因:,存在主属性,Cno,对码的部分依赖。,F,P,BCNF,定义:,关系模式,R,1NF,,若,XY,且,Y,X,时,X,必含有码,则,R,BCNF,。,等价于:每一个决定因素都包含码,若,R,BCNF,所有非主属性对每一个码都是完全函数依赖,所有的主属性对每一个不包含它的码,也是完全函数依赖,R BCNF R 3NF,充分,不必要,如果,R3NF,,且,R,只有一个候选码,R BCNF R 3NF,充分,必要,如果一个关系数据库中的所有关系模式都属于,BCNF,,那么在函数依赖依赖范畴内,它已实现了模式的彻底分解,达到了最高的规范化程度。,BCNF,规范化小结,关系数据库的规范化理论是数据库逻辑设计的工具,规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它“分离”出去。因此所谓,规范化实质上是概念的单一化,。,关系模式规范化的基本步骤,1NF,消除非主属性对码的部分函数依赖,消除决定属性,2NF,集非码的非平 ,消除非主属性对码的传递函数依赖,凡函数依赖,3NF,消除主属性对码的部分和传递函数依赖,BCNF,消除非平凡且非函数依赖的多值依赖,4NF,规范化小结,不能说规范化程度越高的关系模式就越好!,在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式,上面的规范化步骤可以在其中任何一步终止,.,通常在实际工程应用中,每个关系模式达到,3NF,即可满足要求。,规范化小结,6.4,关系模式的投影分解,把低一级的关系模式分解为若干个高一级的关系模式的方法不是唯一的。,只有能够,保证分解后的关系模式与原关系模式等价,,分解方法才有意义。,要保证分解后的关系模式与原关系模式等价。有三种标准:,(,1,)分解具有无损连接性。,(,2,)分解要保持函数依赖。,(,3,)分解既要保持函数依赖,又解要保持无损连接性。,6.4,关系模式的投影分解,关系模式:,SL,(,sno,,,sdept,,,sloc,),分解方法有:,方法一:,SN,(,sno,),SD(sdept,),,,SO,(,sloc,),丢失了很多有用的信息,分解不能保持函数依赖,不具有无损连接性。,方法二:,NL,(,sno,,,sloc,),,DL,(,sdept,,,sloc,),分解能保持函数依赖,但不具有无损连接性。,方法三:,ND(sno,,,sdept,),,,NL,(,sno,,,sloc,),分解具有无损连接性,但不能保持函数依赖 。,方法四:,ND(sno,,,sdept,),,,DL,(,sdept,,,sloc,),分解既能保持函数依赖,又具有无损连接性。,如果一个分解具有无损连接性,则它能够保证不丢失信息,如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况,分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定能够保持函数依赖;同样,保持函数依赖的分解也不一定具有无损连接性。,6.4,关系模式的投影分解,设关系模式,R,(,U,,,F,),被分解为若干个关系模式,R1,(,U1,,,F1,),,R2,(,U2,,,F2,),.,Rn,(,Un,,,Fn,),(,其中,U=U1U2Un,,,且不存在,Ui,包含,于,Uj,中,,Ri,为,F,在,Ui,上的投影),,若,R,与,R1,,,R2.,Rn,自然连接的结果相等,,则称关系模式,R,的分解具有,无损连接性。,只有具有无损连接性的分解才能保证不丢失信息。,例如方法三:,ND(sno,,,sdept,),,,NL,(,sno,,,sloc,),分解具有无损连接性,但不能保持函数依赖 。,6.4,关系模式的投影分解,无损连接性,设关系模式,R,(,U,,,F,),被分解为若干个关系模式,R1,(,U1,,,F1,),,R2,(,U2,,,F2,),.,Rn,(,Un,,,Fn,),(,其中,U=U1U2Un,,,且不存在,Ui,包含于,Uj,中,,Ri,为,F,在,Ui,上的投影),若,F,所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖,Fi,所逻辑蕴含,则称关系模式,R,的分解具有保持函数依赖。,方法四:,ND(sno,,,sdept,),,,DL,(,sdept,,,sloc,),分解既能保持函数依赖,又具有无损连接性。,保持函数依赖,6.4,关系模式的投影分解,学号,姓名,性别,专业,年级,课程成绩,课号,课名,学时,学分,教师,师号,成绩,S1,S2,张三,李四,男,女,CS,CS,98,99,C1,C2,C3,C4,C5,C2,DB,DS,OS,MA,PH,DS,60,60,80,120,90,60,3,3,4,6,5,3,赵,钱,孙,李,周,赵,M1,M9,M4,M7,M2,M1,90,70,85,90,75,86,6.4,关系模式的投影分解,练习,1:,现有一个未规范化的表,包含了学生、课程、授课等信息。请采用规范化方法,将该表规范化到,3NF,。,练习,2:,现有一个未规范化的表,包含了项目、部件和部件向项目已提供的数量信息。请采用规范化方法,将该表规范化到,3NF,。,部件号,部件名,现有,数量,项目,代号,项目,内容,项目,负责人,已提供,数量,205,CAM,30,12,AAA,01,10,20,BBB,02,15,210,COG,155,12,AAA,01,30,25,CCC,11,25,30,DDD,12,15,6.4,关系模式的投影分解,习题:,1,、理解并给出下列术语的定义:,函数依赖、部分函数依赖、完全函数依赖、候选码、,2NF,、,3NF,、,BCNF,。,2,、建立一个关于系、学生、班级、学会等诸信息的关系数据库。描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。,描述班级的属性有:班号、专业名、系名、人数、入校年份。描述系的属性有:系名、系号、系办公室地点、人数。描述学会的属性有:学会名、成立年份、地点、人数。有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。,请给出关系模式,并根据语义写出每个关系模式的函数依赖集,指出是否存在传递函数依赖、部分函数依赖,。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 方案规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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