习题集第5章关系理论.docVIP

  • 15
  • 0
  • 约7.68万字
  • 约 12页
  • 2016-12-22 发布于贵州
  • 举报
第7章 关系数据库设计理论 7.1 学习要点 关系数据库设计理论是关系数据库的又一个重点。关系数据库的逻辑设计主要是设计关系模式,而深入了解函数依赖和码的概念则是设计和分解关系模式的基础。学习本章的目的有两个。一个是理论方面的,,r是R的任一具体关系。设t1、t2是关系r中的任意两个元组,如果t1[X]=t2[X],有t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记作X→Y。 在关系模式R(U)中,X, Y是U的子集,若X→Y,且存在X(X,使X→Y,则称X→Y是部分函数依赖(partial functional dependency),记作XY。 在关系模式R(U)中,X, Y是U的子集,若X→Y,Y→Z,并且Y不函数依赖于X,则称Z传递函数依赖于X。 包含候选码的属性或属性组称为超码(Super key)。 设有关系模式R(U),X、Y为U的子集,Z=U-XY,r是R的任一关系,如果r中存在两个元组t1、t2满足t1 [X]= t2 [X],则r中必然存在两个元组t3、t4,使得 (1) t3 [X]= t4 [X]= t1 [X]= t2 [X] (2) t3 [Y]= t1 [Y]且t4 [Y]= t2 [Y] (3) t3 [Z]= t2 [Z]且t4 [Z]= t1 [Z] 则称X→→Y是多值依赖(multivalued dependency, MVD), X多值决定Y。 2.设有关系模式R(ABCDE),有函数依赖集F={A(B, AB(D, E(AD,E(C}和G={ A(BD, E(AC },判断F和G是否等价。 答: AG+=ABD, EG+=ABCDE,可知F中的函数依赖A(B、AB(D、E(AD、E(C都属于G+,所以F(G+;AF+=ABD, EF+=ABCDE,可知G中的函数依赖A(BD, E(AC都属于F+,所以G(F+。 根据引理5.3,F与G等价。 3.设有一关系模式R(ABCD),其函数依赖集F={A→BC,B→C,AB→C,AC→D},求F的最小依赖集Fmin。 答: (1) 首先用分解规则将F中所有的函数依赖的右部属性单一化。得F={ A→B ,A→C,B→C,AB→C, AC→D }。 (2) 去掉F中多余的依赖。具体做法是:从第一个函数依赖(假设为X→Y)开始,把它从F中去掉,求X+,若X+包含Y,则X→Y是多余的,要去掉;若X+不包含Y,则不能去掉X→Y。检查全部依赖后可得G。显然G符合最小函数依赖集定义5.6的条件(2)。 这里,对于A→B,由于(A)+ =ACD不包含B,所以不能去掉;而由于从F中去掉A→C 后,A+ =ABCD,包含了C,所以A→C是多余的,从F中去掉;接下去B→C不能去掉,而且AB→C 明显多余,从F中去掉;(AC)+ =ABC不包含D,所以AC→D不能去掉,最后得G={A→B,B→C,AC→D }。 (3) 去掉F2中的函数依赖左边的多余的属性。具体做法是:检查F中所有左边是非单属性的函数依赖,如XY→A,要判断Y是否为多余属性,只要在F中求X+,若X+包含A,则Y是多余属性,否则Y不是多余属性。该题G中AC→D的C属性多余,去掉后得到的函数依赖集Fmin={A→B,B→C,A→D }。 4.设有关系模式R(ABCDE),其函数依赖F={A(BC,CD(E,B(D,E(A},试求 (1) 计算B+。 (2) 求R的所有码。 答: (1)根据算法5.1,令X(0) = B 在F中找出左边是B的子集的函数依赖,有B→D; X(1) =BD 因为X(1)≠X(0), 继续在F中找出左边是BD的子集的函数依赖,由于不存在这样的函数依赖,所以不必再计算下去了。 结果为:B+ = BD。 (2)因为A+ = ABCDE,E+ = ABCDE,(BC)+ = ABCDE,(CD)+ = ABCDE,B+ = BD,C+ = C,D+ = D,所以候选码为A、E、BC、CD。 5. 试验证上题4中的R的以下两个分解是否具有无损连接性: (1={R1(ABC), R2(ADE)} (2={R1(ABC), R2(CDE)}。 答: 对于(1={R1(ABC), R2(ADE)},R1∩R2=A,R1–R2=BC,R2–R1=DE,根据A+ = ABCDE知(R1∩R2)→(R1–R2)和(R1∩R2)→(R2–R1)都满足,根据定理5.4,分解具有无损连接性。 对于(2={R1(ABC), R2(CDE)},R1∩R2=C,R1–R2=AB,R2–R1=DE,根据C+ = C知(R1∩R2)→(R1–R2)和(R1∩R2)→(R2

文档评论(0)

1亿VIP精品文档

相关文档