2003年度高级程序员上午试题解析-数据库篇

类别:软件工程 点击:0 评论:0 推荐:
       数据库基础知识包括数据库模型,关系数据库的基础知识,数据库系统的结构,SQL的使用,常用数据库管理系统的知识。考生在复习时除了看教材相关部分外,还应该多做历届相关真题,同时可参考《数据库系统概论》萨师煊(第三版),因为该书中有更详细的一些概念说明,而教材中有些地方没有讲到。

 1.在数据库逻辑结构的设计中,将E-R模型转换为关系模型应遵循相关原则。对于三个不同实体集和它们之间的多对多联系m:n:p,最少可转换为____个关系模式。

 A. 2     B.3     C.  4    D. 5

答案:C

解析:书本上讲过两个不同实体集和它们之间的多对多联系时,可把两个不同实体集转换成两个关系模式,多对多的联系可以转换成一个关系模式。对于三个不同实体集和它们之间的多对多联系m:n:p,也是把三个不同实体集转换成三个关系模式,其中的两个多对多的联系最少可以转换成一个关系模式,所以共4个关系模式。

 2.给定关系模式R(U,F),U={A,B,C,D,E},F={B→A,D→A,A→E,AC→B},其属性AD的闭包为__(1)__,其候选关键字为__(2)__。

(1) A. ADE   B. ABD   C. ABCD        D. ACD

(2) A. ABD B.ADE      C.ACD      D.CD

答案:(1) A  (2) D

解析:(1)闭包的定义在教材中没有给出,具体的闭包定义考生可参考《数据库系统概论》萨师煊(第三版),第184页。求属性集的闭包可由固定的算法推出:设X(0)=AD;计算X(1);逐一扫描F集合中各个函数依赖,找左部是A、D或AD的函数依赖,得到:A→E,D→A。于是X(1)= X(0) ∪EA=ADE。由于X(0) ≠X(1),所以再逐一扫描F集合中各个函数依赖,找左部是ADE的子集的那些函数依赖,得到 A→E,D→A。于是X(2)= X(1) ∪EA=ADE。由于X(2)= X(1),所以算法到此为止,其属性AD的闭包为X(2),即ADE。 (2)对于键和函数依赖的关系,有两个条件:设关系模式R(A1,A2...An),F是R上的函数依赖集,X是R的一个子集,①X→A1A2...An∈F+ (它的意思是X能够决定唯一的一个元组) ②不存在X的真子集Y,使得Y也能决定唯一的一个元组,则X就是R的一个候选键(它的意思是X能决定唯一的一个元组但又没有多余的属性集)。可以利用Armstrong 的推理规则,求出X使得X→ABCDE。由D→A和AC→B,可得:DC→B,由B→A得:DC→A,又由A→E得:DC→E。而DC→C,DC→D。所以由上可知:DC→ABCDE。故候选关键字为CD。

 3.若有关系模式R(A,B,C)和S(C,D,E),对于如下的关系代数表达式:

E=∏A,D(σB<'2003'∧R.C=S.C∧E='80'(R×S))

E=∏A,D(σR.C=S.C(σB<'2003'(R)×σE='80'(S)))

E=∏A,D(σB<'2003'(R) σE='80'(S))

E=∏A,D(σB<'2003'∧E='80'(R S))
正确的结论是__(20)__ ,表达式 __(21)__ 的查询效率最高。

(1) A. E1≡E2≡E3≡E4                                  B. E3≡E4但E1≠E2

C. E1≡E2但E3≠E4                                D. E3≠E4但E2≡E4

(2) A. E1                  C. E3                          B. E2                         D. E4

答案:(1)A  (2) C

解析:(1)这道题的查询含义是:找出R.C=S.C时,其中B<'2003'且E='80',只含A、D属性的这些记录。从E1、E2、E3、E4式子中看出它们是等价的。(2)查询优化的目的就是为了系统在执行时既省时间又能提高效率。优化的策略主要有以下几点:①在关系代数表达式中尽可能早地执行选择操作(早选择)(这是最总要最基本的一条) ②把笛卡尔积和随后的选择操作合并成F联接运算(F联接) ③同时计算一连串的选择和投影操作(同时算) ④保留同一子表达式的结果 ⑤适当对关系文件进行预处理     ⑥计算表达式之前先估计一下怎么计算合算。根据第一条可知E3是查询效率最高的。

 4.集合A={d.b.c}上的二元关系R为:R={<a,a>,<c,c>,<a,b>)},则二元关系R是____。

A.自反的  B.反自反的     C.对称的  D.传递的

答案:D

解析:这道题属于离散数学范围。考生只需要清楚自反、反自反、对称、传递的含义,就能轻松解题。R不是自反的,因为R中不含<b,b>。因为R中含有<a,b>但不含< b,a >。也不是反自反的,因为含有<a,a>。也不是对称的,因为R中含有<a,b>但不含< b,a >。R是传递的,因为R中只有<a,a>和<a,b>可以发生传递,而传递后的结果<a,b>含在其中。

 

本文地址:http://com.8s8s.com/it/it37153.htm