数据库原理及应用第6章——关系数据库规范化理论

上传人:倏*** 文档编号:243133768 上传时间:2024-09-16 格式:PPT 页数:31 大小:332.50KB
返回 下载 相关 举报
数据库原理及应用第6章——关系数据库规范化理论_第1页
第1页 / 共31页
数据库原理及应用第6章——关系数据库规范化理论_第2页
第2页 / 共31页
数据库原理及应用第6章——关系数据库规范化理论_第3页
第3页 / 共31页
点击查看更多>>
资源描述
*,数据库设计的任务,是在给定的应用环境下,创建满足用户需求且性能良好的关系模式、建立数据库及其应用系统,使之能有效存储和管理数据,满足用户需求。,规范化理论,研究的是关系模式中各属性之间的依赖关系及其对关系模式性能的影响,探讨,“,好,”,的关系模式应具备的性质。,1,第,6,章 关系数据库规范化理论,6.1,函数依赖,6.2,关系规范化,2,6.1,函数依赖,一、函数依赖基本概念,公式:,Y,=,f,(,X,),自变量,因变量,把,X,函数决定,Y,,或,Y,函数依赖于,X,表示为:,X,Y,关系数据库中的函数依赖注重,语义,上的关系, 比如: 省,=f(,城市,),3,定义:如果有一个关系模式,R,(,A1,A2,An,),,,X,和,Y,为,A1,A2,An,的子集,那么对于关系,R,中的任意一个,X,值,都只有一个,Y,值与之对应,则称,X,函数决定,Y,,或,Y,函数依赖于,X,。,例如:对学生关系模式:,Student,(,Sno,SName,Sdept, Sage,),有:,SnoSName,SnoSdept,SnoSage,对学生修课关系模式:,SC,(,Sno,Cno, Grade,),有:,(,Sno,Cno,),Grade,4,形式化定义:,设有关系模式,R,(,A1,A2,An,),,,X,和,Y,均为,A1,A2,An,的子集,,r,是,R,的任一具体关系,,t1,、,t2,是,r,中的任意两个元组;如果,t1,X,=,t2,X,t1,Y,=,t2,Y,,,则称,X,函数决定,Y,,或,Y,函数依赖于,X,,,记为,X,Y,。,5,二、一些术语和符号,设有关系模式,R,(,A1,A2,An,),,,X,和,Y,均为,A1,A2,An,的子集,如果,X,Y,,但,Y,不包含,于,X,,,则称,X,Y,是,非平凡的函数依赖。,如果,Y,不函数依赖于,X,,,则记作,X Y,。,如果,X,Y,,,则称,X,为决定因子。,如果,X,Y,,,并且,Y,X,,,则记作,X Y,。,如果,X,Y,,,并且对于,X,的一个任意真子集,X,都有,X,Y,,,则称,Y,完全函数依赖于,X,,,记作,X Y,;如果,X,Y,成立,则称,Y,部分函数依赖于,X,,,记作,X Y,。,如果,X,Y,(,非平凡函数依赖,并且,Y X,)、,Y,Z,,,则称,Z,传递函数依赖,于,X,。,6,例,1,:有关系模式:,SC,(,Sno,Sname,Cno,Credit,Grade,),主码为(,Sno,Cno,),函数依赖关系有:,SnoSname,(,Sno,Cno,),Sname,(,Sno,Cno,),Grade,7,例,2,:有关系模式:,S,(,Sno,Sname,Dept,Dept_master,),假设一个系只有一个主任,主码为,Sno,。,函数依赖关系有:,Sno,Sname,由于:,Sno,Dept,Dept,Dept_master,所以有:,Sno,Dept_master,8,三、为什么要讨论函数依赖,设有描述学生修课及住宿情况的关系模式:,S-L-C,(,Sno,Sdept,Sloc,Cno,Grade,),Sno,Sdept,SLOC,Cno,Grade,9812101,计算机,2,公寓,DB,80,9812101,计算机,2,公寓,OS,85,9821101,信息,1,公寓,C,90,9821101,信息,1,公寓,DS,84,9821102,信息,1,公寓,OS,78,存在问题,数据冗余问题,数据更新问题,数据插入问题,数据删除问题,9,6.2,关系规范化,一、关系模式中的码,1,、候选码,设,K,为,R,(,U,F,),中的属性或属性组,若,K,fU,,则,K,为,R,候选码,。(,K,为决定,R,全部属性值的最小属性组)。,主码,:关系,R,(,U,F,),中可能有多个候选码,则选其中一个作为主码,全码,:候选码为整个属性组。,主属性,与,非主属性,:,在,R,(,U,F,),中,包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性。,10,例:,SC,(,Sno,,,Cno,,,Grade,),其,候选码为,:(,Sno,,,Cno,),也为主码,则,主属性为,:,Sno,,,Cno,,,Grade,为非主属性,2,、外码,定义:若,R,(,U,,,F,),的属性(组),X,(,X,属于,U,),是另一个关系,S,的主码,则称,X,为,R,的外码。,例:,S(,Sno,Sname,Ssex,Sdept,Sage,),SC(,Sno,Cno,Grade,),11,二、范式,关系数据库中的关系要满足一定的要求,,满足不同程度要求的为不同的,范式,。满足最低,要求的为,第一范式,,简称,1NF,(,First Normal,Form,)。在第一范式中进一步满足一些要求的,为,第二范式,,简称,2NF,,,依此类推,还有,3NF,,,BCNF,,,4NF,,,5NF,。,12,1,、第一范式,定义:,不包含重复组的关系(即不包含非,原子项的属性)是第一范式的关系,。,系名称,高级职称人数,教授,副教授,计算机系,6,10,信息管理系,3,5,电子与通讯系,4,8,系名称,教授,副教授,计算机系,6,10,信息管理系,3,5,电子与通讯系,4,8,13,2,、第二范式,定义:,如果,R,(,U,F,)1NF,,,并且,R,中的每个,非主属性都完全函数依赖于主码,则,R,(,U,F,)2NF,。,例:,S-L-C,(,Sno,Sdept,Sloc,Cno,Grade,),就不是,2NF,的。,因为(,Sno,Cno,),是主码,,而又有:,SnoSdept,因此有:,(,Sno,,,Cno,),Sdept,14,分解过程为:,用,组成主码的属性集合的每一个子集作为主码构成一个表,将依赖于这些主码的属性放置到相应的表中,去掉只由主码的子集构成的表,S-L-C,关系模式分解后的形式为:,S-L,(,Sno,Sdept,Sloc,),S-C,(,Sno,Cno,Grade,),S-L,有:,Sno,Sdept,,,Sno,SLOC,:,是,2NF,S-C,有,:,(,Sno,Cno,),Grade,:,是,2NF,数据冗余,插入异常,15,3,、第三范式,定义:,如果,R,(,U,F,) 2NF,,,并且所有非主属,性都不传递依赖于主码,则,R,(,U,F,) 3NF,。,关系模式,S-L,(,Sno,Sdept,Sloc,),因为有:,SnoSdept,,,SdeptSloc,因此有:,Sno,Sloc,因此,不是,3NF,的关系模式。,16,分解过程:,(,1,)对于不是候选码的每个决定因子,从表中,删去依赖于它的所有属性;,(,2,)新建一个表,新表中包含在原表中所有依,赖于该决定因子的属性;,(,3,)将决定因子作为新表的主码。,S-L,分解后的关系模式为:,S-D,(,Sno,Sdept,),S-L,(,Sdept,Sloc,),对,S-D,,,有:,Sno,Sdept,,,因此,S-D,是,3NF,的,对,S-L,,,有:,Sdept,Sloc,,,因此,S-L,也是,3NF,的,17,4,、,BCNF,BCNF,也叫,Boyce-,Codd,范式,它,是,3NF,的进一,步规范化,即限制条件更严格。,例如:设关系模式,TCS,(,T,,,C,,,S,),,T,表示教师,,C,表示课程,,S,表示学生。语义假设是,每一位教师只讲授一门课程;每门课程由多个教师讲授;某一学生选定某门课程,就对应于一确定的教师。,根据语义假设,,TCS,的函数依赖是:,(,S,,,C,),T,,(,S,,,T,),C,,,TC,。,18,对于,TCS,,(,S,,,C,)和(,S,,,T,)都是候选键,两个候选键相交,有公共的属性,S,。,TCS,中不存在非主属性,也就不可能存在非主属性对键的部分依赖或传递依赖,所以,TCS,3NF,。,但从,TCS,的一个关系实例分析,仍存在一些问题。,T,C,S,T1,C1,S1,T1,C1,S2,T2,C1,S3,T2,C1,S4,T3,C2,S2,T4,C2,S2,T4,C3,S2,19,A,、,数据冗余,。虽然每个教师只开一门课,但每个选修该教师该门课程的学生元组都要记录这一信息。,B,、,插入异常,。当某门课程本学期不开,自然就没有学生选修。没有学生选修,因为主属性不能为空,教师上该门课程的信息就无法插入。,C,、,删除异常,。如果选修某门课程的学生全部毕业,删除学生记录的同时,随之也删除了教师开设该门课程的信息。,D,、,更新异常,。当某个教师开设的某门课程改名后,所有选修该教师该门课程的学生元组都要进行修改,如果漏改某个数据,则破坏了数据的完整性。,20,定义:,若关系模式,R1NF,,,且能决定其它属性取,值的属性(组)必定包含码,则,RBCNF,。,或者,我们也可以说:,如果一个关系的每个,决定因子都是候选码,则其是,BCNF,。,或者:,如果,R3NF,,,并且不存在主属性对非,码的函数依赖,则其,是,BCNF,。,BCNF,规范化:把,3NF,关系模式通过投影分解转换成,BCNF,关系模式的集合。,将,TCS,分解为两个关系模式,ST,(,S,,,T,)和,TC,(,T,,,C,)。其中,ST,的键为,S,,,TC,的键为,T,;,ST,,,TC,。,ST,BCNF,,,TC,BCNF,。,21,1NF,2NF,3NF,BCNF,消除决定属性不是候选键的非平凡的函数依赖,消除非主属性对键的部分函数依赖,消除非主属性对键的传递函数依赖,消除主属性对键的部分和传递函数依赖,关系规范化步骤,22,6.3,关系模式的分解准则,模式分解要满足:,模式分解具有,无损连接性,;,模式分解能够,保持函数依赖,。,无损连接是指分解后的关系通过自然连接,可以恢复成原来的关系,,即通过自然连接得到,的关系与原来的关系相比,既不多出信息、又,不丢失信息。,保持函数依赖分解是指在模式的分解过程,中,函数依赖不能丢失的特性,,即模式分解不,能破坏原来的语义。,23,例:,S-D-L,(,Sno,,,Dept,,,Sloc,),有函数依赖:,Sno, Dept,,,Dept Loc,不是第三范式的。,三种分解方案,分别为:,方案,1,:,S-L,(,Sno,,,Sloc,),,D-L,(,Dept,,,Sloc,),方案,2,:,S-D,(,Sno,,,Dept,),,S-L,(,Sno,,,Sloc,),方案,3,:,S-D,(,Sno,,,Dept,),,D-L,(,Dept,,,Sloc,),这三种分解方案得到的关系模式都是第三范,式的,那么如何比较这三种方案的好坏呢?由此,在将一个关系模式分解为多个关系模式时除了提,高规范化程度之外,还需要考虑,其他的一些因,素,。,24,S_D_L,关系模式某时刻的数据,(r),Sno,Dept,Sloc,S01,D1,L1,S02,D2,L2,S03,D2,L2,S04,D3,L1,Sno,Sloc,S01,L1,S02,L2,S03,L2,S04,L1,Dept,Sloc,D1,L1,D2,L2,D3,L1,Sno,Dept,Sloc,S01,D1,L1,S01,D3,L1,S02,D2,L2,S03,D2,L2,S04,D1,L1,S04,D3,L1,S_L(r,11,) D_L (r,12,),r,1,1*,r,12,(r),方案一,25,无损连接性,将关系模式,R,分解为关系模式,R,1,,,R,2,,,,,R,n,,,若对于,R,中的任何一个可能的,r,,,都有,r,r,1*,r,2*,*,r,n,,即,r,在,R,1,,,R,2,,,,,R,n,上的投影的自然连接等于,r,,,则称关系模式,R,的这个分解具有,无损连接性,。,26,Sno,Sloc,S01,L1,S02,L2,S03,L2,S04,L1,Sno,Dept,S01,D1,S02,D2,S03,D2,S04,D3,Sno,Dept,Sloc,S01,D1,L1,S02,D2,L2,S03,D2,L2,S04,D3,L1,S_D(r,21,) S_L (r,22,),S_D_L,关系模式某时刻的数据,(r),Sno,Dept,Sloc,S01,D1,L1,S02,D2,L2,S03,D2,L2,S04,D3,L1,r,2,1*,r,22,(r),方案二,27,方案,2,自然连接后恢复成了原来的关系,因,此,分解方案,2,具有无损连接性。,但如果假设学生,S03,从,D2,系转到了,D3,系,则,需在,r21,中将,(,S03,D2,),改为,(,S03,D3,),,同,时还需要在,r22,中将,(,S03,L2,)改为,(,S03,L1,),。如果这两个修改没有同时进行,,则数据库中就会出现不一致信息。这是由于这样,分解得到的两个关系模式没有保持原来的函数依,赖关系造成的。原有的函数依赖,Dept ,Sloc,在,分解后跨在了两个关系模式上。因此,分解方案,2,没有保持原有的函数依赖关系,也不是好的分解,方法,。,28,分解方案,3,既满足无损连接性,又保持了原,有的函数依赖关系,因此它是有个好的分解方,法。,分解具有无损连接性和分解保持函数依赖是,两个独立的标准。具有无损连接性的分解不一定,保持函数依赖;保持函数依赖的分解不一定具有,无损连接性。,一般情况下,在进行模式分解时,应将有直,接依赖关系的属性放置在一个关系模式中,,这样,得到的分解结果一般能具有无损连接性,并能保,持函数依赖关系不变。,29,本章小结,关系规范化理论,是设计没有操作异常的关系数据库表的基本原则,规范化理论主要是研究关系表中各属性之间的,依赖,关系。,范式,(1NF,、,2NF,、,3NF),模式分解,30,作业,(,教材,p-73 ),习题,1,、,2,、,8,31,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械制造 > 机械制造


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

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


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