1、国家四级数据库工程师-试卷 24 及答案解析(总分:92.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.二、简答题(总题数:10,分数:20.00)31.简答题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。(分数:2.00)_32.假设某数据库中有表 Course,Course 中有属性 Cname(课程名),查询以“DB_”开头,则倒数第三个字符 i 的课程的详细情况:
4、SELECT* FROM Course WHERE _。(分数:2.00)_33.某数据库中有学生选课表 SC(Sno,Cno,Grade),各属性分别表示为学号,课程号以及成绩。查询选修了 3 门课以上的学生的学号: SELECT Sno FROM SC GROUP BY Sno _。(分数:2.00)_34.设有学生表 STUDENT,其中有学号,姓名,年龄,性别等字段,该表是在 2002 年建立的,到 2003 年用户可以使用 SOL 的 _ 语句,将表中的所有学生年龄增加一岁,到 2004 年,显示学生表中年龄大于22 岁的学生信息的 SQL 语句是 _ 。(分数:2.00)_35.数
5、据库中有学生表 Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示为学号,姓名,性别,年龄,所在系;学生选课表 SC(Sno,Cno,Grade),各属性分别表示为学号,课程号以及成绩;课程表Course(Cno,Cname,Cpno,Ccredit),各属性为课程号,课程名,先行课,学分。(先行课的意思是,比如课程号 1 有先行课 5,说明要选课程 1,就必须先选课程 5)。用以上各表完成查询选修了全部课程的学生姓名的语句补充: SELETE Sname FROM Student WHERE NOT EXISTS (SELETE* FROM Course W
6、HERE _ (SELETE* FROM SC WHERE _ AND _ ) )(分数:2.00)_36.在 SQL Server 2000 中,某数据库中有角色 Role 和用户 User,User 是 Role 角色的成员,且只属于该角色。先对 Table 表给 Role 只授予 SELECT 和 DELETE 权限,并授予 User 对 T 表具有 SELECT、UPDATE 和DENY DELETE 权限,则用户 User 对 Table 表可以执行的操作是_。(分数:2.00)_37.火车售票点 T1,T2 分别售出了两张 2009 年 10 月 20 号到北京的硬座票,但是数据库
7、里的剩余票却只减少了两张,造成数据的不一致性,原因是_。(分数:2.00)_38.数据库系统在运行过程中,可能会发生故障,如果系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非常控制方式终止,这时内存中的信息丢失,而存储在外存上的数据不受影响,这种故障叫做 _ ;如果系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为 _。前者的恢复由 _完成,后者是由 _完成。(分数:2.00)_39.在关系数据库中,可以对属性值、属性值集合、元组、关系、整个索引、整个数据库等逻辑单元进行加锁,也可以对数据页、索引页和块等物理单元进行加锁,这些施加
8、了锁的数据项的大小称为_。(分数:2.00)_40.假设已对 pubs 数据库进行了完全备份,并备份到 MyBK_1 备份上,假设此备份设备只含有对 pubs 数据库的完全备,则恢复 pubs 数据库的语句为_。(分数:2.00)_三、设计题(总题数:3,分数:12.00)41.设计题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。_42.某工厂欲建立一个物资管理系统,该系统包含零件、产品、仓库、职工等信息,其中仓库用于存入零件。请写出关系模式。(分数:2.00)_设工程一零件数据库中有 4 个基本表: 供应商(供应商代码,姓名,所在城市,联系电话); 工程(工程代码,工程名,
9、负责人,预算); 零件(零件代码,零件名,规格,产地,颜色); 供应零件(供应商代码,工程代码,零件代码,数量)。 试用 SQL 语句完成下列操作:(分数:10.00)(1).找出天津市供应商的姓名和电话。(分数:2.00)_(2).找出使用供应商 S1 所供零件的工程号码。(分数:2.00)_(3).查找预算在 50000100000 元之间的工程的信息,并将结果按预算降序排列。(分数:2.00)_(4).找出上海厂商供应的所有零件号码。(分数:2.00)_(5).找出工程项目 J2 使用的各种零件名称及其数量。(分数:2.00)_国家四级数据库工程师-试卷 24 答案解析(总分:92.00
10、,做题时间: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. (分数
11、: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. (分数
12、: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. 解析: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.解析:二、简答题(总题数:10,分数:20.00)31.简答题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则
13、无效。(分数:2.00)_解析:32.假设某数据库中有表 Course,Course 中有属性 Cname(课程名),查询以“DB_”开头,则倒数第三个字符 i 的课程的详细情况: SELECT* FROM Course WHERE _。(分数:2.00)_正确答案:(正确答案:Cname LIKEDB-%i_ _ESCAPE/)解析:解析:LIKE 用于字符匹配的关键字,%和_为通配符,其中%代表任意长度的字符串,_代表任意的单个字符,ESCAPE/表示/为换码字符。33.某数据库中有学生选课表 SC(Sno,Cno,Grade),各属性分别表示为学号,课程号以及成绩。查询选修了 3 门课以
14、上的学生的学号: SELECT Sno FROM SC GROUP BY Sno _。(分数:2.00)_正确答案:(正确答案:HAVING COUNT(*)3)解析:解析:先用 GROUP BY 子句按 Sno 进行分组,再用聚集函数 COUNT 对每一组计数,HAVING 短语给出了选择的条件,只有满足条件的组才会被选出。34.设有学生表 STUDENT,其中有学号,姓名,年龄,性别等字段,该表是在 2002 年建立的,到 2003 年用户可以使用 SOL 的 _ 语句,将表中的所有学生年龄增加一岁,到 2004 年,显示学生表中年龄大于22 岁的学生信息的 SQL 语句是 _ 。(分数:
15、2.00)_正确答案:(正确答案:UPDATE STUDENT SET 年龄=年龄+1 SELECT*FROM STUDENT WHERE 年龄22)解析:35.数据库中有学生表 Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示为学号,姓名,性别,年龄,所在系;学生选课表 SC(Sno,Cno,Grade),各属性分别表示为学号,课程号以及成绩;课程表Course(Cno,Cname,Cpno,Ccredit),各属性为课程号,课程名,先行课,学分。(先行课的意思是,比如课程号 1 有先行课 5,说明要选课程 1,就必须先选课程 5)。用以上各表完成查询选修
16、了全部课程的学生姓名的语句补充: SELETE Sname FROM Student WHERE NOT EXISTS (SELETE* FROM Course WHERE _ (SELETE* FROM SC WHERE _ AND _ ) )(分数:2.00)_正确答案:(正确答案:NOT EXISTS Sno=Student.Sno Cno=Course.Cno)解析:解析:SQL 中没有全称变量,但是可以把带有全称变量的谓语转换成等价的带有存在量词的谓语,即转化为 NOT EXISTS。可将题目的意思转化为:查询这样的学生,没有一门课程是他不选修的。故所需填的空位答案给出形式。36.在
17、 SQL Server 2000 中,某数据库中有角色 Role 和用户 User,User 是 Role 角色的成员,且只属于该角色。先对 Table 表给 Role 只授予 SELECT 和 DELETE 权限,并授予 User 对 T 表具有 SELECT、UPDATE 和DENY DELETE 权限,则用户 User 对 Table 表可以执行的操作是_。(分数:2.00)_正确答案:(正确答案:查询和更改数据)解析:37.火车售票点 T1,T2 分别售出了两张 2009 年 10 月 20 号到北京的硬座票,但是数据库里的剩余票却只减少了两张,造成数据的不一致性,原因是_。(分数:2
18、.00)_正确答案:(正确答案:丢失了某售票点的修改)解析:38.数据库系统在运行过程中,可能会发生故障,如果系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非常控制方式终止,这时内存中的信息丢失,而存储在外存上的数据不受影响,这种故障叫做 _ ;如果系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为 _。前者的恢复由 _完成,后者是由 _完成。(分数:2.00)_正确答案:(正确答案:系统故障 介质故障 DBMS DBA)解析:39.在关系数据库中,可以对属性值、属性值集合、元组、关系、整个索引、整个数据库等逻辑单元进行加锁,也可
19、以对数据页、索引页和块等物理单元进行加锁,这些施加了锁的数据项的大小称为_。(分数:2.00)_正确答案:(正确答案:锁粒度)解析:解析:这是对锁粒度概念的考查,锁粒度与事务并发执行的程度和 DBMS 并发控制的开销有密切的联系,锁粒度越大,系统中可以被加锁的数据项就越少,事务并发执行度就越低,同时系统开销也就越小;反之,锁粒度越小,系统开销越大。40.假设已对 pubs 数据库进行了完全备份,并备份到 MyBK_1 备份上,假设此备份设备只含有对 pubs 数据库的完全备,则恢复 pubs 数据库的语句为_。(分数:2.00)_正确答案:(正确答案:RESTORE DATABASE pubs
20、 FROM My BK_1)解析:三、设计题(总题数:3,分数:12.00)41.设计题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。_解析:42.某工厂欲建立一个物资管理系统,该系统包含零件、产品、仓库、职工等信息,其中仓库用于存入零件。请写出关系模式。(分数:2.00)_正确答案:(正确答案:产品(产品编号,产品名称,产品型号) 职工(职工编号,姓名,性别,工资,职称) 参加(职工编号,产品编号,天数) 零件(零件编号,零件名称,零件型号) 构成(产品编号,零件编号,零件数) 仓库(仓库编号,仓库负责人) 存放(仓库编号,零件编号,存放量)解析:设工程一零件数据库中有 4
21、 个基本表: 供应商(供应商代码,姓名,所在城市,联系电话); 工程(工程代码,工程名,负责人,预算); 零件(零件代码,零件名,规格,产地,颜色); 供应零件(供应商代码,工程代码,零件代码,数量)。 试用 SQL 语句完成下列操作:(分数:10.00)(1).找出天津市供应商的姓名和电话。(分数:2.00)_正确答案:(正确答案:SELECT 姓名,联系电话 FROM 供应商 WHERE 所在城市=“天津”)解析:(2).找出使用供应商 S1 所供零件的工程号码。(分数:2.00)_正确答案:(正确答案:SELECT 工程代码 FROM 供应零件 WHERE 供应商.供应商代码=“S1”
22、AND 供应商.供应商代码=供应商零件.供应商代码)解析:(3).查找预算在 50000100000 元之间的工程的信息,并将结果按预算降序排列。(分数:2.00)_正确答案:(正确答案:SELECT*FROM 工程 WHERE 预算 BETWEEN 50000 AND 100000 ORDER BY 预算 DESC)解析:(4).找出上海厂商供应的所有零件号码。(分数:2.00)_正确答案:(正确答案:SELECT 零件代码 FROM 供应商,供应零件 WHERE 供应商.供应商代码=供应零件.供应商代码 AND 供应商.所在城市=“上海”;)解析:(5).找出工程项目 J2 使用的各种零件名称及其数量。(分数:2.00)_正确答案:(正确答案:SELECT 零件.零件名,供应零件,数量 FROM 零件,供应零件 WHERE 零件,零件代码=供应零件.零件代码 AND 供应零件.工程代码=“J2”;)解析: