1、国家四级数据库工程师-试卷 2 及答案解析(总分:82.00,做题时间:90 分钟)一、选择题(总题数:31,分数:62.00)1.选择题(1-20 每题,21-30 每题)下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。(分数:2.00)_2. (分数:2.00)A.B.C.D.3. (分数:2.00)A.B.C.D.4. (分数:2.00)A.B.C.D.5. (分数:2.00)A.B.C.D.6. (分数:2.00)A.B.C.D.7. (分数:2.00)A.B.C.D.8. (分数:2.00)A.B.C.D.9. (分数:
2、2.00)A.B.C.D.10. (分数:2.00)A.B.C.D.11. (分数:2.00)A.B.C.D.12. (分数:2.00)A.B.C.D.13. (分数:2.00)A.B.C.D.14. (分数:2.00)A.B.C.D.15. (分数:2.00)A.B.C.D.16. (分数:2.00)A.B.C.D.17. (分数:2.00)A.B.C.D.18. (分数:2.00)A.B.C.D.19. (分数:2.00)A.B.C.D.20. (分数:2.00)A.B.C.D.21. (分数:2.00)A.B.C.D.22. (分数:2.00)A.B.C.D.23. (分数:2.00)A
3、.B.C.D.24. (分数:2.00)A.B.C.D.25. (分数:2.00)A.B.C.D.26. (分数:2.00)A.B.C.D.27. (分数:2.00)A.B.C.D.28. (分数:2.00)A.B.C.D.29. (分数:2.00)A.B.C.D.30. (分数:2.00)A.B.C.D.31. (分数:2.00)A.B.C.D.二、简答题(总题数:8,分数:16.00)32.简答题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。(分数:2.00)_33.在 VB6.0 中,用于设置 ADO 结果集的内容,这个内容可以是一张表,也可以来自一个查询语句,还可以来
4、自一个存储过程的执行结果的属性是 _ 。(分数:2.00)_34.数据库中有学生表 Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示为学号,姓名,性别,年龄,所在系;学生选课表 SC(Sno,Cno,Grade),各属性分别表示为学号,课程号以及成绩;课程表Course(Cno,Cname,Cpno,Ccredit),各属性为课程号,课程名,先行课,学分。(先行课的意思是,比如课程号 1 有先行课 5,说明要选课程 1,必须先选课程 5)。用以上各表完成查询选修了全部课程的学生的姓名的语句补充 SELECT Sname FROM Student WHERE
5、NOT EXISTS (SELECT* FROM _ WHERE _ (SKIJECT* FROM _ WHERE _ AND _ )(分数:2.00)_35.假设某数据库中有表 TK,TK 中有属性 TK_N(课程名),查询以“DB_”开头,且倒数第三个字符为 i 的课程的详细情况 SELECT* FROM TK_N WHERE _ 。(分数:2.00)_36.已知关系 R(A,B,C),其中 A 和 C 为数值型属性,试用 SQL 语句完成下列任务:按属性 A 分组,求出每组中在属性 C 上的最大值和最小值,且将它们置于视图 RVE 中。 _ AS _ FROM R _(分数:2.00)_
6、37.在关系数据库中,可以对属性值、属性值集合、元组、关系、整个索引、整个数据库等逻辑单元进行加锁,也可以对数据页、索引页和块等物理单元进行加锁,这些施加了锁的数据项的大小称为 _ 。(分数:2.00)_38.假设用户 U1 将对表 SC 的 INSERT 权限授予了 U2,而 U2 又将其授予了用户 U3。现要将 U1 对表 SC 的权限收回,请完成下列的 SQL 语句。 _ ON TABLE SC _(分数:2.00)_39.设有学生表 STUDENT,其中有学号,姓名,年龄,性别等字段,该表是在 2002 年建立的,到 2003 年用户可以使用 SQL 的 _ 语句,将表中所有学生的年龄
7、增加一岁,到 2004 年,显示学生表中年龄大于 22 岁的学生的信息的 SQL 语句是 _ 。(分数:2.00)_三、设计题(总题数:2,分数:4.00)40.设计题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。(分数:2.00)_41.对于工程数据库的四个基本表 厂家 S(Sno,Sname,Status,City) 产品P(Pno,Pname,Weight,Color) 工程 J(Jno,Jname,City) 供货 SPJ(Sno,Pno,Jno,QTY) 试用 SQL 的查询语句表达下列查询。 给出货量(QTY)在 300500 的所有供货情况。 查询使用了由供应红
8、色产品的厂商供应的产品的工程名。 查询至少使用了厂家 S1 所提供的全部零件的工程名。(分数:2.00)_国家四级数据库工程师-试卷 2 答案解析(总分:82.00,做题时间:90 分钟)一、选择题(总题数:31,分数:62.00)1.选择题(1-20 每题,21-30 每题)下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。(分数:2.00)_解析:2. (分数:2.00)A.B.C. D.解析:解析:数据库管理系统是位于用户和操作系统之间的一层数据管理软件,它的主要功能是数据定义,数据组织、存储和管理,数据操纵、数据库的事务管理
9、和运行管理、数据库的建立和维护功能等。DBS 包括 DB、DBMS 和 DBAS。因此 DBMS 和 DB 是相互独立的系统。3. (分数:2.00)A.B.C.D. 解析:4. (分数:2.00)A.B. C.D.解析:5. (分数:2.00)A.B. C.D.解析:6. (分数:2.00)A.B.C.D. 解析:解析:多值函数依赖包括自反律、增广律、传递律、合并规则、分解规则和伪传递规则。如果 XY是主码,则可以知道,XZ 或 YZ 显然不成立,A 选项错误。B 选项将增广律叙述错误,当 XY、XZ时,XYZ。C 选项将分解规则叙述错误,当 Z 包含于 Y 时,XZ 才成立。7. (分数:
10、2.00)A.B.C. D.解析:解析:一个模型由图形文字说明、词汇表及相互的交叉引用组成,其中图形是主要组成成分,在IDEF0 中箭头代表的是数据,而不是流或是顺序。每个矩形框至少有一个控制箭头和输出箭头,一个活动可以没有输出但不允许没有输入又没有控制。8. (分数:2.00)A.B. C.D.解析:解析:进行存取权限控制时,可以为不同的用户定义不同的视图,把数据对象限制在一定范围内,因此只要建立各系的行级视图,并将权限赋予该系的管理员,就可以实现各系的管理员只能读取本系的学生信息。9. (分数:2.00)A.B.C.D. 解析:10. (分数:2.00)A.B.C.D. 解析:解析:对于基
11、本表,下面一些属性上可以考虑建立索引:表的主码,一般由 DBMS 自动建立索引,在 WHERE 查询子句中引用率较高的属性,参与了链接操作的属性,在 ORDER BY 子句、GROUP BY 子句中出现的属性,在某一范围内频繁搜索的属性和按照排序频繁检索的属性,在 WHERE 子句中包含的一个关系的多少个属性,可以考虑在这些属性上建立多属性索引。11. (分数:2.00)A.B.C. D.解析:12. (分数:2.00)A.B.C.D. 解析:13. (分数:2.00)A. B.C.D.解析:14. (分数:2.00)A. B.C.D.解析:解析:系统出现故障时恢复子系统将根据事务的不同状态采
12、取不同的恢复策略,如果事务在故障发生时未完成,应该予以撤销;如果事务在检查点之后才提交,它们对数据库所做的修改在故障发生时可能还在缓冲区中,尚未写入数据库,所以要 REDO;如果事务在检查点之前已经提交,则不必执行 REDO。15. (分数:2.00)A. B.C.D.解析:解析:在软件开发中,在需求分析阶段,系统分析人员通过和用户的沟通,利用数据流图、数据字典、判定表等,产生软件的各种功能性要求和非功能性要求,以形成软件需求说明书。在系统的概要设计阶段,设计人员利用需求分析阶段产生的软件需求说明书中的数据流等设计出模块的软件系统结构。而在软件的详细阶段,设计人员主要设计模块间接口的执行算法等
13、,主要是程序方面的详细问题。16. (分数:2.00)A.B.C. D.解析:解析:对数据库系统的转储和恢复能力测试属于系统的性能测试。A 错误。对于数据量极大的中大型系统,数据装载非常耗时,因此不需要等待所有的数据都入库后才开始试运行,而只需先装载少量的数据即可,等到试运行的结果符合设计要求后,再批量装入全部数据。B 错误。数据库运行一般在编写与调试完程序之后。C 错误。17. (分数:2.00)A.B.C. D.解析:解析:完全备份是将数据库中的全部信息进行备份,它是恢复的基线。在进行完全备份时,不但备份数据库的数据文件、日志文件,而且还备份文件的存储位置信息以及数据库中的全部对象以及相关
14、信息。18. (分数:2.00)A.B.C. D.解析:解析:在进行数据仓库主题数据模型设计时要强调数据的集成性。选项 C 正确。数据仓库的需求很难把握,但是从数据仓库项目的建立而言,如果用户或企业没有相对明确要求,难以做项目估算和验收,也就无法开展数据仓库项目。因此 A 说法错误。在进行数据仓库主题数据模型设计时是以面向主题的方式进行组织的,而传统的 OLTP 环境下,数据库系统的数据一般是以面向企业基本业务应用的方式进行组织的。B 选项说法也错误。在进行数据仓库概念模型设计时,需要设计实体关系图,而给出数据表的划分,并给出每个属性的定义域是逻辑模型设计时做的工作。D 选项错误。19. (分
15、数:2.00)A.B. C.D.解析:20. (分数:2.00)A.B.C. D.解析:21. (分数:2.00)A. B.C.D.解析:解析:协作图是交互图中的一种,图中包含一组对象,并展示了这些对象之间的联系以及对象间发送和接收消息。状态图主要是描述一个实体在发生一些事件时的状态变化情况,显示了该实体在某一状态时对不同的事件做出的不同反应。顺序图主要用于描述系统内对象之间的消息发送和接受序列。部署图描述环境元素的配置,并把实现系统的元素映射到配置上。22. (分数:2.00)A.B.C.D. 解析:23. (分数:2.00)A.B.C.D. 解析:24. (分数:2.00)A.B.C.D.
16、 解析:25. (分数:2.00)A.B.C.D. 解析:26. (分数:2.00)A.B. C.D.解析:27. (分数:2.00)A.B.C.D. 解析:28. (分数:2.00)A.B.C. D.解析:解析:数据库镜像有如下优点:数据库镜像提供完整或接近完整的数据冗余,增强数据保护功能;发生灾难时,数据库镜像可快速使数据库的备用副本提供服务,使数据不会丢失,提高数据库的可用性;提高镜像数据库在升级期间的可用性。数据库镜像是把整个数据库或其中的关键数据复制到另一个磁盘上,其建设成本只会提高。29. (分数:2.00)A.B.C. D.解析:解析:一般的数据库和操作系统有 3 种不同的配置:
17、 数据库系统作为操作系统数据管理功能的扩充,与操作系统合二为一,相对于应用程序,它是操作系统的一个扩充接口。 给所有应用程序连接数据库系统的一个副本,即所谓连人数据库系统,相当于一个子程序。 数据库系统相对于操作系统及应用程序保持独立,即所谓独立数据库系统。30. (分数:2.00)A. B.C.D.解析:解析:JDBC(Java DataBase Connectivity Standard)是一种用于执行 SQL 语句的 JAVA API 的面向对象的应用程序接口,可以为多种关系数据库提供统一的访问,它是由一组用 JAVA 语言编写的类和接口组成。JDBC 可做三件事:与数据库建立连接,发送
18、 SQL 语句并处理结果。31. (分数:2.00)A. B.C.D.解析:二、简答题(总题数:8,分数:16.00)32.简答题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。(分数:2.00)_解析:33.在 VB6.0 中,用于设置 ADO 结果集的内容,这个内容可以是一张表,也可以来自一个查询语句,还可以来自一个存储过程的执行结果的属性是 _ 。(分数:2.00)_正确答案:(正确答案:RecordSource)解析:34.数据库中有学生表 Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示为学号,姓名,性别,年龄,所在系;学生选课表
19、SC(Sno,Cno,Grade),各属性分别表示为学号,课程号以及成绩;课程表Course(Cno,Cname,Cpno,Ccredit),各属性为课程号,课程名,先行课,学分。(先行课的意思是,比如课程号 1 有先行课 5,说明要选课程 1,必须先选课程 5)。用以上各表完成查询选修了全部课程的学生的姓名的语句补充 SELECT Sname FROM Student WHERE NOT EXISTS (SELECT* FROM _ WHERE _ (SKIJECT* FROM _ WHERE _ AND _ )(分数:2.00)_正确答案:(正确答案:Course NOT EXISTS S
20、C Sno Student.Sno Cno=Course.Cno)解析:35.假设某数据库中有表 TK,TK 中有属性 TK_N(课程名),查询以“DB_”开头,且倒数第三个字符为 i 的课程的详细情况 SELECT* FROM TK_N WHERE _ 。(分数:2.00)_正确答案:(正确答案:Cname LIKE DB/_%_ ESCAPE /)解析:36.已知关系 R(A,B,C),其中 A 和 C 为数值型属性,试用 SQL 语句完成下列任务:按属性 A 分组,求出每组中在属性 C 上的最大值和最小值,且将它们置于视图 RVE 中。 _ AS _ FROM R _(分数:2.00)_
21、正确答案:(正确答案:CREATE VIEW RVE(A,CMAX,CMIN) SELECT A,MAX(C),MIN(C) ORDER BY A)解析:37.在关系数据库中,可以对属性值、属性值集合、元组、关系、整个索引、整个数据库等逻辑单元进行加锁,也可以对数据页、索引页和块等物理单元进行加锁,这些施加了锁的数据项的大小称为 _ 。(分数:2.00)_正确答案:(正确答案:锁粒度)解析:38.假设用户 U1 将对表 SC 的 INSERT 权限授予了 U2,而 U2 又将其授予了用户 U3。现要将 U1 对表 SC 的权限收回,请完成下列的 SQL 语句。 _ ON TABLE SC _(
22、分数:2.00)_正确答案:(正确答案:REVOKE INSERT FROM U1 CASCADE)解析:39.设有学生表 STUDENT,其中有学号,姓名,年龄,性别等字段,该表是在 2002 年建立的,到 2003 年用户可以使用 SQL 的 _ 语句,将表中所有学生的年龄增加一岁,到 2004 年,显示学生表中年龄大于 22 岁的学生的信息的 SQL 语句是 _ 。(分数:2.00)_正确答案:(正确答案:UPDATE STUDENT SET 年龄=年龄+1 SELECT*FROM STUDENT WHERE 年龄年龄+l)解析:三、设计题(总题数:2,分数:4.00)40.设计题请用蓝
23、、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。(分数:2.00)_解析:41.对于工程数据库的四个基本表 厂家 S(Sno,Sname,Status,City) 产品P(Pno,Pname,Weight,Color) 工程 J(Jno,Jname,City) 供货 SPJ(Sno,Pno,Jno,QTY) 试用 SQL 的查询语句表达下列查询。 给出货量(QTY)在 300500 的所有供货情况。 查询使用了由供应红色产品的厂商供应的产品的工程名。 查询至少使用了厂家 S1 所提供的全部零件的工程名。(分数:2.00)_正确答案:(正确答案:SELECT* FROM SPJ WHE
24、RE QTY BETWEEN 300 AND 500 SELECT Jname FROM J WHERE Jno IN(SELECT Jno FROM SPJ WHER Sno IN (SELECT Sno FROM SPJ WHERE Pno IN (SELECT Pno FROM p WHERE Color=红) SELECT Jname FROM J WHERE NOT EXISTS(SELECT* FROM SPJ SPJX WHERE Sno=S1 AND NOT EXISTS (SELECT* FROM SPJ SPJY WHERE SPJX. Pno=SPJY.Pno AND SPJY.Jno=J.Jno);)解析: