【51CTO.com独家特稿】2008年9月全国计算机等考四级数据库工程师笔试试题答案解析。
一、选择题:
1.A.。规划与分析阶段包括任务陈述、确定任务目标、确定系统范围与边界、确定用户视图。
2.A 。
3.D.在最终的IDEF1X模型中,所有实体集间的联系必须用确定联系来描述,m:n属于不确定联系。
4.D.常用的数据查询最好建立在索引上,可以提高查询性能。而在经常更新的属性上建立索引,将连带导致经常 更新索引,降低性能。
5.A.
6.D.授权语句为:GRANT 对象权限名[,…]ON{表名|视图名|存储过程名} TO {数据库用户名|用户角色名},这里权限是select,表名是T1,用户是u1。
7.D.
8.C.连接数据库的是Connection对象,RecordSet从数据库中获取记录并存放与本地内存中。
9. C。
10. B。
11.C.
12.D。轮转法对点查询和范围查询的处理非常复杂,但是范围划分法就相当简单。
13.A。
14.A.回滚就是撤销以前的数据库修改,即UNDO操作。
15.B.静态转储不能运行其它事务,降低了可用性,动态转储正好相反。
16.A.
17.D.要进行事务日志备份,必须将数据库的故障还原模型设置为"完全"方式或"大容量日志记录的"方式。
18.D。压力、并发、查询效率都是性能范畴。
19.C.
20.D 。
21.B.事务中的操作,要么都成功,要么都失败。显然操作二在针对("03560","研发",4600)是会失败,则整个操作全部失败,数据将不会修改,故选B。
22. C。试图只是方便查询,并不实际分配存储空间,也不会提高查询性能,故选项A、B错误。又由于1000不在200和500之间,故根据WITH CHECK OPTION的要求将不能插入,故选项D错误。
23.C。
24.B.SQLSERVER以页为最小存储单位,一个页为8K,故一个页最多可以存储2行。所以存储10万行需要10万/2=5万个页,总容量为:5万×8K=400M。
25.B.第A列有两个1,因此A'B和A'D都将不唯一,故选项A、D错误。同理D中有两个1,故D'A、D'B和D'C都将不唯一,故选项C错误。而B中,每一列都不相同,故理论上可以存在B'A、B'C、B'D,当然还有A'C。
26.C.将出现在函数右边的属性统统剔除,剩余PID和GoodsID。
27.B.元数据是数据的数据,题中数据有I和II,数据的数据有II和V,故选择B。
28.D.创建一个触发器可以满足需求。
29 C。SQL语句:
Select 课程号 from 授课表 a JOIN 教师表 b On a.教师号=b.教师号 where 职称='教授',
可以找出所有被教授上过的课,那么不在其中的自然就是没有被教授上过的课。
30.C.一条月销售记录包含的粒度最大,而月销售表显然记录数最少,故选择C。#p#
二、简答题
1.
I:试图不能建立索引,无效。
II:视图V1建立在T3上,T2的索引优化对V1没有影响。
III:可以在一定程度上提高V1的查询效率,但是从T3的每行记录粒度为"日"查询到粒度"季",大约每次查询涉及90行。而从T4的每行记录粒度为"月"查询到粒度"季",大约每次查询只涉及3行,显然后者的查询效率更高。另外T2的访问频率相当高,若是V1建立在T2上,显然会更加增加其查询频率,降低查询效率。
IV:为5种方案中最优方案。每次查询涉及行数最少(3条),而且T4的访问频率最低。
V:每次查询牵涉记录行数比方案III要多,虽然T2查询频率较T3少,但是总体性能不如方案III.
2、
(1)create clustered index ZY_ind on Students(专业 ASC)。
(2)
三、
1、
Create procedure pUpdate |
Create procedure pUpdate |
2、
(1)如图:
(2)第二范式编码,数据存在冗余,比如图书销售表应该为:
图书编号、书店编号、售书日期、售书数量、读者编号等信息就可以了,至于读者姓名和读者电话等信息应该存储在读者表中。
(3)
出版社表(出版社编号,出版社名称),主键:出版社编号
图书表(图书编号,图书名称,出版社编号,出版时间,出版数量,版次),主键:图书编号。外键:出版社编号。
读者表(读者编号,读者姓名,读者电话),主键:读者编号
城市表(城市编号,城市名称),主键:城市编号
书店表(书店编号,联系电话,城市编号),主键:书店编号,外键:城市编号。
销售表(图书编号,销售日期,销售数量,书店编号,读者编号),主键:图书编号,销售日期,书店编号,读者编号。
3、
(1)A=30;B=20;C=40;
(2)
日志记录 |
【编辑推荐】