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

下载本文档

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

文档简介

数据库系统概论AnIntroductiontoDatabaseSystem第六章关系数据理论.候选码的求解理论和算法对于给定的关系R(A1,A2,…,An)和函数依赖集F,可将其属性分为四类:L类:仅出现在F的函数依赖左部的属性。R类:仅出现在F的函数依赖右部的属性。N类:在F的函数依赖左右两边均未出现的属性。LR类:在F的函数依赖左右两边均出现的属性。.快速求解候选码定理1:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,则X必为R的任一候选码的成员。 例:设有关系模式R(A,B,C,D),F={D→B,B→D,AD→B,AC→D},求R的所有候选码。推论1:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,且X+包含了R的全部属性,则X必为R的惟一候选码。.快速求解候选码(续)定理2:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是R类属性,则X不在任何候选码中。

定理3:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是N类属性,则X必包含在R的任一候选码中。.快速求解候选码

例:设有关系模式R(A,B,C,D,E,F),F={A→D,E→D,D→B,BC→D,DC→A},求R的所有候选码。推论2:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是N类和L类属性组成的属性集,且X+包含了R的全部属性,则X必为R的惟一候选码。.第五章关系数据理论6.1数据依赖6.2规范化6.3数据依赖的公理系统6.4模式的分解.6.4模式的分解关系模式的规范化过程是通过对关系模式的分解来实现的把低一级的关系模式分解为若干个高一级的关系模式的方法并不是唯一的只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义.模式的分解(续)定义6.16关系模式R<U,F>的一个分解:ρ={R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>}

(其中U=U1∪U2∪…∪Un,且不存在Ui

Uj,Fi为F在Ui上的投影),意味着相应地将存储在一个二维表中的数据分散到若干个二维表中去。.模式的分解(续)例:SL(Sno,Sdept,Sloc)

F={Sno→Sdept,Sdept→Sloc,Sno→Sloc}SL∈2NF存在插入异常、删除异常、冗余度大和修改复杂等问题因此需要分解该关系模式,使成为更高范式的关系模式。分解方法可以有多种:.模式的分解(续)SL──────────────────Sno Sdept Sloc──────────────────95001CSA95002ISB95003MAC95004ISB95005 PH B──────────────────.模式的分解(续)第一种分解方法:将SL分解为下面三个关系模式:

SN(Sno)SD(Sdept)SO(Sloc).分解后的关系为:

SN──────SD──────SO──────SnoSdeptSloc

──────────────────95001CSA95002ISB95003MAC95004PH─────95005────────────.模式的分解(续) SN、SD和SO都是规范化程度很高的关系模式(5NF)。但分解后的数据库丢失了许多信息例如无法查询95001学生所在系或所在宿舍。因此这种分解方法是不可取的。如果分解后的关系可以通过自然连接恢复为原来的关系,那么这种分解就没有丢失信息.模式的分解(续)第二种分解方法: 将SL分解为下面二个关系模式:

NL(Sno,Sloc)DL(Sdept,Sloc)分解后的关系为:

NL────────────DL────────────SnoSlocSdeptSloc

────────────────────────95001A CSA95002B ISB95003C MAC95004B PHB95005B──────────────────────.模式的分解(续)NLDL─────────────SnoSlocSdept─────────────95001ACS95002BIS95002BPH95003CMA95004BIS95004BPH95005BIS95005BPH.模式的分解(续) NLDL比原来的SL关系多了3个元组

无法知道95002、95004、95005

究竟是哪个系的学生

元组增加了,信息丢失了.第三种分解方法第三种分解方法:

将SL分解为下面二个关系模式:

ND(Sno,Sdept)NL(Sno,Sloc)

分解后的关系为:

.模式的分解(续)ND────────────NL──────────SnoSdeptSnoSloc

──────────────────────95001CS95001A95002IS95002B95003MA95003C95004IS95004B95005PH95005B

───────────────────────.模式的分解(续)NDNL──────────────SnoSdeptSloc──────────────

95001CSA95002ISB95003MAC95004CSA95005PHB──────────────与SL关系一样,因此没有丢失信息.具有无损连接性的模式分解关系模式R<U,F>的一个分解ρ={R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>}若R与R1、R2、…、Rn自然连接的结果相等,则称关系模式R的这个分解ρ具有无损连接性(Losslessjoin)具有无损连接性的分解保证不丢失信息无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题.模式的分解(续)

第三种分解方法具有无损连接性,保证了不丢失原关系中的信息,但它并没有解决更新异常和数据冗余问题。例如95001学生由CS系转到IS系,ND关系的(95001,CS)元组和NL关系的(95001,A)元组必须同时修改,否则会破坏数据库的一致性。之所以出现上述问题,是因为这种分解得到的关系模式不是互相独立的,分解没有保持原关系中的函数依赖。SL中的函数依赖Sdept→Sloc没有投影到关系模式ND、NL上

.保持函数依赖的模式分解设关系模式R<U,F>被分解为若干个关系模式R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>(其中U=U1∪U2∪…∪Un,且不存在UiUj,Fi为F在Ui上的投影),若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的(Preservedependency)。.第四种分解方法

将SL分解为下面二个关系模式:

ND(Sno,Sdept)DL(Sdept,Sloc)

这种分解方法就保持了函数依赖。.关系模式分解的标准判断对关系模式的一个分解是否与原关系模式等价的标准⒈分解具有无损连接性⒉分解要保持函数依赖⒊分解既要保持函数依赖,又要具有无损连接性.模式的分解(续)如果一个分解具有无损连接性,则它能够保证不丢失信息。如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况。分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定能够保持函数依赖。同样,保持函数依

温馨提示

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

最新文档

评论

0/150

提交评论