1、2008年 9月数据库工程师真题试卷及答案与解析 1 在数据库应用系统生命周期模型中,规划与分析阶段的输出结果不包括 _。 ( A)需求规范说明书 ( B)系统范围与边界 ( C)可行性分析报告 ( D)项目计划书 2 在信息系统的需求分析中,广为使用的 DFD建模方法属于 _。 ( A)结构化分析方法 ( B)数据分析方法 ( C)数据抽象方法 ( D)业务归纳方法 3 不允许出现在最终 IDEFIX图中的是 _。 ( A)标定型联系 ( B)非标定型联系 ( C)分类联系 ( D)多对多联系 4 下列哪些属性不适合建立索引 _。 ( A)经常出现在 GROUP BY字句中的属性 ( B)经
2、常参与连接操作的属性 ( C)经常出现在 WHERE字句中的属性 ( D)经常需要进行更新操作的属性 5 在数据库应用系统生命周期模型中,作为系统总体设计阶段输入的是 _。 ( A)技术可行性分析报告和需求规范说明书 ( B)软硬件选型和配置设计 ( C)数据库应用系统体系 结构设计 ( D)应用软件总体设计 6 SQL Server 2000中,如果希望用户 u1在 DB1数据库中具有查询 T1表的权限,正确的授权语句是 _。 ( A) GRANT SELECT ON DB1(T1) TO u1 ( B) GRANT SELECT TO u1 ON DB1(T1) ( C) GRANT SE
3、LECT TO u1 ON T1 ( D) GRANT SELEVT ON T1 TO u1 7 SQL Server 2000提供了很多预定义的角色,下述关 于 public角色说法正确的是_。 ( A)它是系统提供的服务器级的角色,管理员可以在其中添加和删除成员 ( B)它是系统提供的数据库级的角色,管理员可以在其中添加和删除成员 ( C)它是系统提供的服务器级的角色,管理员可以对其进行授权 ( D)它是系统提供的数据库级的角色,管理员可以对其进行授权 8 关于 ADO对象模型中的 RecordSet,下述说法正确的是 _。 ( A)它用于定义连接的数据库名 ( B)它用于定义数据的来源
4、( C)它是一个对象,用于在客户端内存中 存放数据查询的结果 ( D)它是一个对象,用于在服务器端内存中存放数据查询的结果 9 关于 ADO对象模型,下述说法正确的是 _。 ( A)它是与 OLE DB同层的独立的接口集 ( B)它是与 ODBC同层的独立的接口集 ( C)它是建立在 OLE DB接口之上的高层接口集 ( D) OLE DB是建立在 ADO对象模型之上的高层接口集 10 关于 UML的静态建模机制,下述说法错误的是 _。 ( A)用例模型是将满足用户需求的所有功能表示出来的工具 ( B)用例图用于表示系统的 数据模型和功能模型 ( C)类图展现了一组类、接口和协作以及它们之间的
5、关系 ( D)组件图表示系统的静态实现视图,用于对源代码、可执行程序和物理数据库等进行建模 11 关于分布式数据库的分布策略,下述说法正确的是 _。 ( A)数据分配是对关系的操作,数据分片是对数据分配的操作 ( B)集中式数据分配策略不便于进行数据控制 ( C)全复制式数据分配策略可靠性高,响应速度快,但数据冗余大,同步维护复杂 ( D)分割式数据分配策略对全局数据控制灵活,但对局部数据存取效率低 12 关于数据 划分策略,下述说法错误的是 _。 ( A)散列划分采用某种散列函数,以数据的划分属性作为函数参数,计算数据应存储的磁盘序号 ( B)范围划分根据某个属性的取值,将数据划分为 n个部
6、分,分别存储到不同磁盘上 ( C)范围划分有利于范围查询和点查询,但也可能会引起数据分布不均匀及并行处理能力下降问题 ( D)轮转法划分能保证元组在多个磁盘上的平均分配,并具有较高的点查询和范围查询 13 将新插入的记录存储在文件末尾,并使记录随机地分布在文件物理存储空间中的文件结构是 _。 ( A)堆文件 ( B)聚集文件 ( C)索引文件 ( D)散列文件 14 有一个事务 T要更新数据库中某表列的值, DBMS在执行 T时发现更新后的值超出了该列的值定义范围,因此异常终止了 T。为了保证数据的正确性及一致性,DBMS会执行下列哪个恢复操作 _。 ( A) undo ( B)介质恢复 (
7、C)进程恢复 ( D) redo 15 关于数据库系统中的数据的静态转储和动态转储机制,下述说法正确的是_。 ( A)静态转储时允许其他事务 访问数据库 ( B)动态转储时允许在转储过程中其他事务对数据进行存取和修改 ( C)静态转储能够保证数据库的可用性 ( D)动态转储无法保证数据库的可用性 16 在数据库系统中,下列哪个映像关系用于提供数据与应用程序间的逻辑独立性_。 ( A)外模式 /模式 ( B)模式 /内模式 ( C)外模式 /内模式 ( D)逻辑模式 /内模式 17 在 SQL Server 2000中,事务日志备份 _。 ( A)对故障还原模型没有要求 ( B)要求故障还原 模
8、型必须是完全的 ( C)要求故障还原模型必须是简单的 ( D)要求故障还原模型不能是简单的 18 关于数据库试运行和功能与性能测试,下列说法正确的是 _。 ( A)对数据库系统的转储和恢复能力的测试属于系统的功能测试范畴 ( B)在进行数据库功能测试时,一般要先装入大规模的数据 ( C)数据库试运行一般是与编写调试程序的工作同步开展的 ( D)数据库系统的压力测试、并发访问测试、查询效率测试一般属于性能测试范畴 19 关于数据仓库设计,下述说法正确的是 _。 ( A)数据仓库项目的需求很难把握,所以不可能从用户的需求出发来进行数据仓库的设汁,只能从数据出发进行设计 ( B)在进行数据仓库主题数
9、据模型设计时,应该按面向部门业务应用的方式来设计数据模型 ( C)在进行数据仓库主题数据模型设计时要强调数据的集成性 ( D)在进行数据仓库概念模型设计时,需要设计实体关系图,给出数据表的划分,并给出每个属性的定义域 20 关于分布式数据库系统,下述说法正确的是 _。 ( A)查询代价主要考虑 CPU代价和 I/O代价 ( B)分布透明性是指用户需要并能 完全看清数据分片的位置、分片的分配位置以及数据复制的过程 ( C)分布式查询优化一般不需要考虑操作的执行顺序和数据在不同场地间的传输顺序 ( D)执行分布式数据库查询时,导致数据传输量大的主要原因是数据问的连接操作和并操作 21 已知下列员工
10、关系表。 Employees 对该表的工资属性和完整性约束为: 2000工资 5000 现将如下 2个操作组织为事务 T,操作 1先执行,操作 2后执行。 操作 1: INSERT INTO Employees VALUES(03650, 研发 , 4600) 操作 2: UPDATE Employees SET工资 =工资 1.2 WHERE部门 =市场OR部门 =研发 事务 T执行完毕后,关系表 Employees的数据是22 有会员卡表 TableCards(CardID, StartDate, Score), CardID表示卡标识, Scme为卡积分,有视图定义: CREATE VI
11、 EW vCard AS SELECT*FROM TableCards WHERE Score BETWEEN 200 AND 500 WITH CHECR OPTION 假设(C0001, 2008/5/6, 220) 是 TableCards表中的一个元组,下述说法正确的是_。 ( A)若要查询积分在 200和 300之间的所有卡标识,通过视图 vCARD查询会比连接在 Table- Cards上查询的效率要高 ( B)数据库系统会分配存储空间实际保存视图 vCards所对应的数据 ( C)语句 UPDATE vCards SET Score=260 WHERE CardID=C0001能
12、成功执行 ( D)语句 INSERT INTO vCard VALUSE(C0010, 2008/4/5, 1000) 能成功执行 23 现有 SQL Sever2000数据库服务器,其中的一个数据库占用 80 GB空间,另有一台用于备份的计算机,该机上有四个大小均为 50 GB的硬盘分区。若要将此数据库完全备份到该计算机上,则 _。 ( A)不能实现,因为每个分区上的空间都不够 80 GB ( B)可以先建立一个备份设备,这个备份设备分别在四个分区上各占用 20 GB空间,然后再用此设备备份数据库 ( C)可以先在每个分区上分别建立一个备份设备,指定每个设备的大小均为 20 GB,并建立一个
13、包含这四个备份设备的备份媒体集,最后再用此备份媒体集备份数据库 ( D)可以先在每个分区上分别建立一个不用指定大小的备份设备,然后将数据库同时备份到这四个备份设备上 24 有一个具有 10万行数据的关系表,每行占用 2000字节空问,如果在 SQL Sever 2000管理的数据库中存放此关系表,则需要的空间大约是 _。 ( A) 300 MB ( B) 400 MB ( C) 500 MB ( D) 600 MB 25 下面给出的关系表 r(A, B, C, D)满足下述哪个函 数依赖 _。( A) AB ( B) BD ( C) DC ( D) AD 26 某供应商关系模式为: Provi
14、der(PID, Pname, Tel, GoodsID,GoodsClassID, GoodsName, GoodsPrice)该关系模式应满足如下函数依赖: PIDPname , PIDTEL , GoodsIDGoodsClassID , GoodsIDGoodsName ,GoodsNameGoodsPrice 则这个关系模式的主码为 _。 ( A) (PID, GoodsName) ( B) (PID, GoodsClassI ( D) (PID, GoodsI(PID, GoodsPrice) 27 给定如下数据: 商品销售数据以上数据中,一般不属于元数据的是 _。 ( A) 和
15、( B) 、 和 ( C) 和 ( D) 、 和 28 有职工工资表 (职工号、姓名、日期、基本工资、奖金、工资合计 ),其中 “工资合计 ”等于同一行数据的 “基本工资 ”与 “奖金 ”之和,在职工工资表中插入一行数据时 (设一次只插入一行数据 )能实现自 动计算 “工资合计 ”列的值的代码是 _。 ( A) ALTER TABLE职工工资表 ADD CHECK(工资合计 =基本工资 +奖金 ) ( B) UPDATE职工工资表 SET工资合计 =基本工资 +奖金 ( C) INSERT INTO职工工资表 (工资合计 )VALUES(基本工资 +奖金 ) ( D) CREATE TRIGG
16、ER TRION职工工资表 FOR INSERTAS UPDATE职工工资表 SET a工资合计 =基本工资 +a奖金 FROM职工工资表 a JOIN INSERTED b ON a职工号 =b职工号 AND a日期 =b日期 29 有教师表 (教师号,姓名,职称,所在系 )和授课表 (教师号,课程号,授课学年,授课时数 ),同一门课程可由多个教师讲授,同一个教师也可讲授多门课程,查询从未被 “教授 ”讲授过的课程的课程号,正确的语句是 _。 ( A) SELECT课程号 FROM授课表 a JOIN教师表 bON a.教师号 =b.教师号WHERE职称 !=教授 ( B) SELECT课程
17、号 FROM授课表 a R1GHT OUTTER JOIN教师表 b ON a.教师号 =b.教师号 ( C) SELECT课程号 FROM授课表 WHERE课程号 NOT IN(SELECT课程号FROM授课表 a JOIN授课表 b ON a.教师号 =b.教师号 WHERE职称 !=教授 ) ( D) SELECT课程号 FROM授课表 WHERE课程号 IN(SELECT课程号 FROM授课表 a JOIN授课表 b ON a.教师号 =b.教师号 WHERE职称 !=教授 ) 30 给定如下三个关系表: 销售明细表 (商品标识,销售时间,单价,数量,金额 ) 日销售表 (商品标识,销
18、售日,总数量,总金额 ) 月销售表 (商品标识,销售月份,总数量,总金额 )下述说法正确的是 _。 ( A)销售明细表的数据粒度最大,数据量最大 ( B)日销售表的数据粒度最大,数据量最小 ( C)月销售表的数据粒度最大,数据量最小 ( D)月销售表的数据粒度最小,数据量最小 一、简答题 请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。 31 设有商场经营管理系统,系统中的部分数据表和视图的相关信息如下所示:表中 T4的数据源是 T3表明 T4中的数据是根据 T1的数据汇总计算而来的,并假定各个表的数据都得到了及时计算,现需对系统进行优化,以提高与视图 V1有关的查询效率,设有
19、如下优化方案: 为 T1建立主索引 为 T2建立主索引 为 T3建立主索引 重写视图 V1,将其数据源调整为 T4,并为 T4建立主索引 重写视图V1,将其数据源调整为 T2,并为 T2建立主索引 请针对每一个优化方案,说明该优化方案对实现目 32 写出 “专业 ”属性上建立聚集索引的 SQL语句,索引值按升序排序 (索引名为ZY_ind)。 33 假设索引按稠密索引方式组织数据,画出在 “专业 ”属性上建立聚集索引后该表对应的索引文件和数据文件的物理存储结构示意图 (以 “专业 ”为查找码,按查找自定义的首字母升序排序 )。 34 有商品表 (商品号,商品名,分类,单价 ),请编写一个实现更
20、改商品单价的存储过程 (存储过程名为 pUpdate),更改规则如下: “电脑 ”类商品降价 10%, “电视 ”类商品降价 6%, “冰箱 ”类商品降价 3%,其他商品不降价。以商品的分类作为输入参数,假设 “分类 ”为字符串类型,长度最多为 6个汉字。如果商品表中没有用户指定的分类,则用输出参数返 回字符串 “指定的分类不存在 ”;如果用户指定的分类存在,则用输出参数返回字符串 “修改已成功 ”。 35 请根据以上信息画出合理的图书销售数据库的概念模型 (用 ER图表示 )。 36 以图书销售表为例说明原数据库设计的不合理之处。 37 给出该数据库符合 3NF要求的全部关系模式,并指出关系
21、模式中的全部主码和外码。 38 在事务 T2刚完成提交后,数据库中 A、 B、 C的值各是多少 ? 39 当事务 T3结束后,给出该并发调度对应的日志文件,并说明此时 A、 B、 C的值各是多少 ? 2008年 9月数据 库工程师真题试卷答案与解析 1 【正确答案】 A 【试题解析】 本题考查的知识点是规划与分析阶段的输出结果。在数据库应用系统生命周期模型中,规划与分析阶段的输出结果包括系统范围与边界、可行性分析报告和项目计划书等,所以本题的答案为 A。 2 【正确答案】 A 【试题解析】 本题考查的知识点是 DFD建模方法。目前在信息系统的需求分析中广为使用的建模方法主要有数据流程图 (DF
22、D)方法和 IDEFO建模方法,都属于结构化分析方法,所以本题的答案为 A。 3 【正确答案】 D 【试题解析】 在 最终的 IDEF模型中,所有实体集间的联系都必须用确定联系来描述,不允许出现不确定联系,不确定联系又称为 “多对多联系 ”,所以本题的答案为 D。 4 【正确答案】 D 【试题解析】 对于经常在其上需要执行查询操作并且数据量很大的表,可以考虑建立索引;对于经常出现在 where子句、 order by子句和 group by子句中的属性就可以考虑使用索引;另外,索引技术是用来优化查询操作的,与插入、删除和更改操作没有关系。 5 【正确答案】 A 【试题解析】 软件生命周期包括制
23、定计划、需求分析、软件设 计、程序编写、软件测试、运行与维护。系统的总体设计阶段是以可行性分析和需求分析的结果为输入的,所以系统总体设计阶段的输入是技术可行性分析报告和需求规范说明书。 6 【正确答案】 D 【试题解析】 由 TransactSQL授权语句可知 D选项语句正确,所以本题的答案应该为 D。 7 【正确答案】 D 【试题解析】 public角色是系统提供的数据库级的角色,管理员可以对其进行授权,但不可以在其中添加和删除成员,因此答案为 D。 8 【正确答案】 C 【试题解析】 RecordSet对 象用于在客户端内存中存放数据查询的结果,所以本题的答案为 C。 9 【正确答案】 C
24、 【试题解析】 在 ADO对象模型中, ADO是建立在 OLE DB接口之上的高层接口集,因此本题答案为 C。 10 【正确答案】 B 【试题解析】 UML的静态建模机制中,用例图用于表示系统的功能模型,所以本题的答案为 B。 11 【正确答案】 C 【试题解析】 集中式数据分配策略有利于进行数据控制;分割式数据分配策略对局部数据控制灵活,但对全局数据存取效率低;全复制式数据分配策略可靠性高,响应速度快,但 数据冗余大,同步维护复杂因此本题答案为 C。 12 【正确答案】 D 【试题解析】 轮转法划分能保证元组在多个磁盘上的平均分配,但是对于点查询和范围查询的处理比较复杂,明显地降低了查询效率
25、,所以本题的答案为 D。 13 【正确答案】 A 【试题解析】 堆文件也称为无序 (记录 )文件。在堆文件中,记录随机地存储在文件物理空间中,新插入的记录存储在文件的末尾,所以本题的答案为 A。 14 【正确答案】 A 【试题解析】 在计算机系统重新启动后,对于未完成的事务可能已经写入数据库的内容,回 滚所有未完成的事务写的结果,以保证数据库中数据的一致性;对于已完成的事务可能部分或全部留在缓冲区的结果,需要重做所有已提交的事务,以将数据库真正恢复到一致状态。即当数据库发生系统故障时,容错对策是在重新启动系统后,撤销 (LINDO)所有未提交的事务,重做 (REDO)所有已提交的事务。 15
26、【正确答案】 B 【试题解析】 数据库系统中,动态备份允许转储操作和用户事务并发执行,即允许在转储过程中对数据库进行存取和修改,所以本题的答案为 B。 16 【正确答案】 A 【试题解析】 外模式 /模式 映像定义了数据库中不同用户的外模式与数据库逻辑模式之间的对应关系。当数据库模式发生变化时,通过调整外模式 /模式间的映像关系,使得应用程序不必随之修改,从而保证数据与应用程序间的逻辑独立性,简称数据的逻辑独立性,所以本题的答案为 A。 17 【正确答案】 B 【试题解析】 在 SQL Server 2000中,事务日志备份要求故障还原模型必须是完全的,因此本题答案为 B。 18 【正确答案】
27、 C 【试题解析】 数据库试运行一般是与编写调试程序的工作同步开展的,因此本题答案为 C。 19 【正确 答案】 D 【试题解析】 数据仓库概念模型设计与数据库的概念模型设计大致相同,需要设计实体关系图,给出数据表的划分,并给出每个属性的定义域。对于在层次结构中的每个主题,需要进行详细的调研,确定要分析的指标,确定用户从哪些角度来分析数据即维度,还要确定用户分析数据的细化或综合程度即粒度。 20 【正确答案】 D 【试题解析】 执行分布式数据库查询时,导致数据传输量大的主要原因是数据间的连接操作和并操作,因此本题答案为 D。 21 【正确答案】 B 【试题解析】 事务中的操作,要么都成功 ,要
28、么都失败。在数据更新时,将工资乘以 1.2, 4600*1.2=55205000,不满足完整性约束,显然操作 2在针对(“03560”, “研发 ”, 4600) 时会失败,则整个操作全部失败,数据将不会修改,故选 B。 22 【正确答案】 C 【试题解析】 使用视图不可以提高查询效率, A选项错误。视图是虚表,它随基本表的存在而存在,不会占用系统存储空间, B选项错误。 D选项中 1000超出有效范围,错误。 23 【正确答案】 C 【试题解析】 对于有 80 GB的数据库,分 4个硬盘分区来存储,可以 先在每个分区上分别建立一个备份设备,指定每个设备的大小均为 20 GB,并建立一个包含这
29、 4个备份设备的备份媒体集,最后再用此备份媒体集备份数据库。 24 【正确答案】 A 【试题解析】 按一个数据页能存多少行数据,这些数据需要多少个数据页来估算,大概是 300 MB,所以本题的答案为 A。 25 【正确答案】 B 【试题解析】 根据函数依赖的定义:关系 R上不可能存在两个元组在 X上的属性值相等,而在 Y上的属性值不等,从表中看来只有 BD ,所以本题的答案为B。 26 【正确答案】 C 【 试题解析】 本题考查的知识点为关系模式中的函数依赖。由题中给出的函数依赖关系不难看出, PJD和 GoodsID都不能单独完全决定其他属性,但两者结合构成主码就可以完全决定其他属性,所以本
30、题的答案为 C。 27 【正确答案】 B 【试题解析】 元数据 (Meta Data)是关于数据的数据,其内容一般包括主题描述、外部数据和非结构化数据的描述、层间数据映射关系、逻辑模型定义、集成时的数据转换规则、数据的抽取历史、数据分区定义以及有关存储路径和结构的描述等。所以本题的答案应该为 B。 28 【正确答案】 D 【试题解析】 在表中实现自动计算某一字段的值,可以采用触发器,所以本题的答案为 D。 29 【正确答案】 D 【试题解析】 本题考查的是表记录的条件查询,由题意可以看出 D选项可以实现查询要求,所以本题的答案为 D。 30 【正确答案】 C 【试题解析】 粒度越大,综合程度越
31、高,如果数据仓库不保存低粒度的数据,只有粗粒度的数据,则需要存储的数据量就较少,所以本题的答案为 C。 一、简答题 请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。 31 【正确答案】 视 图不能建立索引,无效。 视图 V1建立在 T3上, T2的索引优化对 V1没有影响。 可以在一定程度上提高 V1的查询效率,但是从 T3的每行记录粒度为 “日 ”查询到粒度 “季 ”,大约每次查询涉及 90行。而从 T4的每行记录粒度为 “月 ”查询到粒度 “季 ”,大约每次查询只涉及 3行,显然后者的查询效率更高。另外 T2的访问频率相当高,若是 V1建立在 T2上,显然会更加增加其查询频
32、率降低查询效率。 为 5种方案中最优方案。每次查询涉及行数最少 (3条 ),而且 T4的访问频率最低。 每次查询牵涉记录行数比方案 要多,虽 32 【正确答案】 CREATE CLUSTERED INDEX ZY_ind ON Students(专业 ) 33 【正确答案】 索引文件的物理存储结构示意图:34 【正确答案】 Create procedure pUpdate f1 as char(6) , jg as varchar(20) output As If not exists(Select*from商品表 where分类 =f1) BEGIN Iff1=“电脑 “Update商品表
33、set单 价 =单价 *0.9 where分类 =“电脑 “ Else BEGIN If(f1=“电视 “)Update商品表 set单价 =单价 *0.94 where分类 =“电视 ” El 【试题解析】 存储过程的建立使用 CREATE PROCEDURE,对存储过程中变量的命名要用到 变量名, 现有某图书销售数据库,其关系表结构如下: 图书表 (图书编号,图书名称,出版社编号,出版社名称,出版时间,出版数量,版次 ) 图书销售表 (罔书编号,销售日期,销售数量,书店编号,读者编号,读者姓名, 读者电话 ) 书店表 (书店编号,联系电话,所在城市编号,城市名称 ) 系统所涉及的数据存在如
34、下约束: 出版社可以出版多本图书,一本图书只能在一个出版社出版,在该系统记录的图书出版信息包括出版时间 35 【正确答案】 36 【正确答案】 图书销售表中,读者信息应该单独新建一张表,否则就会造成大量的数据冗余。 37 【正确答案】 出版社表 (出版社编号,出版社名称 )主码:出版社编号 出版表 (出版社编号,图书编号,出版时间,出版数量,版次 )主码: (出版社编号,图书编号 ) 图书表 (图书编号,图书名称 )主码;图书编号 书店表 (书店编号,联系电话,所在城市编号 )主码:书店编号 城市表 (所在城市编号,城市名称 )主码:所在城市编号 读者表 (读者编号,读者姓名读者电话 )主码:
35、读者编号 图书销售表 (图书编号,读者编号,销售日期,销售数量,书店编号 )主码: (图书编号,读者编号 ) 38 【正确答案】 A=30; B=20; C=40; 39 【正确答案】 日志记录: 30 20 80 A=30; B=20; C=40; 【试题解析】 本题考查的是事务的 调度与回滚。 T1, T2, T3的整个调度次序是先是 T1把 A加上 10,此时 A还是初值 20,直到 T3把 A写入,此时 A的值为30。而 T2只是读了 B, B的值未发生变化;之后的 Begintrans(T3) , T2对 B进行了改写并写入,所以 B的值发生变化,但是 T1虽然改变了 C的值,但是却没有写入,事务在 T2的时候就已经提交,所以 C的值未变。