《2008年9月全国计算机等级考试四级四级数据库工程师笔试试卷(共14页).doc》由会员分享,可在线阅读,更多相关《2008年9月全国计算机等级考试四级四级数据库工程师笔试试卷(共14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上2008年9月全国计算机等级考试四级笔试试卷数据库工程师一、选择题(1)在数据库应用系统生命周期模型中,规划与分析阶段的输出结果不包括A)需求规范说明书B)系统范围与边界C)可行性分析报告D)项目计划书(2)在信息系统的需求分析中,广为使用的DFD建模方法属于A)结构化分析方法B)数据分析方法C)数据抽象方法D)业务归纳方法(3)不允许出现在最终IDEF1X图中的是A)标定型联系B)非标定型联系C)分类联系D)多对多联系(4)下列哪些属性不适合建立索引?A)经常出现在GROUP BY字句中的属性B)经常参与连接操作的属性C)经常出现在WHERE字句中的属性D)经常需要
2、进行更新操作的属性(5)在数据库应用系统生命周期模型中,作为系统总体设计阶段输入的是A)技术可行性分析报告和需求规范说明书B)软硬件选型和配置设计C)数据库应用系统体系结构设计D)应用软件总体设计(6)SQL Server 2000中,如果希望用户u1在DB1数据库中具有查询T1表的权限,正确的授权语句是A) GRANT SELECT ON DB1(T1) TO u1B) GRANT SELECT TO u1 ON DB1(T1)C) GRANT SELECT TO u1 ON T1D) GRANT SELECT ON T1 TO u1(7)SQL Server 2000提供了很多预定义的角色
3、,下述关于puBliC角色说法正确的是A)它是系统提供的服务器级的角色,管理员可以在其中添加和删除成员B)它是系统提供的数据库级的角色,管理员可以在其中添加和删除成员C)它是系统提供的服务器级的角色,管理员可以对其进行授权D)它是系统提供的数据库级的角色,管理员可以对其进行授权(8)关于ADO对象模型中的ReCorDSer,下述说法正确的是A)它用于定义连接的数据库名B)它用于定义数据的来源C)它是一个对象,用于在客户端内存中存放数据查询的结果D)它是一个对象,用于在服务器端内存中存放数据查询的结果(9)关于ADO对象模型,下述说法正确的是A)它是与OLE DB同层的独立的接口集B)它是与OD
4、BC同层的独立的接口集C)它是建立在OLE DB接口之上的高层接口集D)OLE DB是建立在ADO对象模型之上的高层接口集(10)关于UML的静态建模机制,下述说法错误的是A)用例模型是将满足用户需求的所有功能表示出来的工具B)用例图用于表示系统的数据模型和功能模型C)类图展现了一组类,接口和协作以及它们之间的关系D)组件图表示系统的静态实现视图,用于对源代码、可执行程序和物理数据库等进行建模(11)关于分布式数据库的分布策略,下述说法正确的是A)数据分配是对关系的操作,数据分片是对数据分配的操作B)集中式数据分配策略不便于进行数据控制C)全复制式数据分配策略可靠性高,响应速度快,但数据冗余大
5、,同步维护复杂D)分割式数据分配策略对全局数据控制灵活,但对局部数据存取效率低(12)关于数据划分策略,下述说法错误的是A)散列划分采用某种散列函数,以数据的划分属性作为函数参数,计算数据应存储的磁盘序号B)范围划分根据某个属性的取值,将数据划分为n个部分,分别存储到不同磁盘上C)范围划分有利于范围查询和点查询,但也可能会引起数据分布不均匀及并行处理能力下降问题D)轮转法划分能保证元组在多个磁盘上的平均分配,并具有较高的点查询和范围查询(13)将新插入的记录存储在文件末尾,并使记录随机地分布在文件物理存储空间中的文件结构是A)堆文件B)聚集文件C)索引文件D)散列文件(14)有一个事务T要更新
6、数据库中某表列的值,DBMS在执行T时发现更新后的值超出了该列的值定义范围,因此异常终止了T。为了保证数据的正确性及一致性,DBMS会执行下列哪个恢复操作?A)unDo B)介质恢复 C)进程恢复 D)reDo(15)关于数据库系统中的数据的静态转储和动态转储机制,下述说法正确的是A)静态转储时允许其它事务访问数据库B)动态转储时允许在转储过程中其它事务对数据进行存取和修改C)静态转储能够保证数据库的可用性D)动态转储无法保证数据库的可用性(16)在数据库系统中,下列哪个映像关系用于提供数据与应用程序间的逻辑独立性?A)外模式/模式 B)模式/内模式 C)外模式/内模式 D)逻辑模式/内模式(
7、17)在SQL Server 2000中,事务日志备份A)对故障还原模型没有要求B)要求故障还原模型必须是完全的C)要求故障还原模型必须是简单的D)要求故障还原模型不能是简单的(18)关于数据库试运行和功能与性能测试,下列说法正确的是A)对数据库系统的转储和恢复能力的测试属于系统的功能测试范畴B)在进行数据库功能测试时,一般要先进入大规模的数据C)数据库试运行一般是与编写调试程序的工作同步开展的D)数据库系统的压力测试、并发访问测试、查询效率测试一般属于性能测试范畴(19)关于数据仓库设计,下述说法正确的是A)数据仓库项目的需求很难把握,所以不可能从用户的需求出发来进行数据仓库的设计,只能从数
8、据出发进行设计B)在进行数据仓库主题数据模型设计时,应该按面向部门业务应用的方式来设计数据模型C)在进行数据仓库主题数据模型设计时要强调数据的集成性D)在进行数据仓库概念模型设计时,需要设计实体关系图,给出数据表的划分,并给出每个属性的定义域(20)关于分布式数据库系统,下述说法正确的是A)查询代价主要考虑CPU代价和I/O代价B)分布透明性是指用户需要并能完全看清数据分片的位置,分片的分配位置以及数据复制的过程C)分布式查询优化一般不需要考虑操作的执行顺序和数据在不同场地间的传输顺序D)执行分布式数据库查询时,导致数据传输量大的主要原因是数据间的连接操作和并操作(21)已知下列员工关系表Em
9、ployees对该表的工资属性和完整性约束为:2000工资5000现将如下2个操作组织为事务T,操作1先执行,操作2后执行。操作1:INSERT INTO Employees VALUES(03650,研发,4600)操作2:UPDATE Employees SET 工资=工资 1,2WHERE 部门=市场OR部门=研发事务T执行完毕后,关系表Employees的数据是(22)有会员卡表TABleCArDs(CArDsID,StArtDAte,SCore),CArDID表示卡标识,SCorD为卡积分,有视图:CREATE VIEW vCArD ASSELECT * FROM TABleCArD
10、s WHERE SCore BETWEEN 200 AND 500WITH CHECR OPTION假设(C0001,2008/5/6,220)是TABleCArDs表中的一个元组,下述说法正确的是A)若要查询积分在200和300之间的有卡标识,通过视图vCARD查询会比连接在TABleCArDs上查询的效率要高B)数据库系统会分配存储空间实际保存视图vCArDs所对应的数据C)语句UPDATE vCArDs SET SCore=260 WHERE CArDID=C0001能成功执行D)语句INSERT INTO vCArD VALUSE(C0010,2008/4/5,1000)能成功执行(2
11、3)现有SQL Sever2000数据库服务器,其中的一个数据库占用80GB空间,另有一台用于备份的计算机,该机上有四个大小均为50GB的硬盘分区。若要将此数据库完全备份到该计算机上,则A)不能实现,因为每个分区上的空间都不够80GBB)可以先建立一个备份设备,这个备份设备分别在四个分区上各占用20GB空间,然后再用此设备备份数据库C)可以先在每个分区上分别建立一个备份设备,指定每个设备的大小均为20GB,并建立一个包含这四个备份设备的备份媒体集,最后再用此备份媒体集备份数据库D)可以先在每个分区上分别建立一个不用指定大小的备份设备,然后将数据库同时备份到这四个备份设备上(24)有一个具有10
12、万行数据的关系表,每行占用2000字节空间,如果SQL Sever 2000管理的数据库中存放此关系表,则需要的空间大约是A)300MB B)400MB C)500MB D)600MB(25)下面给出的关系表r(A,B,C,D)满足下述哪个函数依赖?A) AB B) BD C) DC D) AD(26)某供应商关系模式为:ProviDer(PID,PnAme,Tel,GooDsID,GooDsClAssID,GooDsNAme,GooDsPriCe)该关系模式应满足如下函数依赖:PIDPnAme,PIDTEL,GooDsID GooDsClAssID,GooDsIDGooDsNAme,GooD
13、sNAmeGooDsPriCe则这个关系模式的主码为A)(PID,GooDsNAme)B)(PID,GooDsClAssID)C)(PID,GooDsID)D)(PID,GooDsPriCe)(27)给定如下数据:、商品销售数据、关系模式信息、商品类别数据、权限信息、层间数据映射关系以上数据中,一般不属于元数据的是A)和 B)、和 C)和 D)、和(28)有职工工资表(职工号、姓名、日期、基本工资、奖金、工资合计),其中“工资合计”等于同一行数据的“基本工资”与“奖金”之和,在职工工资表中插入一行数据时(设一次只插入一行数据)能实现自动计算“工资合计”列的值的代码是A)ALTER TABLE
14、职工工资表 ADD CHECK(工资合计=基本工资+奖金)B)UPDATE 职工工资表 SET 工资合计=基本工资+奖金C)INSERTINTO 职工工资表(工资合计)VALUES(基本工资+奖金)D)CREATE TRIGGER TRION 职工工资表 FOR INSERTASUPDATE 职工工资表 SET A.工资合计=基本工资+A.奖金FROM 职工工资表 A.JOIN INSERTED B.ON A.职工号=B.职工号AN A.日期=B.日期(29)有教师表(教师号,姓名,职称,所在系)和授课表(教师号,课程号,授课学年,授课时数),同一门课程可由多个教师讲授,同一个教师也可讲授多门
15、课程,查询从未被“教授”讲授过的课程的课程号,正确的语句是A)SELECT 课程号FROM 授课表 A JOIN 教师表 B ON A.教师号=B.教师号 WHERE职称!=教授B) SELECT 课程号FROM 授课表 A RIGHT OUTTER JOIN 教师表 B ON A.教师号=B.教师号C) SELECT 课程号FROM 授课表 WHERE 课程号 NOT IN(SELECT 课程号FROM 授课表 A ON 授课表 B JOIN A.教师号=B.教师号 WHERE职称!=教授)D)SELECT 课程号FROM 授课表 WHERE 课程号 IN(SELECT 课程号FROM 授课
16、表 A JOIN 授课表 B ON A.教师号=B.教师号 WHERE职称!=教授)(30)给定如下三个关系表:销售明细表(商品标识,销售时间,单价,数量,金额)日销售表(商品标识,销售日,总数量,总金额)月销售表(商品标识,销售月份,总数量,总金额)下述说法正确的是A)销售明细表的数据粒度最大,数据量最大B)日销售表的数据粒度最大,数据量最小C)月销售表的数据粒度最大,数据量最小D)月销售表的数据粒度最小,数据量最小二、简答题(1)设有商场经营管理系统,系统中的部分数据表和视图的相关信息如下所示表中T4的数据额是T3表明T4中的数据是根据T1的数据汇总计算而来的,并假定各个表的数据都得到了及
17、时计算,现需对系统进行优化,以提高与视图v1有关的查询频率,设有如下优化方案: 为T1建立主索引 为T2建立主索引 为T3建立主索引 重写视图V1,将其数据源调整为T4,并为T4建立主索引 重写视图V1,将其数据源调整为T2,并为T2建立主索引请针对每一个优化方案,说明该优化方案对实现目标是否有效,并简要说明原因。(2)下图为关系表SCoDents(专业,姓名,学号,年龄),在对应的数据文件中的物理存储结构示意图写出“专业”属性上建立聚集索引的SQL语句,索引值按升序排序(索引名为ZY_inD)假设索引按稠密索引方式组织数据,画出在“专业”属性上建立聚集索引后该表对应的索引文件和数据文件的物理
18、存储结构示意图(以“专业”为查找码,按查找自定义的首字母升序排序)三、设计与应用题(共40分)(1)有商品表(商品号,商品名,分类,单价),请编写一个实现更改商品单价的存储过程(存储过程名为pUpDAte),更改规则如下:“电脑”类商品降价10%,“电视”类商品降价6%,“冰箱”类商品降价3%,其他商品不降价。以商品的分类作为输入参数,假设“分类”为字符串类型,长度最多为6个汉字。如果商品表中没有用户指定的分类,则用输出参数返回字符串“指定的分类不存在”;如果用户指定的分类存在,则用输出参数返回字符串“修改已成功”。(10分)(2)现有某图书销售数据库,其关系表结构如下:图书表(图书编号,图书
19、名称,出版社编号,出版名称,出版时间,出版数量,版次)图书销售表(图书编号,销售日期,销售数量,书店编号,读者编号,读者姓名,读者电话)书店表(书店编号,联系电话,所在城市编号,城市名称).系统所涉及的数据存在如下约束出版社可以出版多本图书,一本图书只能在一个出版社出版,在该系统的记录的图书出版信息包括出版时间、版次及出版数量信息。.一个书店可以出售多本图书给多个读者,每位读者可以从多个书店购买多本图书,一本图书可以通过多个书店出售给读者,书店把图书出售给读者后会在系统中记录售书日期和售书数量信息:.每个书店只能位于一个城市,一个城市可以有多个书店。 请根据以上信息画出合理的图书销售数据库的概
20、念模型(用ER图表示)。(8分) 以图书销售表为例说明原数据库设计的不合理之处。(4分) 给出该数据库符合3NF要求的全部关系模式,并指出关系模式中的全部主码和外码。(8分)(3)事务T1、T2和T3按如下调度方式并发地对数据项A、B、C进行访问,假设A、B、C的初值分别为A=20,B=30,C=40。 在事务T2刚完成提交后,数据库中A、B、C的值各是多少?(3分) 当事务T3结束后,给出该并发调度对应的日志文件,并说明此时A、B、C的值各是多少?(7分)T1 T2 T3begin-trans(T1)read(A)A := A +10begin-trans(T2)read(B)write(A
21、)commitbegin-trans(T3)read(C)B:= B -10write(B) C := C*2commitwrite(C)rollback 2008年9月全国计算机等级考试四级笔试试卷答案数据库工程师一、选择题:1.A.。规划与分析阶段包括任务陈述、确定任务目标、确定系统范围与边界、确定用户视图。2.A 。3.D在最终的IDEF1X模型中,所有实体集间的联系必须用确定联系来描述,m:n属于不确定联系。 4.D常用的数据查询最好建立在索引上,可以提高查询性能。而在经常更新的属性上建立索引,将连带导致经常 更新索引,降低性能。5.A 6.D授权语句为:GRANT 对象权限名,ON表
22、名|视图名|存储过程名 TO 数据库用户名|用户角色名,这里权限是seleCt,表名是T1,用户是u1。7.D 8.C连接数据库的是ConneCtion对象,ReCorDSet从数据库中获取记录并存放与本地内存中。9. C。10. B。11.C12.D。轮转法对点查询和范围查询的处理非常复杂,但是范围划分法就相当简单。13.A。14.A回滚就是撤销以前的数据库修改,即UNDO操作。15.B静态转储不能运行其它事务,降低了可用性,动态转储正好相反。16.A 17.D要进行事务日志备份,必须将数据库的故障还原模型设置为完全方式或大容量日志记录的方式。18.D。压力、并发、查询效率都是性能范畴。19
23、.C20.D 。21.B事务中的操作,要么都成功,要么都失败。显然操作二在针对(03560,研发,4600)是会失败,则整个操作全部失败,数据将不会修改,故选B。22. C。试图只是方便查询,并不实际分配存储空间,也不会提高查询性能,故选项A、B错误。又由于1000不在200和500之间,故根据WITH CHECK OPTION的要求将不能插入,故选项D错误。23.C。24.BSQLSERVER以页为最小存储单位,一个页为8K,故一个页最多可以存储2行。所以存储10万行需要10万/2=5万个页,总容量为:5万8K400M。25.B第A列有两个1,因此AB和AD都将不唯一,故选项A、D错误。同理
24、D中有两个1,故DA、DB和DC都将不唯一,故选项C错误。而B中,每一列都不相同,故理论上可以存在BA、BC、BD,当然还有AC。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。二
25、、简答题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 Cluste
26、reD inDex ZY_inD on StuDents(专业 ASC)。(2)三、1、 CreAte proCeDure pUpDAte fl As ChAr(6),jg As vArChAr(20) outputAsIf not exists(SeleCt * from 商品表where 分类)BEGINIf fl=电脑 UpDAte 商品表 set 单价=单价*0.9 where 分类电脑ElseBEGINIf(fl=电视) UpDAte 商品表 set 单价=单价*0.94 where 分类电视ElseBEGINIf(fl=冰箱) UpDAte 商品表 set 单价=单价*0.97 w
27、here 分类冰箱ENDENDSet jg=修改已成功ENDElseSet jg=指定的分类不存在或者:CreAte proCeDure pUpDAte fl As ChAr(6),jg As vArChAr(20) outputAsIf not exists(SeleCt * from 商品表where 分类)BEGINCAse when fl=电脑 then UpDAte 商品表 set 单价=单价*0.9 where 分类电脑when fl=电视 then UpDAte 商品表 set 单价=单价*0.94 where 分类电视when fl=冰箱 then UpDAte 商品表 set
28、 单价=单价*0.97 where 分类冰箱enDSet jg=修改已成功ENDElseSet jg=指定的分类不存在2、(1)如图:(2)第二范式编码,数据存在冗余,比如图书销售表应该为:图书编号、书店编号、售书日期、售书数量、读者编号等信息就可以了,至于读者姓名和读者电话等信息应该存储在读者表中。 (3)出版社表(出版社编号,出版社名称),主键:出版社编号图书表(图书编号,图书名称,出版社编号,出版时间,出版数量,版次),主键:图书编号。外键:出版社编号。读者表(读者编号,读者姓名,读者电话),主键:读者编号城市表(城市编号,城市名称),主键:城市编号书店表(书店编号,联系电话,城市编号),主键:书店编号,外键:城市编号。销售表(图书编号,销售日期,销售数量,书店编号,读者编号),主键:图书编号,销售日期,书店编号,读者编号。3、(1)A30;B20;C40;(2)日志记录事务T3回滚,C取值不变。A30;B20;C40;专心-专注-专业