配色: 字号:
自考本科计算机关系模式设计理论
2012-06-11 | 阅:  转:  |  分享 
  
第三章关系模式设计理论学习目的与要求:本章特点是理论性较强,学习者应从概念着手,搞清概念间的联系和作用。本章总的要求是:
了解关系数据库规范化理论及其在数据库设计中的作用。本章的重点是函数依赖、无损分解、保持依赖和范式。掌握这些概念并能运用它们分
析模式分解的特点。考核知识点与考核要求3.1关系模式的设计准则(简单应用)3.2函数依赖(FD)(简单应用)
3.3关系模式的分解特性(简单应用)3.4范式1NF、2NF、3NF(简单应用)BCNF(领会)分解成BCN
F模式集的“分解算法”(识记)分解成3NF模式集的“合成算法”(综合应用)模式设计方法小结(领会)3.5多值依赖
和第四范式(识记)3.1关系模式的设计准则1.关系模式的冗余和异常问题1)数据冗余2)操作异常(修改异常、插入异常和删除
异常)2.关系模式的非形式化设计准则1)关系模式的设计应尽可能只包含有直接联系的属性,不包括有间接联系的属性2
)关系模式的设计应尽可能使得相应关系中不出现插入、删除和修改异常。3)关系模式的设计应尽可能使得相应关系中避免放置经常为空值
的属性。4)关系模式的设计应尽可能使得关系的等值连接在主键和外键的属性上进行,并且保证连接以后不会生成额外的元组。3.2
函数依赖1.函数依赖的定义设有关系模式R(A1,A2,...An)或简记为R(U),X,Y是U的子集,r是R的任一具体
关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记
为X→Y。X→Y为模式R的一个函数依赖。这个定义可以这样理解:有一张设计好的二维表,X,Y是表的某些列(可以是一列,也可以是
多列),若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值也相等,这就是说Y函数依赖于X。2.函数依
赖的逻辑蕴涵设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y
,记为F|=X→Y。而函数依赖的闭包F+是指被F逻辑蕴涵的函数依赖的全体构成的集合。3.键和FD的关系键是唯
一标识实体的属性集。对于键和函数依赖的关系:有两个条件:设关系模式R(A1,A2...An),F是R上的函数依赖集,X是R的一个子
集:1?X→A1A2...An∈F+(它的意思是X能够决定唯一的一个元组)2?不存在X的真子集Y,使得Y也能决定唯一
的一个元组,则X就是R的一个候选键。(它的意思是X能决定唯一的一个元组但又没有多余的属性集)包含在任何一个候选键中的属性称为
主属性,不包含在任何键中的属性为非主属性(非键属性),(注意)主属性应当包含在候选键中。4.函数依赖(FD)的推理规则
前面我们举的例子中是以实际经验来确定一个函数依赖的逻辑蕴涵,但是我们需要一个推理规则才能完全确定F或F+的所有函数依赖。设
有关系模式R(U),X,Y,Z,W均是U的子集,F是R上只涉及到U中属性的函数依赖集,推理规则如下:A1?自反性:如果YX
U,则X→Y在R上成立。A2?增广性:如果X→Y为F所蕴涵,ZU,则XZ→YZ在R上成立。(XZ表示X∪Z,下同)
A3?传递性:如果X→Y和Y→Z在R上成立,则X→Z在R上成立。A4?合并性:如果X→Y和X→Z成立,那么X→YZ成立。A6?
分解性:如果X→Y和ZY成立,那么X→Z成立。A5?伪传性:如果X→Y和WY→Z成立,那么WX→Z成立。A7?复合性:{X→
Y,W→Z}|=XW→YZ。A8?通用一致性定理:{X→Y,W→Z}|=x∪(X-Y)→YZ。5.函数依赖
推理规则的完备性函数依赖推理规则系统(自反性、增广性和传递性)是完备的。由推理规则的完备性可得到两个重要结论:1?属性
集X+中的每个属性A,都有X→A被F逻辑蕴涵,即X+是所有由F逻辑蕴含X→A的属性A的集合。2?F+是所有利用A
mstrong推理规则从F导出的函数依赖的集合。6.函数依赖集的等价和覆盖在关系模式R(U)上的两个函数依赖集F和G,
如果满足F+=G+,则称F和G是等价的,称F和G等价也称F覆盖G或G覆盖F。每个函数依赖集F都可以被一个
右部只有单属性的函数依赖集G所覆盖。如果函数依赖集合F满足:(1)F中每一个函数依赖的右部都是单属性;(2)F
中的任一函数依赖X→A,其F-{X→A}是不等价的;(3)F中的任一函数依赖X→A,Z为X的子集。(F-{X→A})∪{Z→
A}与F不等价。则称F为最小函数依赖集合。如果函数依赖集F和G等价,并且G是最小集,那么称G是F的一个最小覆盖。
这一段并不要求掌握最小集的求法,但是应当通过其求法理解最小集的概念。3.3关系模式分解特性1.模式分解中存在的问题
模式分解就是将一个泛关系模式R分解成数据库模式ρ,以ρ代替R的过程。它不仅仅是属性集合的分解,它是对关系模式上的函
数依赖集、以及关系模式的当前值分解的具体表现。分解一个模式有很多方法,但是有的分解会出现失去函数依赖、或出现插入、删除异常等
情况,而有的分解则不出现相关问题。衡量一个分解的标准有三种:分解具有无损联接;分解要保持函数依赖;分解既要保持依赖,又要具
有无损联接。那么什么是无损联接呢?什么又是保持依赖?2.无损联接的定义和性质设R是一关系模式,分解成ρ={R1
,R2,...,Rk},F是R上的一个函数依赖集。无损联接就是指R中每一个满足F的关系r(也就是一个关系实例)都有r=πR1(
r)|X|πR2(r)...|X|πR3(r),即r为它在Ri上的投影的自然联接。最简单的理解,也就是说,分解后的关
系自然连接后完全等于分解前的关系,则这个分解相对于F是无损联接分解。设R的分解为ρ={R1,R2},F为R所满足的函数
依赖集,则分解ρ具有无损联接性的充分必要条件是:R1∩R2→(R1-R2)R1∩R2→(R2-R1)也就是说
,分解后的两个模式的交能决定这两个模式的差集,即R1、R2的公共属性能够函数决定R1或R2中的其他属性,这样的分解就必定是无损联接
分解。3.保持函数依赖的分解在分解过程中,要求模式分解的无损联接是必要的,只有无损联接分解才能保证任何一个关系能由它的
那些投影进行自然联接得到恢复。同时,分解关系模式时还应保证关系模式的函数依赖集在分解后仍在数据库模式中保持不变,这就是保持
函数依赖的问题。也就是所有分解出的模式所满足的函数依赖的全体应当等价于原模式的函数依赖集。只有这样才能确保整个数据库中数据的语义完
整性不受破坏。3.4范式1.1NF、2NF、3NF、BCNF的定义:1NF:第一范式即关系模式中的属性的
值域中每一个值都是不可再分解的值。如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。2NF:第
二范式如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称为第二范式模式。非主属性、完全
函数依赖、候选键三个名词的含义。候选键就是指可以唯一决定关系模式R中某元组值且不含有多余属性的属性集。非主属性也
就是非键属性,指关系模式R中不包含在任何建中的属性。设有函数依赖W→A,若存在X?W,有X→A成立,那么称W→A是局部依赖,
否则就称W→A是完全函数依赖。在分析是否为第2范式时,应首先确定候选键,然后把关系模式中的非主属性与键的依赖关系进行考察,
是否都为完全函数依赖,如是,则此关系模式为2NF。如果数据库模式中每个关系模式都是2NF的,则此数据库模式属于2NF的数据库模式。
3NF:第三范式如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R为第三范式的模式。这里
首先要了解传递依赖的含义:在关系模式中,如果Y→X,X→A,且X不决定Y和A不属于X,那么Y→A是传递依赖。注意的是,这里要
求非主属性都不传递依赖于候选键。BCNF:这个范式和第三范式有联系,它是3NF的改进形式。若关系模式R是第一范式,且每
个属性都不传递依赖于R的候选键。这种关系模式就是BCNF模式。纵观四种范式,可以发现它们之间存在如下关系:5.分解
成BCNF模式集的算法对于任一关系模式,可找到一个分解达到3NF,且具有无损联接和保持函数依赖性。而对于BCNF分解,则可以
保证无损联接但不一定能保证保持函数依赖集。无损联接分解成BCNF模式集的算法:(1)置初值ρ={R};(2
)如果ρ中所有关系模式都是BCNF,则转(4);(3)如果ρ中有一个关系模式S不是BCNF,则S中必能找到一个函数依赖集X
→A有X不是S的键,且A不属于X,设S1=XA,S2=S-A,用分解S1,S2代替S,转(2);(4)分解结束。输
出ρ。在这个过程中,重点在于(3)步,判断哪个关系不是BCNF,并找到X和A。这里,S的判断用BCNF的定义,而X不是S的
键则依靠分析。6.分解成3NF模式集算法:(1)如果R中的某些属性在F的所有依赖的左边和右边都不出现,那么这
些属性可以从R中分出去,单独构成一个关系模式。(2)如果F中有一个依赖X→A有XA→R,则ρ={R},转(4)(3)对于F中每一个X→A,构成一个关系模式XA,如果F有有X→A1,X→A2...X→An,则可以用模式XA1A2...An代替n个模式XA1,XA2...XAn;(4)w分解结束,输入ρ。这个过程的重点是这一句“对于F中每一个X→A,构成一个关系模式XA”,这使我们的分解十分容易,然后依据合并律(合并律:如果X→Y和X→Z成立,那么X→YZ成立)将有关模式合并即得到所需3NF模式。
献花(0)
+1
(本文系有事就能解...首藏)