1、软件水平考试(中级)软件设计师上午(基础知识)试题章节练习试卷 5 及答案解析(总分:36.00,做题时间:90 分钟)一、选择题(总题数:9,分数:36.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。(分数:4.00)_在关系模型的完整性约束中,实体完整性规则是指关系中(2)参照完整性规则要求(3)。(分数:4.00)A.不允许有主行B.属性值不允许为空C.主键值不允许为空D.外键值不允许为空A.不允许引用不存在的元组B.允许引用不存在的元组C.不允许引用不存在的属性D.允许引用不存在的属性已知关系 R 如
2、表 7-4 所示,关系 R 的主属性为(9),候选关键字分别为(10)。 (分数:4.00)A.ABCB.ABDC.ACDD.ABCDA.ABCB.AB,ADC.AC,AD 和 CDD.AB,AD,BD 和 CD给定关系模式 R(U,F),U=(A,B,C,D,E),F=BA,DA,AE,ACB,其属性 AD 的闭包为(11),其候选关键字为(12)。(分数:4.00)A.ADEB.ABDC.ABCDD.ACDA.ABDB.ADEC.ACDD.CD若有关系模式 R(A,B,C)和 S(C,D,E),对于如下的关系代数表达式: (分数:4.00)A.E1E2E3E4B.E3E4 但 E1E2C.
3、E1E2 但 E3E4D.E34 但 E2E4A.E1B.E2C.E3D.E4关系 R,S 如表 7-5 和表 7-6 所示,R( A1,A2 ( 13 (S)的结果为(18),右外连接和完全外连接的元组个数分别为(19)。 (分数:4.00)A.dB.c,d)C.c,d,8D.(a,b),(b,a),(c,d),(d,f)A.2,2,4B.2,2,6C.4,4,6D.4,4,4给定关系 R(A1,A2,A3,A4)上的函数依赖集 F=A1A3-A2,A2-A3,及候选关键字为(41)。分解=(A1,A2),(A1,A3)(42)。(分数:4.00)A.A1A3B.A1A2A3C.A1A3A4
4、D.A2 和 A1A3A.是无损连接的B.是保持函数依赖的C.既是无损连接又保持函数依赖D.既是有损连接又不保持函数依赖关系模式 R(U,F),其中 U=(W,X,Y,Z),F=WXY,WX,XZ,y,Vw。关系模式 R 的候选码是(43),(44)是无损连接并保持函数依赖的分解。(分数:4.00)A.W 和 YB.WYC.WXD.WZA.=R1(W19,R2(XZ)B.=r1(WZ),R2(XY)C.=R1(WXY),R2(XZ)D.=R1(WX),R2(YZ)设关系模式 R 为 R(H,I,J,K,L),R 上的一个函数依赖集为 F=HJ,JK,IJJLH,分解(45)是无损连接的。关系模
5、式 R(A,B,C,D,E)中的关系代数表达式 52(R)等价于 SQL 语句(46)。(分数:4.00)A.=HK,HI,IJ,JKL,HLB.=HIL,IKL,IJLC.=HJ,IK,HLD.=HI,JK,HL)A.SELECT* FROM R WHERE 2B.SELECTB, E FROM R WHERE B2C.SELECTB, E FROM R HAVING E2D.SELECT* FROM R WHERE 5B软件水平考试(中级)软件设计师上午(基础知识)试题章节练习试卷 5 答案解析(总分:36.00,做题时间:90 分钟)一、选择题(总题数:9,分数:36.00)1.选择题(
6、)下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。(分数:4.00)_解析:在关系模型的完整性约束中,实体完整性规则是指关系中(2)参照完整性规则要求(3)。(分数:4.00)A.不允许有主行B.属性值不允许为空 C.主键值不允许为空D.外键值不允许为空解析:A.不允许引用不存在的元组 B.允许引用不存在的元组C.不允许引用不存在的属性D.允许引用不存在的属性解析:解析:数据库的完整性是指数据的正确性和相容性,即数据库中的数据始终保持正确的状态,防止不符合语义的错误数据的输入和输出。关系模型中的完整性约束条件包括实体完整性、参照完
7、整性和用户自定义完整性。实体完整性规则:若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值。参照完整性规则:若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 K s 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须或者取空值(F 的每个属性值均为空值),或者等于 s 中某个元组的主码值。已知关系 R 如表 7-4 所示,关系 R 的主属性为(9),候选关键字分别为(10)。 (分数:4.00)A.ABCB.ABDC.ACDD.ABCD 解析:A.ABCB.AB,ADC.AC,AD 和 CDD.AB,AD,BD 和 CD
8、 解析:解析:在一个关系模式中,若一个属性或属性组 K 完全函数决定整个元组,则称 K 为该关系的一个候选关键字。包含在任何一个候选关键字中的属性称为主属性,不包含在任何一个候选关键字中的属性称为非主属性。从关系 R 表中可以看出,AB 两列中没有相同的行值,同时 CD 两列中也没有相同的行值,因此可以说 AB-CD,也可以说 CD-AB,即 ABCD 都是关系 R 的主属性。另外,AD,BD 两列中也没有相同的行值,因此 AD 和 BD 也是候选关键字。而 AC 有相同的行值(ac),其对应的 BD 的行值却不相同(分别为bd 和 dg),所以 AC 不是候选关键字。同理,BC 也不是候选关
9、键字。给定关系模式 R(U,F),U=(A,B,C,D,E),F=BA,DA,AE,ACB,其属性 AD 的闭包为(11),其候选关键字为(12)。(分数:4.00)A.ADE B.ABDC.ABCDD.ACD解析:A.ABDB.ADEC.ACDD.CD 解析:解析:求属性集的闭包可由固定的算法推出。设 X(0)=AD,计算 X(1),逐一扫描 F 集合中各个函数依赖,找左部是 A,D 或 AD 的函数依赖,得到 AE,DA。于是 X(1)=X(0)EA=ADE。由于 X(0)1),所以再逐一扫描 F 集合中各个函数依赖,找左部是 ADE 的子集的那些函数依赖,得到 AE,DA。于是X(2)=
10、X(1)EA=ADE。由于 X(2)=X(1),所以算法到此为止,其属性 AD 的闭包为 X(2),即 ADE。 如果一个属性集能惟一标识元组,且不含有多余属性,那么这个属性集称为候选关键字。 DA: DAE; CDACB; CDACBA; 所以 CD 为候选关键字。若有关系模式 R(A,B,C)和 S(C,D,E),对于如下的关系代数表达式: (分数:4.00)A.E1E2E3E4 B.E3E4 但 E1E2C.E1E2 但 E3E4D.E34 但 E2E4解析:A.E1B.E2C.E3 D.E4解析:解析:题目给出的四个关系代数,其含义都是求 B2000且 E=80的 A 列和 D 列,其
11、所得结果是一样的。因此,第一个空的答案应选择 A。 至于考查四个关系代数查询效率,就是比较它们的执行时间,越少步骤执行完成,当然执行时间也就越少。 E1 与 E2:在 E2 中,关系模式 R 和 S 先作了选择,再做笛卡儿积,此时得到的结果将少于 E1 先笛卡儿积,再选择所得到的结果,因此 E2 的效率高于 E1。 E3 与 E4:同样的道理,在 E3 中,关系模式 R 和 S 先作了选择,再做自然连接,此时得到的结果将少于E4 先连接,再选择所得到的结果,因此 E3 的效率高于 E4。 E3 与 E2:区别它们之间的效率差别就是区别R 与 S 笛卡儿积和 R 与 S 自然连接的差别。根据定义
12、,自然连接要取消重复列,具体在该题中,R 与 S 自然连接后 C 列将取消,所以 R 与 S 的自然连接的效率比 R 与 S 笛卡儿积高。关系 R,S 如表 7-5 和表 7-6 所示,R( A1,A2 ( 13 (S)的结果为(18),右外连接和完全外连接的元组个数分别为(19)。 (分数:4.00)A.d B.c,d)C.c,d,8D.(a,b),(b,a),(c,d),(d,f)解析:A.2,2,4B.2,2,6C.4,4,6 D.4,4,4解析:解析:在本题中, A1,A2 ( 13 (S)的结果如表 7-7 所示。 把 R 和新的 S 结果代入关系除法计算公式,可得结果 R( A1,
13、A2 (1(S)=d。 根据左外连接、右外连接和完全外连接的定义,本题中的 R 和 S 的左外连接、右外连接和完全外连接的结果分别如表 7-8、表 7-9 和表 7-10 所示。 给定关系 R(A1,A2,A3,A4)上的函数依赖集 F=A1A3-A2,A2-A3,及候选关键字为(41)。分解=(A1,A2),(A1,A3)(42)。(分数:4.00)A.A1A3 B.A1A2A3C.A1A3A4D.A2 和 A1A3解析:A.是无损连接的B.是保持函数依赖的C.既是无损连接又保持函数依赖D.既是有损连接又不保持函数依赖 解析:解析:注:原题有误,在此将 R(A1,A2,A3,A4)改为 R(
14、A1,A2,A3)进行分析。码就是用来区分实体集中不同实体的属性集合。超码是一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中惟一地标识一个实体。通常只关心这样的超码:它们的任意真子集都不能成为超码,这样的最小超码称为候选码。主码是被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码。本题中,A1 不函数依赖于其他属性,因此码中必须含 A1。A2 是函数依赖于 A1A3 的,也就是说 A1A3 定了,A2 也就定了,故A1A3 是码;且 A1 或 A3 均不能单独决定,故 A1A3 是候选码。所谓无损连接就是分解后的子模式进行自然连接可得原模式。(A1,42),(A1,A3)
15、分解后, A3 函数依赖 A2 解除,因此重构时无法得到原模式,是有损连接且不保持函数依赖。关系模式 R(U,F),其中 U=(W,X,Y,Z),F=WXY,WX,XZ,y,Vw。关系模式 R 的候选码是(43),(44)是无损连接并保持函数依赖的分解。(分数:4.00)A.W 和 Y B.WYC.WXD.WZ解析:A.=R1(W19,R2(XZ)B.=r1(WZ),R2(XY)C.=R1(WXY),R2(XZ) D.=R1(WX),R2(YZ)解析:解析:因为 WXY,WX,XZ,所以属性 W 决定全属性(WU),即 W 为候选字。同理可得 Y 为候选字。要判定一个模式分解是否为无损连接分解
16、,可以根据以下定理:设 =R1,R2)是 R 的一个分解,F 为 R 上的 FD 集,那么分解 相对于 F 是无损分解的充分必要条件是(R1R2)(R1-R2)或(R1R2)(R2-R1)。在本题中,A,B,D 选项的 R1 与 R2 都不相交,因此不满足上述定理的条件。而 C 选项中, R1R2=X,R1-R2=WY,R2-R1=Z,XZ 在函数依赖集中,所以只有 C 选项是无损连接的。设关系模式 R 为 R(H,I,J,K,L),R 上的一个函数依赖集为 F=HJ,JK,IJJLH,分解(45)是无损连接的。关系模式 R(A,B,C,D,E)中的关系代数表达式 52(R)等价于 SQL 语
17、句(46)。(分数:4.00)A.=HK,HI,IJ,JKL,HLB.=HIL,IKL,IJL C.=HJ,IK,HLD.=HI,JK,HL)解析:A.SELECT* FROM R WHERE 2 B.SELECTB, E FROM R WHERE B2C.SELECTB, E FROM R HAVING E2D.SELECT* FROM R WHERE 5B解析:解析:(1)因为 R 上的一个函数依赖集为 F=HJ,JK,IJ,KLJ,JLH),对于分解 =HIL,IKL,IJL)可以构造一个二维表,如表 7-14 所示。 根据函数依赖集中 HJ,JK 对上表进行修改,由于属性列 H 和属性列 J 上午相同的元素,所以无法修改。但对于 IJ 在属性列 I 上对应的1,2,3 行上为全 a2 元素,且 J 中的第 3 行为 a3,所以可将属性列 J 的第 1 行 b13 和第 2 行 b23 改为a3。修改后的表如表 7-15 所示。 JLH 在属性列 JL 上对应的 1,2,3 行上为 a3,a5 元素,属性列 H 的第 1 行为 a1,所以将属性列 H 的第 2 行 b21 和第 3 行 b31 改为 a1。修改后的表如表 7-16 所示。