数据库原理第17讲ppt课件_第1页
数据库原理第17讲ppt课件_第2页
数据库原理第17讲ppt课件_第3页
数据库原理第17讲ppt课件_第4页
数据库原理第17讲ppt课件_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、An Introduction to Database System数据库系统概论数据库系统概论An Introduction to An Introduction to Database SystemDatabase System第六章第六章 关系数据实际关系数据实际An Introduction to Database System候选码的求解实际和算法候选码的求解实际和算法n对于给定的关系RA1,A2,An和函数依赖集F,可将其属性分为四类:nL类:仅出如今F的函数依赖左部的属性。nR类:仅出如今F的函数依赖右部的属性。nN类:在F的函数依赖左右两边均未出现的属性。nLR类:在F的函数依

2、赖左右两边均出现的属性。An Introduction to Database System快速求解候选码快速求解候选码n定理1:对于给定的关系方式R及其函数依赖集F,假设X(XR)是L类属性,那么X必为R的任一候选码的成员。n例:设有关系方式R(A,B,C,D), F=DB,BD,ADB,ACD,求R的一切候选码。n推论1:对于给定的关系方式R及其函数依赖集F,假设X(XR)是L类属性,且X包含了R的全部属性,那么X必为R的独一候选码。An Introduction to Database System快速求解候选码续快速求解候选码续n定理2:对于给定的关系方式R及其函数依赖集F,假设X(X

3、R)是R类属性,那么X不在任何候选码中。nn定理3:对于给定的关系方式R及其函数依赖集F,假设X(XR)是N类属性,那么X必包含在R的任一候选码中。An Introduction to Database System快速求解候选码快速求解候选码例:设有关系方式R(A,B,C,D,E,F), F=AD,ED, DB,BCD,DCA,求R的一切候选码。推论2:对于给定的关系方式R及其函数依赖集F,假设X(XR)是N类和L类属性组成的属性集,且X包含了R的全部属性,那么X必为R的独一候选码。An Introduction to Database System第五章第五章 关系数据实际关系数据实际6.

4、1 数据依赖6.2 规范化6.3 数据依赖的公理系统6.4 方式的分解An Introduction to Database System6.4 方式的分解方式的分解n关系方式的规范化过程是经过对关系方式的分解来实现的n把低一级的关系方式分解为假设干个高一级的关系方式的方法并不是独一的n只需可以保证分解后的关系方式与原关系方式等价,分解方法才有意义An Introduction to Database System方式的分解续方式的分解续定义定义6.16 关系方式关系方式R的一个分解:的一个分解:= R1,R2,Rn 其中其中U=U1U2Un,且不存在,且不存在 Ui Uj,Fi 为为 F在在

5、 Ui 上的投影,意味着相应上的投影,意味着相应地将存储在一个二维表中的数据分散到假设干地将存储在一个二维表中的数据分散到假设干个二维表中去。个二维表中去。An Introduction to Database System方式的分解续方式的分解续例: SLSno, Sdept, Sloc F= SnoSdept, SdeptSloc, SnoSloc SL2NF 存在插入异常、删除异常、冗余度大和修正复杂等问题因此需求分解该关系方式,使成为更高范式的关系方式。分解方法可以有多种 :An Introduction to Database System方式的分解续方式的分解续SL SnoSdep

6、tSloc 95001 CS A 95002 IS B 95003 MA C 95004 IS B 95005 PH B An Introduction to Database System方式的分解续方式的分解续n第一种分解方法:n将SL分解为下面三个关系方式:n SN(Sno)n SD(Sdept)n SO(Sloc)An Introduction to Database System分解后的关系为:分解后的关系为: SN SD SO S n o S d e p t Sloc 95001 CS A 95002 IS B 95003 MA C 95004 PH 95005 An Introd

7、uction to Database System方式的分解续方式的分解续SN、SD和SO都是规范化程度很高的关系方式5NF。但分解后的数据库丧失了许多信息 例如无法查询95001学生所在系或所在宿舍。因此这种分解方法是不可取的。 假设分解后的关系可以经过自然衔接恢复为原来的关系,那么这种分解就没有丧失信息An Introduction to Database System方式的分解续方式的分解续n第二种分解方法:n将 SL分解为下面二个关系方式:n NL(Sno, Sloc)n DL(Sdept, Sloc)n分解后的关系为:n NL DL n Sno Sloc Sdept Slocn n

8、95001 A CS An 95002 B IS Bn 95003 C MA Cn 95004 B PH Bn 95005 B n An Introduction to Database System方式的分解续方式的分解续NL DL Sno Sloc Sdept 95001 A CS 95002 B IS 95002 B PH 95003 C MA 95004 B IS 95004 B PH 95005 B IS 95005 B PH An Introduction to Database System方式的分解续方式的分解续NL DL比原来的SL关系多了3个元组 无法知道95002、950

9、04、95005 终究是哪个系的学生 元组添加了,信息丧失了An Introduction to Database System第三种分解方法第三种分解方法n第三种分解方法:n 将SL分解为下面二个关系方式:n ND(Sno, Sdept)n NL(Sno, Sloc)n 分解后的关系为:n An Introduction to Database System方式的分解续方式的分解续ND NL Sno Sdept Sno Sloc 95001 CS 95001 A 95002 IS 95002 B 95003 MA 95003 C 95004 IS 95004 B 95005 PH 95005

10、 B An Introduction to Database System方式的分解续方式的分解续 ND NL Sno Sdept Sloc 95001 CS A 95002 IS B 95003 MA C 95004 CS A 95005 PH B 与SL关系一样,因此没有丧失信息An Introduction to Database System具有无损衔接性的方式分解具有无损衔接性的方式分解n关系方式R的一个分解 = R1,R2, ,Rnn假设R与R1、R2、Rn自然衔接的结果相等,那么称关系n方式R的这个分解具有无损衔接性Lossless joinn具有无损衔接性的分解保证不丧失信息n

11、无损衔接性不一定能处理插入异常、删除异常、修正复杂、数据冗余等问题An Introduction to Database System方式的分解续方式的分解续 第三种分解方法具有无损衔接性,保证了不丧失原关系中的信息,但它并没有处理更新异常和数据冗余问题。例如95001学生由CS系转到IS系,ND关系的95001,CS元组和NL关系的95001,A元组必需同时修正,否那么会破坏数据库的一致性。 之所以出现上述问题,是由于 这种分解得到的关系方式不是相互独立的,分解没有坚持原关系中的函数依赖。 SL中的函数依赖SdeptSloc 没有投影到关系方式ND、NL上 An Introduction t

12、o Database System坚持函数依赖的方式分解坚持函数依赖的方式分解设关系方式R被分解为假设干个关系方式R1,R2,Rn 其中U=U1U2Un,且不存在Ui Uj,Fi为F在Ui上的投影,假设F所逻辑蕴含的函数依赖一定也由分解得到的某个关系方式中的函数依赖Fi所逻辑蕴含,那么称关系方式R的这个分解是坚持函数依赖的Preserve dependency。An Introduction to Database System第四种分解方法第四种分解方法 将SL分解为下面二个关系方式: ND(Sno, Sdept) DL(Sdept, Sloc) 这种分解方法就坚持了函数依赖。An Intr

13、oduction to Database System关系方式分解的规范关系方式分解的规范n判别对关系方式的一个分解能否与原关系方式等价的规范n 分解具有无损衔接性n 分解要坚持函数依赖n 分解既要坚持函数依赖,又要具有无损衔接性An Introduction to Database System方式的分解续方式的分解续n假设一个分解具有无损衔接性,那么它可以保证不丧失信息。n假设一个分解坚持了函数依赖,那么它可以减轻或处理各种异常情况。n分解具有无损衔接性和分解坚持函数依赖是两个相互独立的规范。具有无损衔接性的分解不一定可以坚持函数依赖。同样,坚持函数依赖的分解也不一定具有无损衔接性。An

14、Introduction to Database System方式的分解续方式的分解续第一种分解方法既不具有无损衔接性,也未坚持函 数依赖,它不是原关系方式的一个等价分解第二种分解方法坚持了函数依赖,但不具有无损连 接性第三种分解方法具有无损衔接性,但未持函数依赖第四种分解方法既具有无损衔接性,又坚持了函数 依赖An Introduction to Database System分解算法分解算法n规范化实际提供了一套完好的方式分解算法,按照这套算法可以做到:n假设要求分解具有无损衔接性,那么方式分解一定可以到达4NF。n假设要求分解坚持函数依赖,那么方式分解一定可以到达3NF,但不一定可以到达BCNF。n假设要求分解既具有无损衔接性,又坚持函数依赖,那么方式分解一定可以到达3NF,但不一定可以到达BCNF。An Introduction to Database System分解算法分解算法n算法6.2 判别一个分解的无损衔接性n算法6.3 合成法转换为3NF的坚持函数依赖的分解。n算法6.4 转换为3NF既有无损衔接性又坚持函数依赖的分解n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论