收藏 分享(赏)

数据库系统原理练习题3).doc

上传人:jinchen 文档编号:5666894 上传时间:2019-03-11 格式:DOC 页数:17 大小:216.50KB
下载 相关 举报
数据库系统原理练习题3).doc_第1页
第1页 / 共17页
数据库系统原理练习题3).doc_第2页
第2页 / 共17页
数据库系统原理练习题3).doc_第3页
第3页 / 共17页
数据库系统原理练习题3).doc_第4页
第4页 / 共17页
数据库系统原理练习题3).doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、练习题 33.1 解释下列名词1函数依赖:设有关系模式 R(U) ,X 和 Y 是属性集 U 的子集,函数依赖(functional dependency,简记为 FD)是形为 XY 的一个命题,只要 r 是 R 的当前关系,对 r 中任意两个元组 t 和 s,都有 tX=sX蕴涵 tY=sY,那么称 FD XY 在关系模式 R(U)中成立。这里 tX表示元组 t 在属性集 X 上的值,其余类同。XY 读作“X 函数决定 Y”,或“Y 函数依赖于 X”。FD 是对关系模式 R 的一切可能的关系 r 定义的。对于当前关系 r 的任意两个元组,如果 X 值相同,则要求 Y 值也相同,即有一个 X

2、值就有一个 Y 值与之对应,或者说 Y 值由 X 值决定。因而这种依赖称为函数依赖。2平凡的函数依赖对于 FD XY,如果 Y X,那么称 XY 是一个“平凡的 FD”,否则称为“非平凡的FD”。正如名称所示,平凡的 FD 并没有实际意义,根据规则 A1 就可推出。人们感兴趣的是非平凡的 FD。只有非平凡的 FD 才和“真正的”完整性约束条件相关。从规则 A4 和 A5,立即可得到下面的定理。定理 3.3 如果 A1An 是关系模式 R 的属性集,那么 XA 1An 成立的充分必要条件是 XAi(i=1,,n)成立。3函数依赖集 F 的闭包 F+(Closure)设 F 是函数依赖集,被 F

3、逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集 F 的闭包(Closure) ,记为 F+。即F+= XY | F|=XY 。4属性集 X 的闭包 X+设 F 是属性集 U 上的 FD 集,X 是 U 的子集,那么(相对于 F)属性集 X 的闭包用X+表示,它是一个从 F 集使用 FD 推理规则推出的所有满足 XA 的属性 A 的集合:X+=属性 A | F|=XA 5函数依赖的逻辑蕴含设 F 是在关系模式 R 上成立的函数依赖的集合,XY 是一个函数依赖。如果对于 R 的每个满足 F 的关系 r 也满足 XY,那么称 F 逻辑蕴涵 XY,记为 F|=XY。6函数依赖集的等价如果关系模式 R

4、(U)上的两个函数依赖集 F 和 G,有 F+=G+,则称 F 和 G 是等价的函数依赖集。7最小依赖集如果函数依赖集 G 满足下列三个条件,则称为 G 是最小依赖集。(1)G 中每个 FD 的右边都是单属性。(2)G 中没有冗余的 F,即 G 中不存在这样的函数依赖 XY,使得 GXY与G 等价。(3)G 中每个 FD 的左边没有冗余的属性,即 G 中不存在这样的函数依赖 XY,X有真子集 W 使得 GXYWY与 G 等价。显然,每个函数依赖集至少存在一个等价的最小依赖集,但并不一定惟一。8无损分解设 R 是一个关系模式, F 是 R 上的一个 FD 集。R 分解成数据库模式 =R1,R 2

5、Rk。如果对 R 中满足 F 的每一个关系 r,都有r= 12()()kR那么称分解 相对于 F 是“无损连接分解” (Lossless Join Decomposition) ,简称为“无损分解” ,否则称为“损失分解” (Lossy Decomposition) 。9泛关系假设无损分解定义有一个先决条件,即 r 是 R 的一个关系。也就是先存在 r(泛关系)的情况下,再去谈论分解,这就是关系数据库理论中著名的“泛关系假设” (Univarsal Relation Assumption) 。有泛关系假设时,r 与 ( r)之间的联系,可用图 3.3 表示。从图中可看出m(r )有两个性质:m

6、(1)r (r)(2)设 s= (r ) ,则 =ri()iRr10Chase 过程“追踪” (chase)过程,用于测试一个分解是否是无损分解。追踪过程的算法(无损分解的测试)输入:关系模式 R=A1An,F 是 R 上成立的函数依赖集, =R1,R k是 R 的Rrs =R1,R 2Rk r1,r 2,r k图 3.3 泛关系假设下关系模式分解的示意图一个分解。输出:判断 相对于 F 是否具有无损分解特征。方法:构造一张 k 行 n 列的表格,每列对于一个属性 Aj(1jn) ,每行对于一个模式Ri(1ik) 。如果 Aj 在 Ri 中,那么在表格的第 i 行第 j 列处填上符号 aj,否

7、则填上bij。把表格看成模式 R 的一个关系,反复检查 F 中每个 FD 在表格中是否成立,若不成立,则修改表格中的值。修改反复如下:对于 F 中一个 FD XY,如果表格中有两行在 X 值上相对,在 Y 值上不相等,那么把这两行在 Y 值上也改成相等的值。如果 Y 值中有一个是 aj,那么另一个也改成 aj;如果没有 aj,那么用其一个 bij 替换另一个值(尽量把下标 ij 改成较小的数) 。一直到表格不能修改为止。 (这个过程称为 Chase 过程)若修改的最后一张表格中有一行是全 a,即 a1a2an,那么称 相对于 F 是无损分解,否则称损失分解。11保持函数依赖分解的另一个特征是在

8、分解的过程中能否函数依赖集,如果不能保持 FD,那么数据的语义就会出现混乱。设 F 是属性集 U 上的 FD 集,Z 是 U 的子集,F 在 Z 上的投影用 表示,定义为()ZF()|,XYZXY且设 =R1,R k是 R 的一个分解,F 是 R 上的 FD 集,如果有 ,那 ikRi1|( )么称分解 保持函数依赖集 F。121NF如果关系模式 R 的每个关系 r 的属性值都是不可分的原子值,那么称 R 是第一范式(First Normal Form,简记为 1NF)的模式。132NF如果关系模式 R 是 1NF,且每个非主属性完全函数依赖于候选键,那么称 R 是第二范式(2NF)的模式。1

9、43NF如果关系模式 R 是 1NF,且每个非主属性都不传递依赖于 R 的候选键,那么称 R 是第三范式(3NF)的模式。15BCNF如果关系模式 R 是 1NF,且每个属性都不传递依赖于 R 的候选键,那么称 R 是 BCNF。16MVD设 U 是关系模式 R 的属性集,X,Y 是 U 的子集,Z=U-X-Y,小写的 xyz 表示属性集 XYZ的值。对于 R 的关系 r,在 r 中存在元组(x,y1,z1)和(x,y2,z2)时,就也存在元组(x,y2,z1)和(x,y1,z2) ,那么称多值依赖(Multivalued Dependency,简记为MVD)XY 在模式 R 上成立。17平凡

10、的 MVD对于属性集 U 上的 MVD XY,如果 Y X 或 XY=U,那么称 XY 是一个平凡的MVD,否则称 XY 是一个非平凡的 MVD。184NF设 D 是关系模式 R 上成立的 FD 和 MVD 集合。如果 D 中每个非平凡的 MVD XY 的左部 X 都是 R 的超键,那么称 R 是 4NF 的模式。3.2 试解释下面两个“数据冗余”概念:一、文件系统中不可避免的“数据冗余”在数据管理中,数据冗余一直是影响系统性能的大问题。数据冗余是指同一个数据在系统中多次重复出现。在文件系统中,由于文件之间没有联系,引起一个数据在多个文件中出现。二、关系数据库设计中应该尽量避免的“数据冗余”数

11、据库系统克服了文件系统的这种缺陷,但对于数据冗余问题仍然应加以关注。如果一个关系模式设计的不好,仍然会出现像文件系统一样的数据冗余、异常、不一致等问题。3.3 关系模式的非形式化设计准则有哪几条?这些准则对数据库设计有什么帮助?在讨论关系模式质量时,有四个非形式化的衡量准则。准则 3.1 关系模式的设计应尽可能只包含直接联系的属性,不要包含有间接联系的属性。也就是,每个关系模式应只对应于一个实体类型或一个联系类型。准则 3.2 关系模式的设计应尽可能使得相应关系中不出现插入、删除和修改等操作异常现象。如果出现任何异常,则要清楚地加以说明,并确保更新数据库的正确操作。设计成表准则 3.3 关系模

12、式的设计应尽可能使得相应关系之中避免放置经常为空的属性。准则 3.4 关系模式的设计应尽可能使得关系的等值连接在主键和外键的属性上进行,并且保证连接以后不会生成额外的元组。3.4 对函数依赖 XY 的定义加以扩充,X 和 Y 可以为空属性集,用 表示,那么X,Y, 的含义是什么?解:根据函数依赖的定义,以上三个表达式的含义为:1. 一个关系模式 R(U)中,X,Y 是 U 的子集,r 是 R 的任一具体关系,如果对 r 的任意两个元组 t1、 t2,由 t1X=t2X必有 t1=t2。即 X 表示空属性函数依赖于 X。这是任何关系中都存在的。2. Y 表示 Y 函数依赖于空属性。由此可知该关系

13、中所有元组中 Y 属性的值均相同。3. 表示空属性函数依赖于空属性。这也是任何关系中都存在的。3.5 用 A1、A2 和 A3 三条推理规则来证明 3.2.3 节中的定理 3.2(推理规则 A4A8)试证明 A1(自反性):若 Y X U,则 XY 在 R 上成立。证:设 t1 和 t2 是关系 R 中的任意两个元组。如 t1【X】=t2【X】 ,因 Y X,则有 t1【Y 】=t2【Y】 ,故 XY 在 R 上成立。试证明 A2(增广性):若 XY 在 R 上成立,且 Z U,则 XZYZ 在 R 上成立。证:设 t1 和 t2 是关系 R 中的任意两个元组。如果 t1【XZ】=t2【XZ】

14、 ,则有如 t1【X】=t2【X】 ,t1【Z】=t2 【Z】 。已知 XY,因此可得 t1【Y 】=t2【Y 】 ,由上可知如 t1【YZ】=t2【YZ】 ,故XZYZ 成立。试证明 A3(传递性):若 XY 和若 YZ 在 R 上成立,则 XZ 在 R 上成立。证:设 t1 和 t2 是关系 R 中的任意两个元组。根据传递函数依赖条件可知:如 t1【X】=t2【X】 ,则 t1【Y】=t2【Y】 ,如 t1【Y】=t2【Y】 ,则 t1【Z】=t2 【Z】 ,由上可得:如 t1【X】=t2【X】 ,则 t1【Z】=t2 【Z】 ,即 XZ 在 R 上成立。试证明 A4(合并性):XY,X

15、Z |=XYZ。证:根据 A2 增广性,在 XY 的函数依赖表达式左部和右部分别并上 X,得 XX Y 。在 XZ 的函数依赖表达式左部和右部分别并上 Y,得 XYYZ。根据 A3 传递性,由 XX Y 和 XYYZ 得 XYZ。试证明 A5(分解性)XY,Z Y |=XZ 。证:根据 A 1 自反性,因为 Z Y 所以 YZ 成立。已知 XY 又知,YZ,根据 A3,得 XZ。试证明 A6(伪传递性)XY,WYZ |=WX Z。证:根据 A2 增广性,在 XY 的函数依赖表达式左部和右部分别并上 W,得 WXWY。根据 A3 传递性,由 WXWY 和 WYZ 得 WXZ。试证明 A7(复合性

16、)XY,WZ |=WXYZ 。证:根据 A2 增广性,在 XY 的函数依赖表达式左部和右部分别并上 W,的 WXWY。在 WZ 的函数依赖表达式左部和右部分别并上 Y,的 WYZY。根据 A3 传递性,由 WXWY 和 WYZY 得 WXYZ。试证明 A8(复合性)XY,WZ |= X (WY )YZ。证:根据 A2 增广性,在 XY 两边用(WY)扩充,得到 X (WY )Y (W Y) ,而 Y(WY)=WY,因此有 X (W Y)WY。从已知 WZ ,根据 A2 两边用 Y 扩充,得到 WYYZ。在根据 A3,从 X (WY )WY 和 WYYZ 可得到 X (WY)YZ3.6 设关系模

17、式 R 有 n 个属性,在模式 R 上可能成立的函数依赖有多少个?其中平凡的 FD有多少个?非平凡的 FD 有多少个?(要考虑所有可能的情况,数学排列组合问题。对于数据库本身而言,本题没多大意义)解:这个问题是排列组合问题。FD 形为 XY ,从 n 个属性值中选择属性组成 X 共有:种方法;同理,组成 Y 也有 种方法。因此组成 XY012nnnCC 2n形成应该有 种方法。即可能成立的 FD 有 个。4A4n平凡的 FD 要求 Y X,组合 XY 形式的选择有:01012012012()()()nnnn nnCCA 2(3nCA即平凡的 FD 有 。因而非平凡的 FD 有 个。3n4n3.

18、7 已知关系模式 R(ABC) ,F 是 R 上成立的 FD 集,F=AB,BC ,试写出 F 的闭包F+(有 43 个) 。A AB AC ABC B BC CAA ABA ACA ABCA BB BCB CCAB ABB ACB ABCB BC BCC AC ABC ACC ABCC BBC BCBCAAB ABAB ACAB ABCABAAC ABAC ACAC ABCACABC ABBC ACBC ABCBCAABC ABABC ACABC ABCABCA+=ABC A有: + + + =23=8 个B+=BC B有: + + =22=4 个C+=C C有: + =21=2 个(AB)

19、+=ABC AB有:8 个(AC)+=ABC AC有:8 个(BC)+=BC AB有:4 个(ABC)+=ABC ABC有:8 个共 43 个。 3.8 设关系模式 R(ABCD) , F 是 R 上成立的 FD 集,F= AB,CB ,则相对于 F,试写出关系模式 R 的关键码。并说明理由。解:R 的关键码为 ACD。因为从已知的 F。只能推出ACDABCD。F=ABC,CDE,DEB ,判断 AB 是 R 的候选键吗?ABC 呢?请做出解释。3.9 设关系模式 R(ABCDE) ,F 是 R 上成立的 FD 集,3.10 设关系模式 R(ABCD)上 FD 集为 F,并且 F=ABC,CD

20、,DA 试从 F 求出所有非平凡的 FD。 试求 R 的所有候选键 试求 R 的所有不是候选键的超键。解: 从已知的 F 可求出非平凡的 FD 有 76 个。譬如,左边是 C 的 FD 有 6 个:CA,CD,CAD,CAC,CCD,CACD。左边是 D 的 FD 有 2 个:DA,DAD。左边是 AB 的 FD 有 12 个:ABC, ABD, ABCD, ABAC,。感兴趣的读者可以自行把这 76 个 FD 写齐。 候选键是能函数决定所有属性的不含多余属性的属性集。根据这个概念可求出 R的候选键有三个:AB、BC 和 BD。 R 的所有不是候选键的超键有四个:ABC、ABD、BCD 和 A

21、BCD。3.13 设关系模式 R(ABCD)上 FD 集为 F,并且 F=AB,BC 试写出属性集 BD 的闭包(BD) +。 试写出所有左部是 B 的函数依赖(即形为“B?” )解: 从已知的 F,可推出 BDBCD,所有(BD) +=BCD。 由于 B+=BC,因此左部是 B 的 FD 有四个:B,BB,BC,BBC。3.14 设关系模式 R(ABCDE)上 FD 集为 F,并且 F=ABC,CDE,BD,EA。 试求 R 的候选键。 试求 B+的值。解: R 的候选键有 A、E、CD 和 BC B +=BD。3.15 设有关系模式 R(ABC) ,其关系 r 如图 3.1 所示。 试判断

22、下列三个 FD 在关系 r 中是否成立?AB BCA BA 根据关系 r,你能断定哪些 FD 在关系模式 R 上不成立?图 3.1解: 在关系 r 中,AB 成立,BC A 不成立,BA 不成立。 在关系 r 中,不成立的 FD 有:BA,CA,CB,CAB,BCA。3.17 设关系模式 R(ABC)分解成 =AB,BC ,如果 R 上的 FD 集 F=AB ,那么这个分解是损失分解。试举出 R 的一个关系 r,不满足 m(r)=r。解:这个反例 r 可以举测试时的初始表格:A B CAB a1 a2 b13BC b21 a2 a3 AB(r ) BC(r)有四个元组:A B Ca1 a2 b

23、13a1 a2 a3b21 a2 b13b21 a2 a3即 m (r)r 。4.18 试解释数据库 “丢失信息”与“未丢失信息”两个概念。 “丢失信息”与“丢失数据”有什么区别?答:数据库中丢失信息是指 rm (r) ,未丢失信息是指 r=m(r ) 。丢失信息是指不能辨别元组的真伪,而丢失数据是指丢失元组。3.19 设关系模式 R(ABC) ,F 是 R 上成立的 FD 集,F=AC,BC ,试分别求 F 在模式 AB 和 AC 上的投影。答:A B C1 2 34 2 35 3 3AB(F) =(即不存在非平凡的 FD)AC(F) =AC3.20 设关系模式 R(ABC) ,F 是 R

24、上成立的 FD 集, F=BC,CA ,那么分解=AB,AC相对于 F,是否无损分解和保持 FD?并说明理由。答: 已知 F=BC,C A,而 AB(F )=, AC( F)=CA显然,这个分解丢失了 FD BC 用测试过程可以知道, 相对于 F 是损失分解。3.21 设关系模式 R(ABCD) ,F 是 R 上成立的 FD 集,F=AB,BC,AD ,DC ,=AB,AC,BD是 R 的一个分解。 相对于 F, 是无损分解吗?为什么? 试求 F 在 的每个模式上的投影。 保持 F 吗?为什么?答: 用测试过程可以知道, 相对于 F 是损失分解。 AB(F)=AB, AC(F)=AC, BD(

25、F)= 。 显然,分解 不保持 FD 集 F,丢失了 BC、AD 和 DC 等三个 FD。3.22 设关系模式 R(ABCD) ,F 是 R 上成立的 FD 集。F=AB,BC,AD,DC,=AB,AC,AD是 R 的一个分解。(1) 相对于 F, 是无损分解吗? 为什么?(2) 试求 F 在 的每个模式上的投影。(3) 保持依赖吗? 为什么?解:(1)每一行都是 a, 相对于 F 是无损联接分解。(2)AB(F)=AB,及按自反律所推导出的一些平凡函数依赖AC(F)=AC,及按自反律所推导出的一些平凡函数依赖AD(F)=AD ,及按自反律所推导出的一些平凡函数依赖(3)AB(F) AC(F)

26、 AD(F)=AB,AC,AD,没有满足 BC,DC 函数依赖,因此 相对于 F 的这个分解不保持函数依赖。A B C D A B C DAB a1 a2 b13 b14 AB a1 a2 a3 a4AC a1 b22 a3 b24 BC a1 a2 a3 a4AD a1 b32 b33 a4 CD a1 a2 a3 a4(1) 构造表 (2)根据 AB,BC,AD,DC 进行处理3.23 设关系模式 R(ABCD),R 上的 FD 集 F=AC,DC,BDA, 试说明 =AB,ACD,BCD相对于 F 是损失分解的理由。解:根据算法 3.3没有一行都是 a,所以, 相对于 F 是损失分解。3

27、.24 设关系模式 R=ABCD 上的 FD 集为 F,并且 F=AB,BC,DB,把 R 分解成 BCNF模式集。(1)R 分解成 =ACD,BD,试求 F 在 ACD 和 BD 这两个模式上的投影。(2)ACD 和 BD 是 BCNF 吗?如果不是,试分解成 BCNF。解:(1) ACD(F)=AC BD(F)=DB(2) 因为根据 BCNF 的定义,要求关系模式是第一范式,且每个属性都不传递依赖于 R的侯选键。 BCD 中(A,D)为候选键,可是(A,D)A, AC,所以它不是 BCNF模式。它可进一步分解为:AC,DC,此时 AC,DC 均为 BCNF 模式。BD 是 BCNF,因为

28、R2(BD)是第一范式,且每个属性都不传递依赖于 D(候选键),所以它是 BCNF 模式。3.25 设关系模式 R(ABCD) ,= AB,BC,CD是 R 的一个分解。F 1=AB,B C;F2=BC,CD。(1)如果 F1 是 R 上的函数依赖集,此时 是否无损分解 ? 若不是,试举出反例。(2)如果 F2 是 R 上的函数依赖集呢 ?解:(1) 不是无损联接。可由算法 4.2 判断或由定理 4.8 判断。根据算法 4.2A B C D A B C DAB a1 a2 b13 b14 AB a1 a2 a3 b14BC b21 a2 a3 b24 BC b21 a2 a3 b24CD b3

29、1 b32 a3 a4 CD b31 b32 a3 a4(1) 构造表 (2)根据 AB,BC 进行处理A B C D A B C DAB a1 a2 b13 b14 AB a1 a2 a3 b14ACD a1 b22 a3 a4 BC a1 b22 a3 a4BCD b31 a2 a3 a4 CD b31 a2 a3 a4(1) 构造表 (2)根据 AC,DC,BDA 进行处理结果没有出现一行全 a 的情况,所以它不是无损联接。举例如下:设模式 R 的一关系 r 为(a1b1c1d1),(a2b2c1d2)则有:r1= AB(r)=(a1b1),(a2b2) r2= BC(r)=(b1c1)

30、,(b2c1) r3= CD(r)=(c1d1),(c1d2) 令 a=r1 r2 r3= (a1b1c1d1),(a1b1c1d2),(a2b2c1d1),(a2b2c1d2) ra,所以 不是无损联接。(2)如果 F2 是 R 上的函数依赖,则可以判断, 是无损联接。判断过程同上。3.26 设关系模式 R(ABCD ) ,F 是 R 上成立的 FD 集,F=ABCD ,AD 。 试说明 R 不是 2NF 模式的理由。 试把 R 分解成 2NF 模式集。答: 从已知 FD 集 F,可知 R 的候选键是 AB。另外,AB D 是一个局部依赖,因此 R 不是 2NF 模式。 此时 R 应分解成

31、=AD,ABC, 是 2NF 模式集。3.27 设关系模式 R(ABC) ,F 是 R 上成立的 FD 集,F=CB,BA 。 试说明 R 不是 3NF 模式的理由。 试把 R 分解成 3NF 模式集。答: 从已知 FD 集 F,可知 R 的候选键是 C。从 CB 和 BA ,可知 CA 是一个传递依赖,因此 R 不是 3NF 模式。 此时 R 应分解成 =CB,BA , 是 3NF 模式集。3.28 设有关系模式 R(职工编号,日期,日营业额,部门名,部门经理) ,该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作

32、;每个部门只有一个经理。试回答下列问题:(1)根据上述规定,写出模式 R 的基本 FD 和关键码;(2)说明 R 不是 2NF 的理由,并把 R 分解成 2NF 模式集;(3)进而分解成 3NF 模式集。解:(1)基本的 FD 有三个:(职工编号,日期) 日营业额职工编号 部门名部门名 部门经理R 的关键码为(职工编号,日期)。(2)R 中有两个这样的 FD:(职工编号,日期)(部门名,部门经理)职工编号 (部门名,部门经理)可见前一个 FD 是局部依赖,所以 R 不是 2NF 模式。R 应分解成 R1(职工编号,部门名,部门经理)R2(职工编号,日期,日营业额)此处,R1 和 R2 都是 2

33、NF 模式。(3)R2 已是 3NF 模式。在 R1 中,存在两个 FD:职工编号 部门名部门名 部门经理因此,“职工编号 部门经理”是一个传递依赖,R1 不是 3NF 模式。R1 应分解成 R11(职工编号,部门名)R12(部门名,部门经理)这样,= R11,R12,R2是一个 3NF 模式集。3.29 设有关系模式 R(运动员编号,比赛项目,成绩,比赛类别,比赛主管) ,存储运动员 比赛成绩及比赛类别、主管等信息。如果规定:每个运动员每参加一个比赛项目,只有一个成绩;每个比赛项目只属于一个比赛类别;每个比赛类别只有一个比赛主管。试回答下列问题:(1)根据上述规定,写出模式 R 的基本 FD

34、 和关键码;(2)说明 R 不是 2NF 的理由,并把 R 分解成 2NF 模式集;(3)进而分解成 3NF 模式集。解:(1)基本的 FD 有三个:(运动员编号,比赛项目) 成绩比赛项目 比赛类别比赛类别 比赛主管R 的关键码为(运动员编号,比赛项目)。(2)R 中有两个这样的 FD:(运动员编号,比赛项目)(比赛类别,比赛主管)比赛项目 (比赛类别,比赛主管)可见前一个 FD 是局部依赖,所以 R 不是 2NF 模式。R 应分解成 R1(比赛项目,比赛类别,比赛主管)R2(运动员编号,比赛项目,成绩)这里,R1 和 R2 都是 2NF 模式。(3)R2 已是 3NF 模式。在 R1 中,存

35、在两个 FD:比赛项目 比赛类别比赛类别 比赛主管因此,“比赛项目 比赛主管”是一个传递依赖,R1 不是 3NF 模式。R1 应分解成 R11(比赛项目,比赛类别)R12(比赛类别,比赛主管)这样,= R11,R12,R2 是一个 3NF 模式集。3.30 设关系模式 R(ABCD ) ,在 R 上有五个相应的 FD 集及分解:(1)F=BC,DA ,=BC,AD(2)F=AB C,CA,CD ,=ACD ,BC(3)F=ABC,CAD,=ABC,AD (4)F=AB,BC,C D,=AB,ACD(5)F=AB,BC,C D,=AB,AD,CD试对上述五种情况分别回答下列问题: 确定 R 的关

36、键码。 是否无损分解? 是否保持 FD 集? 确定 中每一模式的范式级别。解:(1) R 的关键码为 BD。 不是无损分解。 保持 FD 集 F。 中每一模式已达到 BCNF 级别。(2) R 有两个关键码: AB 和 BC。 是无损分解。 因为 ACD(F)=CA,CD , BC(F)=(没有非平凡的 FD),所以 不保持 FD,丢失了 ABC。 中两模式均已达到 BCNF 级别。(3) R 有两个关键码: A 和 C 是无损分解。 因为 ABC(F)=ABC,C A , AD(F)= AD,所以 保持 FD。 在模式 ABC 中,关键码是 A 或 BC,属性全是主属性,但有传递依赖(ABC

37、 ,BCA) 。因此模式 ABC 是 3NF,但不是 BCNF。而模式 AD 显然已是 BCNF。(4) R 的关键码为 A。 是无损分解。 因为 AB( F)=A B, ACD(F)=A C,C D,从这两个依赖集推不出原来的 BC,因此 不保持 FD,丢失了 BC。 模式 AB 是 BCNF,模式 ACD 不是 3NF,只达到 2NF 级别。(5) R 的关键码为 A。 不是无损分解。 因为 AB(F)=AB , AD(F )=AD, CD(F)=CD ,从这三个依赖集推不出原来的 BC,因此 不保持 FD,丢失了 BC。 中每个模式均是 BCNF 级别。3.31 设关系模式 R(ABC)

38、上有一个多值依赖 MVA AB。 如果已知 R 的当前关系中存在三个元组( a b 1 c1 )、( a b 2 c2 )和( a b 3 c3 ),那么这个关系中至少还应存在哪些元组 ?答:从多值依赖的定义可以得出,至少应存在下列元组:( a b1 c2 )、( a b1 c3 )、( a b 2 c1 )、( a b2 c3 )、( a b 3 c1 )、( a b 3 c2 )3.32 试举出“ 若 XY 和 YZ ,则 XZ”不成立的一个例子。解:设 R(ABCD ) ,有两个 MVD ABC 和 BCCD ,模式 R 的关系 r 值如下所述,显然 ACD 不成立,但 AD 是成立的。

39、3.33 试撰写 2000 字短文,论述泛关系假设、无损联接和保持依赖间的联系。答:这篇短文的要点如下:(1) “泛关系假设”是在谈论数据库时必须存在泛关系情况下再讨论分解。(2)谈论无损分解的先决条件是泛关系假设。(3)谈论保持 FD 时,不提泛关系假设。(4)无损分解与保持 FD 之间,没有必然的联系。(5)满足无损分解的数据库,有 r=m (r)性质。(6)满足保持 FD 的数据库,数据的语义值肯定满足 FD。3.3 自测题4.3.1 填空题1. 关系模式的操作异常问题往往是由_引起的。2. 函数依赖完备的推理规则集包括_、_和_。3. 如果 YXU,则 XY 成立。这条推理规则称为_。

40、4. 如果 XY 和 WYZ 成立,则 WXZ 成立。这条推理规则称为 _。5. 如果 XY 和 YX 成立,那么称 XY 是一个_。这种 FD 可以根据推理规则_律就可推出。6. “从已知的 FD 集使用推理规则导出的 FD 在 F+中” ,这是推理规则的 _性。7. “不能从已知的 FD 集使用推理规则导出的 FD 不在 F+中” ,这是推理规则的_性。8. 函数依赖 XY 能从推理规则导出的充分必要条件是 _。9. 被函数依赖集 F 逻辑蕴涵的函数依赖的全体构成的集合,称为_,用符号_表示。10. 由属性集 X 函数决定的属性的集合,称为 _,用符号_表示。11. 在关系模式 R 中,能

41、函数决定所有属性的属性组,称为模式 R 的_。12. 两个函数依赖集 F 和 G 等价的充分必要条件是_。13. 关系模式 R 有 n 个属性,则在模式 R 上可能成立的函数依赖有 _个,其中平凡的 FD 有_个,非平凡的 FD 有_个。14. 谈论无损联接的先决条件是作了_的假设。15. 设有关系模式 R(A,B,C ,D ) ,F 是 R 上成立的 FD 集,F=ABC,DB ,则 F 在模式 ACD 上的投影为_;F 在模式 AC 上的投影为_。R A B C Da b1 c1 d1a b2 c2 d2a b1 c1 d2a b2 c2 d116. 消除了非主属性对候选键局部依赖的关系模

42、式,称为_模式。17. 消除了非主属性对候选键传递依赖的关系模式,称为_模式。18. 消除了每一属性对候选键传递依赖的关系模式,称为_模式。19. 在关系模式的分解中,数据等价用_衡量,依赖等价用_衡量。4.3.2 单项选择题(在备选的答案中选出一个正确的答案)1在关系模式 R 中,函数依赖 XY 的语义是 A在 R 的某一关系中,若两个元组的 X 值相等,则 Y 值也相等B在 R 的每一关系中,若两个元组的 X 值相等,则 Y 值也相等C在 R 的某一关系中,Y 值应与 X 值相等D在 R 的每一关系中,Y 值应与 X 值相等2如果 XY 和 WYZ 成立,那么 WXZ 成立。这条规则称为

43、A增广律 B传递律 C伪传递律 D分解律3XY 能从推理规则导出的充分必要条件是 AYX BYX + CXY + DX +=Y+4两个函数依赖集 F 和 G 等价的充分必要条件是 AF=G BF +=G CF=G + DF +=G+5在最小依赖集 F 中,下面叙述不正确的是 AF 中每个 FD 的右部都是单属性BF 中每个 FD 的左部都是单属性CF 中没有冗余的 FDDF 中每个 FD 的左部没有冗余的属性6设有关系模式 R(A,B, C,D ) ,F 是 R 上成立的 FD 集,F= BA,DC ,则 F+中左部为(BC)的函数依赖有 A2 个 B4 个 C8 个 D16 个7设有关系模式

44、 R(A,B, C,D ) ,F 是 R 上成立的 FD 集,F= AB,B C , CD,DA ,则 F+中,左部为(CD)的函数依赖有 A2 个 B4 个 C8 个 D16 个8设有关系模式 R(A,B, C,D ) ,F 是 R 上成立的 FD 集,F= ABC,DA ,则属性集(CD)的闭包(CD) +为 ACD BACD CBCD DABCD9设有关系模式 R(A,B, C,D ) ,F 是 R 上成立的 FD 集,F= ABC,DA ,则R 的关键码为 AAB BAD CBC DBD10在关系模式 R 分解成 =R1,R k时,R 上的关系 r 和其投影联接表达式 m (r)之间满

45、足 Ar= m (r) Br m (r) Cm (r) r Dr m (r)11设关系模式 R(A,B, C,D ) ,F 是 R 上成立的 FD 集,F= BA ,AC ,= AB,AC ,AD 是 R 上的一个分解,那么分解 相对于 F A是无损联接分解,也是保持 FD 的分解B是无损联接分解,但不保持 FD 的分解C不是无损联接分解,但保持 FD 的分解D既不是无损联接分解,也不保持 FD 的分解12设关系模式 R(A,B, C,D ) ,F 是 R 上成立的 FD 集,F= AB ,BC,C D , DA ,= AB,BC ,AD 是 R 上的一个分解,那么分解 相对于 F A是无损联接分解,也是保持 FD 的分解B是无损联接分解,但不保持 FD 的分解C不是无损联接分解,但保持 FD 的分解D既不是无损联接分解,也不保持 FD 的分解13设关系模式 R(A,B, C,D ) ,F 是 R 上成立的 FD 集,F= A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报