1、国家四级数据库工程师-试卷 45 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.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)
3、A.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.二、简答题(总题数:3,分数:6.00)31.简答题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。(分数:2.00)_32.触发器的作用是什么?(分数:2.00)_33.简述 SQL Server 2000 的主要管理功能?(分数:2.00)_三、设计题(总题数:3,分数
4、:14.00)34.设计题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。_假设某商店数据库中有关系模式 R(商店编号,商品编号,数量,部门编号,负责人)。 约定:每个商店的每种商品只在一个部门销售;每个商店的每个部门只有一个负责人;每个商店的每种商品只有一个库存数量。(分数:4.00)(1).找出关系模式 R 的候选码,关系模式 R 最高已达到第几范式?(分数:2.00)_(2).如果 R 不是 3NF,请将 R 分解成 3NF 模式集。(分数:2.00)_设职工-社团数据库有 3 个基本表: 职工(职工号,姓名,年龄,性别); 社会团体(编号,名称,负责人,活动地点); 参
5、加(职工号,编号,参加日期)。 其中: 1)职工表的主码为职工号。 2)社会团体表的主码为编号,外码为负责人,被参照表为职工表,对应属性为职工号。 3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。 试用 SQL 语句表达下列操作:(分数:10.00)(1).定义职工表、社会团体表和参加表,并说明其主码和参照关系。(分数:2.00)_(2).建立下列两个视图。 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别) 参加人情况(职工号,姓名,社团编号,社团名称,参加日期)(分数:2.00)_(3).查
6、找没有参加任何团体的职工情况。(分数:2.00)_(4).查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。(分数:2.00)_(5).把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户张三,并允许他将此权力授予其他用户。(分数:2.00)_国家四级数据库工程师-试卷 45 答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.选择题(1-20 每题,21-30 每题)下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。(分数:2.00)_解析:2. (分数:2
7、.00)A.B.C. D.解析:解析:数据库逻辑结构设计是指从数据库的概念模型出发,设计表示为逻辑模式的数据库逻辑结构,数据库逻辑设计的主要步骤包括 E-R 图转换为初始关系模式、对初始关系模式进行优化等,所以本题的答案为 C。3. (分数:2.00)A.B. C.D.解析:4. (分数:2.00)A. B.C.D.解析:5. (分数:2.00)A.B.C. D.解析:解析:事务 T1 对 A 上 S 锁后,事务 T2 仍能对 A 上 S 锁,这样事务 T1 的修改就丢失,最后 A 中的数据是事务 T2 写回的 18。因此为了防止丢失修改,必须在写数据操作之前对其上 X 锁。6. (分数:2.
8、00)A.B. C.D.解析:7. (分数:2.00)A. B.C.D.解析:8. (分数:2.00)A.B.C. D.解析:解析:在保证数据库一致性的前提下,将频繁操作的多个可以分割的处理过程放在多个存储过程中,这样可以大大提高系统的响应速度;使用游标才会占用较多的系统资源,尤其对于大规模并发量的情况,很容易使得系统资源耗尽而崩溃,而用临时表是能加速查询的。9. (分数:2.00)A.B.C.D. 解析:解析:稀疏索引是指如果只是一部分查找码的值有对应的索引记录,则该索引为稀疏索引;稠密索引是如果数据文件中的每一个查找码值在索引文件中都对应一个索引记录,则该索引为稠密索引;对于数据文件和它的
9、一个特定的索引文件,如果数据文件中的数据记录的排列顺序与索引文件中索引项的排列顺序相一致,或者说,索引文件按照其查找码指定的顺序与数据文件中数据记录的排列顺序相一致,则该索引文件称为聚集索引,否则为非聚集索引。10. (分数:2.00)A.B.C.D. 解析:解析:在 IDEF1X 图中,联系的语法用直线来表示。如果两个实体集之间有关系,并且是一个标定型联系,就用一条实线或线段把它们连接起来,1(父)端是线段的原点,n(子女)端是线段的终点,并用一个实心圆表示其联系的基数是 n。11. (分数:2.00)A. B.C.D.解析:解析:多值依赖的定义是:设 R(U)是属性集 U 上的一个关系模式
10、,X,Y,Z 是 U 上的子集,并且Z=U-X-Y、关系模式 R(U)中的多值依赖 XY 成立,当且仅当 R(U)的任意关系 r 给定的一对(x,z),有一组 Y 的值,这组值仅仅决定于 x 值而与 z 值无关。多值依赖具有对称性(选项 B),传递性,且可以把函数依赖看作是多值依赖的特殊情况。当是多值依赖不满足选项 B 的结论。12. (分数:2.00)A.B.C. D.解析:13. (分数:2.00)A.B. C.D.解析:14. (分数:2.00)A.B.C. D.解析:解析:差异备份是备份从最近的完全备份之后对数据所作的修改,它以完全备份为基准点,备份完全备份之后变化了的数据文件、日志文
11、件以及数据库中其他被修改的内容。15. (分数:2.00)A.B.C.D. 解析:解析:数据库镜像涉及尽快将对主体数据库执行的每项插入、更新和删除操作重做到镜像数据库中,重做通过将每个活动事务日志记录按顺序应用到镜像数据库中。这样,每当数据库更新时,DBMS 将自动保证镜像数据与主数据的一致性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.解析:解析:
12、聚集索引和非聚集索引:对于数据文件和它的一个特定的索引文件,如果数据文件中数据记录的排列顺序与索引文件中索引项的排列顺序相一致,或者说,索引文件按照其查找码指定的顺序与数据文件中数据记录的排列顺序相一致,则该索引文件称为聚集索引(Clastering Index)。否则,该索引文件称为非聚集索引(Nonclustering Index)。 稠密索引和稀疏索引:如果数据文件中的每个查找码值在索引文件中都对应一个索引记录,则该索引称为稠密索引(Dense Index)。如果只是一部分查找码的值有对应的索引记录,则该索引称为稀疏索引(Sparse Index)。 主索引和辅助索引:在数据文件包含主码
13、的属性集上建立的索引称为主索引(Primary Index)。在数据文件的非主属性上建立的索引称为辅索引(Secondary Index)。22. (分数:2.00)A.B. C.D.解析:解析:在系统存储过程实现中,可以使用系统存储过程 sp_addsrvrolenlember 将登录账户添加到固定的服务器角色中,其语法是: sp_addsrvrolemember loginame= login rolename= role 其中: loginame= login 添加到固定服务器角色的登录名称 rolename= role 要将登录添加到的固定服务器角色的名称23. (分数:2.00)A.
14、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.解析:解析:所谓数据库的监控分析,是指管理员借助相应工具在数据库运行过程中监测数据库系统的运行情况,掌握系统当前或是以往的负荷、配置、应用和其他相关信息;并对监控数据进行分析,分析数据库的性能参数和环境信息;评估系统的整体运行状态,为系统的安全运行和性能调优提供依据,并提出相应的改善措施,协助管理人员尽早清除数据库的性能隐患。根据监控分析实现方法的不同,监控分析机制分为两种,一种是由
15、数据库建立的自动监控机制,另一种是由管理员手动实现的监控机制。28. (分数:2.00)A.B.C.D. 解析:解析:锁粒度与事务并发执行的程度和 DBMS 并发控制的开销密切相关。锁粒度越大,系统中可以被加锁的数据项就越少,事务并发执行度也就越低,但是同时系统的开销也就越小。29. (分数:2.00)A. B.C.D.解析:解析:在静态转储过程中系统不能运行其他事务;动态备份运行转储操作和用户事务并发执行,即允许在转储过程中对数据库进行存取和修改。为了数据的有效性,需要引入日志文件,用它记录转储期间各事务对数据库的修改活动记录,然后使用动态转储的备份副本加上日志文件就可以将数据库恢复到某一时
16、刻的正确状态。30. (分数:2.00)A.B.C. D.解析:解析:目前典型的对象关系数据库产品有 Informix 公司的 Informix Universal server、IBM 公司的 DB2 UDB、Sybase 公司的 Adaptive server、orack 公司的 Orack 8i 以上产品、微软的 SQL Server 等。二、简答题(总题数:3,分数:6.00)31.简答题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。(分数:2.00)_解析:32.触发器的作用是什么?(分数:2.00)_正确答案:(正确答案:触发器的主要作用是: 完成比 CHECK
17、约束更复杂的数据约束。触发器可以引用其他表中的列。 为保证数据库性能而维护的非规范化数据。比如,为了提高数据的统计效率,在销售情况表中增加了统计销售总量的列,以后,每当在此表中插入数据时,都是用触发器统计销售总值列的新数值,并将统计后的新值保存在此表中。以后当查询销售总值时,直接从表中提取数据即可,而无须再使用查询语句进行统计,从而提高数据的统计效率。 实现复杂的业务规则,触发器可以使业务的处理任务自动进行。)解析:33.简述 SQL Server 2000 的主要管理功能?(分数:2.00)_正确答案:(正确答案:SQL 服务器的安装、配置和管理:为了使用 SQL 服务器,必须先对它们进行安
18、装和配置。服务管理:在 SQL 客户机安装相应的软件并配置它们。数据库管理:包括数据库的创建、修改、删除以及备份和恢复等。数据库对象的管理:包括管理数据库中的表、视图、存储过程、触发器、规则、缺省值等。数据管理:实现记录的添加、删除和修改以及数据的传递与复制等。安全性管理:包括用户管理和权限管理两方面的内容。作业管理:包括警报管理、操作员管理和任务管理。集成管理。)解析:三、设计题(总题数:3,分数:14.00)34.设计题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。_解析:假设某商店数据库中有关系模式 R(商店编号,商品编号,数量,部门编号,负责人)。 约定:每个商店的每
19、种商品只在一个部门销售;每个商店的每个部门只有一个负责人;每个商店的每种商品只有一个库存数量。(分数:4.00)(1).找出关系模式 R 的候选码,关系模式 R 最高已达到第几范式?(分数:2.00)_正确答案:(正确答案:R 的候选集是:(商店编号,商品编号)。R 属于 2NF,而不是属于 3NF。)解析:(2).如果 R 不是 3NF,请将 R 分解成 3NF 模式集。(分数:2.00)_正确答案:(正确答案:将 R 分解成: R1(商店编号,商品编号,数量,部门编号) R2(商店编号,商品编号,负责人)解析:设职工-社团数据库有 3 个基本表: 职工(职工号,姓名,年龄,性别); 社会团
20、体(编号,名称,负责人,活动地点); 参加(职工号,编号,参加日期)。 其中: 1)职工表的主码为职工号。 2)社会团体表的主码为编号,外码为负责人,被参照表为职工表,对应属性为职工号。 3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。 试用 SQL 语句表达下列操作:(分数:10.00)(1).定义职工表、社会团体表和参加表,并说明其主码和参照关系。(分数:2.00)_正确答案:(正确答案:CREAT TABLE 职工(职工号 CHAR(10)NOT NULL UNIQUE, 姓名 CHAR(8)NOT
21、NULL, 年龄 SMALLTNT, 性别 CHAR(2), CONSTRAINT C1 CHECK(性别 IN(男,女); CREAT TABLE 社会团体(编号 CHAR(8)NOT NULL UNIQUE, 名称 CHAR(12)NOT NULL, 负责人 CHAR(8),活动地点VARCHAR(50), CONSTRAINT C2 FOREIGN KEY(负责人)REFERENCES 职工(职工号); CREAT TABLE 参加(职工号 CHAR(8), 编号 CHAR(8), 参加日期 DATE, CONSTRAINT C3 PRIMARY KEY(职工号,编号), CONSTRA
22、IN C3 FOREIGN KEY(职工号)REFERENCES 职工(职工号);)解析:(2).建立下列两个视图。 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别) 参加人情况(职工号,姓名,社团编号,社团名称,参加日期)(分数:2.00)_正确答案:(正确答案:CREAT VIEW 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别) AS SELECT 编号,名称,负责人,姓名,性别 FROM 社会团体,职工 WHERE 社会团体负责人=职工职工号; CREAT VIEW 参加人情况(职工号,姓名,社团编号,参加日期) AS SELECT 参加职员号,姓名,社会团
23、体编号,名称,参加日期 FROM 职工,社会团体,参加 WHERE 职工职工号=参加职工号 AND参加编号=社会团体编号;)解析:(3).查找没有参加任何团体的职工情况。(分数:2.00)_正确答案:(正确答案:SELECT*FROM 职工 WHERE NOT EXISTS(SELCET*FROM 参加 WHERE 参加职工号=职工职工号);)解析:(4).查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。(分数:2.00)_正确答案:(正确答案:SELECT 职工号 FROM 职工 WHERE NOT EXISTS (SELECT*FROM 参加参加 1 WHERE 参加 1职工号=10001AND NOTEXISTS(SELECT*FROM 参加社会团体 WHERE 参加 2编号=参加 1编号 AND 参加 2职工号=职工职工号);)解析:(5).把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户张三,并允许他将此权力授予其他用户。(分数:2.00)_正确答案:(正确答案:GRANT SELECT,INSERT,DELECT ON 社会团体,参加 TO 张三 WHERE GRANT OPTION;)解析: