数据库系统及应用(戴小平)课后答案 下载本文

内容发布更新时间 : 2024/12/24 1:06:26星期一 下面是文章的全部内容请认真阅读。

第 6 章 关系数据理论

6.1 习题 P167

A.1

6.1 名词解释:

范式,函数依赖,部分函数依赖,传递函数依赖,完全函数依赖,多值依赖 答案:

范式:范式是符合某一种级别的关系模式的集合。 函数依赖:设关系R(U)是属性集U上的关系模式,X、Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属件值相等,而在Y上的属性值不等,则称X函数决定Y,或Y函数依赖X.记作X→Y。

部分函数依赖:在R(U)中,如果X→Y,存在X的一个真子集X’,有X’ →Y, 则称Y对X部分函数依赖,记作X

传递函数依赖:在R(U)中,如果X→Y,(Y X) ,YX, Y→Z, 则称Z对X传递函数依赖。

第 25 页

Y 。

记为:X

Z

完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’ 全函数依赖,记作:X

Y。

Y, 则称Y对X完

多值依赖: 设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖 X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y

的值,这组值仅仅决定于x值而与z值无关。

A.2

6.7

6.7 设关系模式R(ABC),F是R上成立的FD集,

F={C→B, B→A}。

(1) 试说明R不是3NF模式的理由。 答案:

该关系的吗是C,因C→B、 B→A、BC,即A

C;故R不是3NF。

(2) 试把R分解成3NF模式集。 答案:

{R1(AB)、R2(BC)}。

A.3

6.8

6.8 设关系模式R,其中U={A, B, C, D, E,

第 26 页

F} ,函数依赖集F={A→C, C→A, B→AC, D→AC, BD→A}。

(1) 求出BF+。 答案: 解 设X(0)=B; (1) X(1)=B∪AC=ABC。 (2) X(0)≠ X(1) X(2)=X(1)。 (3)算法终止 (B)F+ =ABC。

(2) 求出F的最小函数依赖集。 答案:

C.1

解1:

(1) 根据分解规则把F中的函数依赖转换成右部都是单届性的函数依赖集合,分解后的函数依赖集仍用F表示。F={ A→C,C→A, B→A,B→C,D→A,D→C,BD→A}

(2) 去F中冗余的函数依赖。 ① 判断A→C是否冗余:

设:G1={ C→A, B→A,B→C,D→A,D→C,

?BD→A },得: AG1?A,

第 27 页

而C?A,故A→C不冗余。 ② 判断C→A是否冗余:

设:G2=={ A→C, B→A,B→C,D→A,D→C,

?BD→A},得: CG2?C ,

而A?C,∴故A→C不冗余。 ③ 判断B→A是否冗余:

设:G3=={ A→C,C→A, B→C,D→A,D→C,

?BD→A},得:BG3?ABC,

而A?ABC,∴故B→A冗余。。 ④ 判断B→C是否冗余:

设:G4=={ A→C,C→A,D→A,D→C,

?BD→A},得:BG4?B,

而C?B,∴ B→C不冗余。 ⑤ 判断D→A是否冗余:

设:G5=={ A→C,C→A, B→C,D→C,

?BD→A},得:DG5?ACD,

而A?ACD,∴ D→A冗余。 ⑥ 判断D→C是否冗余:

设:G6=={ A→C,C→A, B→C,BD→A},得:

?DG6?D,

而C?D,∴ D→C不冗余。 ⑦ 判断BD→A是否冗余:

第 28 页