1、全国计算机级别考试四级数据库工程师笔试真题一、选取题(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)经常需要进行更新操作属性(5)在数据库应用系统生命周期模型中,
2、作为系统总体设计阶段输入是A)技术可行性分析报告和需求规范阐明书B)软硬件选型和配备设计C)数据库应用系统体系构造设计D)应用软件总体设计(6)SQL Server 中,如果但愿顾客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 提供了诸多预定义角色,下述关于public角色说法对的是A)它是系统提供服务器级角色,管理员可以在其
3、中添加和删除成员B)它是系统提供数据库级角色,管理员可以在其中添加和删除成员C)它是系统提供服务器级角色,管理员可以对其进行授权D)它是系统提供数据库级角色,管理员可以对其进行授权(8)关于ADO对象模型中RecordSer,下述说法对的是A)它用于定义连接数据库名B)它用于定义数据来源C)它是一种对象,用于在客户端内存中存储数据查询成果D)它是一种对象,用于在服务器端内存中存储数据查询成果(9)关于ADO对象模型,下述说法对的是A)它是与OLE DB同层独立接口集B)它是与ODBC同层独立接口集C)它是建立在OLE DB接口之上高层接口集D)OLE DB是建立在ADO对象模型之上高层接口集(
4、10)关于UML静态建模机制,下述说法错误是A)用例模型是将满足顾客需求所有功能表达出来工具B)用例图用于表达系统数据模型和功能模型C)类图呈现了一组类,接口和协作以及它们之间关系D)组件图表达系统静态实现视图,用于对源代码、可执行程序和物理数据库等进行建模 (11)关于分布式数据库分布方略,下述说法对的是A)数据分派是对关系操作,数据分片是对数据分派操作B)集中式数据分派方略不便于进行数据控制C)全复制式数据分派方略可靠性高,响应速度快,但数据冗余大,同步维护复杂D)分割式数据分派方略对全局数据控制灵活,但对局部数据存取效率低 (12)关于数据划分方略,下述说法错误是A)散列划分采用某种散列
5、函数,以数据划分属性作为函数参数,计算数据应存储磁盘序号B)范畴划分依照某个属性取值,将数据划分为n个某些,分别存储到不同磁盘上C)范畴划分有助于范畴查询和点查询,但也也许会引起数据分布不均匀及并行解决能力下降问题D)轮转法划分能保证元组在各种磁盘上平均分派,并具备较高点查询和范畴查询(13)将新插入记录存储在文献末尾,并使记录随机地分布在文献物理存储空间中文献构造是A)堆文献B)汇集文献C)索引文献D)散列文献(14)有一种事务T要更新数据库中某表列值,DBMS在执行T时发现更新后值超过了该列值定义范畴,因而异常终结了T。为了保证数据对的性及一致性,DBMS会执行下列哪个恢复操作?A)und
6、o B)介质恢复 C)进程恢复 D)redo(15)关于数据库系统中数据静态转储和动态转储机制,下述说法对的是A)静态转储时容许其他事务访问数据库B)动态转储时容许在转储过程中其他事务对数据进行存取和修改C)静态转储可以保证数据库可用性D)动态转储无法保证数据库可用性(16)在数据库系统中,下列哪个映像关系用于提供数据与应用程序间逻辑独立性?A)外模式/模式 B)模式/内模式 C)外模式/内模式 D)逻辑模式/内模式(17)在SQL Server 中,事务日记备份A)对故障还原模型没有规定B)规定故障还原模型必要是完全C)规定故障还原模型必要是简朴D)规定故障还原模型不能是简朴(18)关于数据
7、库试运营和功能与性能测试,下列说法对的是A)对数据库系统转储和恢复能力测试属于系统功能测试范畴B)在进行数据库功能测试时,普通要先进入大规模数据C)数据库试运营普通是与编写调试程序工作同步开展D)数据库系统压力测试、并发访问测试、查询效率测试普通属于性能测试范畴(19)关于数据仓库设计,下述说法对的是A)数据仓库项目需求很难把握,因此不也许从顾客需求出发来进行数据仓库设计,只能从数据出发进行设计B)在进行数据仓库主题数据模型设计时,应当按面向部门业务应用方式来设计数据模型C)在进行数据仓库主题数据模型设计时要强调数据集成性D)在进行数据仓库概念模型设计时,需要设计实体关系图,给出数据表划分,并
8、给出每个属性定义域(20)关于分布式数据库系统,下述说法对的是A)查询代价重要考虑CPU代价和I/O代价B)分布透明性是指顾客需要并能完全看清数据分片位置,分片分派位置以及数据复制过程C)分布式查询优化普通不需要考虑操作执行顺序和数据在不同场地间传播顺序D)执行分布式数据库查询时,导致数据传播量大重要因素是数据间连接操作和并操作 (21)已知下列员工关系表Employees员工号部门工资04501财务300005601市场400003020研发3500对该表工资属性和完整性约束为:工资5000现将如下2个操作组织为事务T,操作1先执行,操作2后执行。操作1:INSERT INTO Employ
9、ees VALUES(03650,研发,4600)操作2:UPDATE Employees SET 工资=工资 1,2WHERE 部门=市场OR部门=研发事务T执行完毕后,关系表Employees数据是A)员工号部门工资04501财务300005601市场400003020研发350003650研发4600B)员工号部门工资04501财务300005601市场400003020研发3500C)员工号部门工资04501财务300005601市场480003020研发420003650研发4600D)员工号部门工资04501财务300005601市场480003020研发3500 (22)有会员卡
10、表TableCards(CardsID,StartDate,Score),CardID表达卡标记,Scord为卡积分,有视图:CREATE VIEW vCard ASSELECT * FROM TableCards WHERE Score BETWEEN 200 AND 500WITH CHECR OPTION假设(C0001,/5/6,220)是TableCards表中一种元组,下述说法对的是A)若要查询积分在200和300之间有卡标记,通过视图vCARD查询会比连接在TableCards上查询效率要高B)数据库系统会分派存储空间实际保存视图vCards所相应数据C)语句UPDATE vCa
11、rds SET Score=260 WHERE CardID=C0001能成功执行D)语句INSERT INTO vCard VALUSE(C0010,/4/5,1000)能成功执行(23)既有SQL Sever数据库服务器,其中一种数据库占用80GB空间,另有一台用于备份计算机,该机上有四个大小均为50GB硬盘分区。若要将此数据库完全备份到该计算机上,则A)不能实现,由于每个分区上空间都不够80GBB)可以先建立一种备份设备,这个备份设备分别在四个分区上各占用20GB空间,然后再用此设备备份数据库C)可以先在每个分区上分别建立一种备份设备,指定每个设备大小均为20GB,并建立一种包括这四个备
12、份设备备份媒体集,最后再用此备份媒体集备份数据库D)可以先在每个分区上分别建立一种不用指定大小备份设备,然后将数据库同步备份到这四个备份设备上(24)有一种具备10万行数据关系表,每行占用字节空间,如果SQL Sever 管理数据库中存储此关系表,则需要空间大概是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)该关系
13、模式应满足如下函数依赖:PIDPname,PIDTEL,GoodsID GoodsClassID,GoodsIDGoodsName,GoodsNameGoodsPrice则这个关系模式主码为A)(PID,GoodsName)B)(PID,GoodsClassID)C)(PID,GoodsID)D)(PID,GoodsPrice)(27)给定如下数据:、商品销售数据、关系模式信息、商品类别数据、权限信息、层间数据映射关系以上数据中,普通不属于元数据是A)和 B)、和 C)和 D)、和(28)有职工工资表(职工号、姓名、日期、基本工资、奖金、工资共计),其中“工资共计”等于同一行数据“基本工资”与
14、“奖金”之和,在职工工资表中插入一行数据时(设一次只插入一行数据)能实现自动计算“工资共计”列值代码是A)ALTER TABLE 职工工资表 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.教师号 WH
16、ERE职称!=专家)D)SELECT 课程号FROM 授课表 WHERE 课程号 IN(SELECT 课程号FROM 授课表 a JOIN 授课表 b ON a.教师号=b.教师号 WHERE职称!=专家)(30)给定如下三个关系表:销售明细表(商品标记,销售时间,单价,数量,金额)日销售表(商品标记,销售日,总数量,总金额)月销售表(商品标记,销售月份,总数量,总金额)下述说法对的是A)销售明细表数据粒度最大,数据量最大B)日销售表数据粒度最大,数据量最小C)月销售表数据粒度最大,数据量最小D)月销售表数据粒度最小,数据量最小 二、简答题(1)设有商场经营管理系统,系统中某些数据表和视图有关
17、信息如下所示表中T4数据额是T3表白T4中数据是依照T1数据汇总计算而来,并假定各个表数据都得到了及时计算,现需对系统进行优化,以提高与视图v1关于查询频率,设有如下优化方案: 为T1建立主索引 为T2建立主索引 为T3建立主索引 重写视图V1,将其数据源调节为T4,并为T4建立主索引 重写视图V1,将其数据源调节为T2,并为T2建立主索引请针对每一种优化方案,阐明该优化方案对实现目的与否有效,并简要阐明因素。(2)下图为关系表Scodents(专业,姓名,学号,年龄),在相应数据文献中物理存储构造示意图写出“专业”属性上建立汇集索引SQL语句,索引值按升序排序(索引名为ZY_ind)假设索引
18、按稠密索引方式组织数据,画出在“专业”属性上建立汇集索引后该表相应索引文献和数据文献物理存储构造示意图(以“专业”为查找码,按查找自定义首字母升序排序)三、设计与应用题(共40分)(1)有商品表(商品号,商品名,分类,单价),请编写一种实现更改商品单价存储过程(存储过程名为pUpdate),更改规则如下:“电脑”类商品降价10%,“电视”类商品降价6%,“冰箱”类商品降价3%,其她商品不降价。以商品分类作为输入参数,假设“分类”为字符串类型,长度最多为6个中文。如果商品表中没有顾客指定分类,则用输出参数返回字符串“指定分类不存在”;如果顾客指定分类存在,则用输出参数返回字符串“修改已成功”。(
19、10分)(2)既有某图书销售数据库,其关系表构造如下:图书表(图书编号,图书名称,出版社编号,出版名称,出版时间,出版数量,版次)图书销售表(图书编号,销售日期,销售数量,书店编号,读者编号,读者姓名,读者电话)书店表(书店编号,联系电话,所在都市编号,都市名称).系统所涉及数据存在如下约束出版社可以出版多本图书,一本图书只能在一种出版社出版,在该系统记录图书出版信息涉及出版时间、版次及出版数量信息。.一种书店可以出售多本图书给各种读者,每位读者可以从各种书店购买多本图书,一本图书可以通过各种书店出售给读者,书店把图书出售给读者后会在系统中记录售书日期和售书数量信息:.每个书店只能位于一种都市
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)commitbegin-trans(T3)read(C)B:= B -10write(B) C := C*2commitwrite(C)rollback