四级数据库试题及答案.docx
《四级数据库试题及答案.docx》由会员分享,可在线阅读,更多相关《四级数据库试题及答案.docx(11页珍藏版)》请在冰豆网上搜索。
四级数据库试题及答案
2009年9月全国计算机等级考试四级笔试试卷
数据库工程师
(考试时间120分钟,满分100分)
一、选择题(
(1)~(20)每题1分,(21)~(30)每题2分,共40分)
(1)查询处理器是数据库管理系统的重要组成部分,下列不属于查询处理器功能组成模块的是
A)DML编译器
B)查询执行引擎
C)嵌入式DML的预编辑器
D)查询权限管理器
(2)关于数据视图预与三级模式,下列说法错误的是
A)数据视图是指用户从某个角度看到的客观世界数据对象的特征
B)外模式是数据库用户能使用的局部数据,描述外模式时,通常需要给出其物理结构
C)概念模式以数据模型的形式描述数据
D)三级模式结构实现了数据的独立性
(3)为了保证数据库应用系统正常运行,数据库管理员在日常工作中需要对数据库进行维护。
下列一般不属于数据库管理员日常维护工作的是
A)数据内容的一致性维护
B)数据库备份与恢复
C)数据库安全性维护
D)数据库存储空间管理
(4)事务的活锁又称为事务的饥饿,为了避免数据库出现事务活锁,可以采用的措施是
A)使用先来先服务策略处理事务请求
B)使用两阶段锁协议
C)对事务进行并发调度
D)使用小粒度锁
(5)关于数据库视图,下列说法正确的是
A)视图可以提高数据的操作性能
B)定义视图的语句可以是任何数据操作语句
C)视图可以提供一定程度的数据独立性
D)视图的数据一般是物理存储的
(6)在需求分析阶段,结构化分析和建模方法是一种较为有效的需求分析方法。
下列不属于结构化分析和建模方法优点的是
A)用图形化模型能直观地表示系统功能
B)可避免过早陷入具体细节
C)图形对象不涉及太多技术术语,便于用户理解模型
D)从局部或子系统开始分析问题,便于建模人员了解业务模型
(7)数据字典是数据库管理系统的重要组成部分,其中存储的各类信息通常由
A)数据库管理员维护
B)程序员维护
C)数据库管理系统维护
D)一般用户维护
(8)下列约束中能确保一个函数依赖是完全非平凡函数依赖的是
A)仅当其右边的属性集是左边属性集的子集
B)仅当其右边属性集中的属性都不属于左边的属性集
C)仅当其右边属性集中至少有一个属性不属于左边的属性集
D)仅当其右边属性集中的属性都属于左边的属性集
(9)在数据库中可用多种结构组织数据,散列文件是其中的一种。
关于散列文件,下列说法错误的是
A)为了防止桶溢出,在散列文件设计时,需要预留一些空间大小固定的桶
B)用散列文件组织数据时,需要使用文件记录中的一个或多个域作为查找码
C)如果散列文件中散列函数的“均有分布性”不好,可能会造成桶溢出
D)好的散列函数产生的存储地址分布以尽可能是随机的
(10)虽然数据库应该系统用户界面的要求与具体应用领域密切相关,但都是遵守一定的原则,下列描述的用户界面设计原则,错误的是
A)当系统出现错误或程序运行时间较长时,用户界面应为用户提供有意义的反馈信息
B)友好的用户界面应该能适当容忍用户在使用中的一些操作错误
C)Web界面应多采用动画和图形效果,以吸引用户使用
D)用户界面应采取灵活多样的数据输入方式,以降低用户输入负担
(11)在SQLServer2000中,若希望数据库用户ACCT具有创建数据库对象的权限,较为合适的实现方法是
A)使ACCT只在dbcreator角色中
B)使ACCT只在publie角色中
C)使ACCT只在db_owner角色中
D)使ACCT只在db_ddladmin角色中
(12)设系、学生、教师三个实体之间存在约束:
一个系可以招聘多名教师,一名教师只受聘于一个系,一个系可以招收多名学生,一名学生只属于一个系,下列ER图能准确达以上约束的是 B
(13)在SQLServer2000中,为确保数据库系统能可靠地运行,不仅要考虑用户数据库的备份,也需要考虑系统数据库(不考虑tempdb)的备份,关于系统数据库的备份策略,下列做法中最合理的是
A)每天备份一次系统数据库
B)每天用户进行数据库更改操作时,备份系统数据库
C)每当用户操作影响了系统数据库内容时,备份系统数据库
D)备份用户数据库的同时备份系统数据库
(14)在数据库应用系统的需求分析阶段,需要进行性能分析。
下列关于数据库应用系统性能指标的说法,错误的是
A)数据访问响应时间是指用户向数据库提交数据操作请求到操作结果返回给用户的时间
B)系统吞吐量是指在单位时间内系统能存储的数据量
C)并发用户数量是指在保证单个用户查询响应时间的前提下,系统最多允许同时访问数据库的用户数量
D)系统性能指标是系统软硬件设计和选型的重要依据
(15)下列属于数据库应用系统需求分析阶段工作的是
I.标识的理解问题 II.构建关系模式
III.实现应用系统 IV.建立功能模型
A)I和IV
B)II和III
C)I和II
D)II和IV
(16)在SQLServer2000中,常用的数据库备份方法有完全备份、差异备份和日志备份。
为保证某些数据库的可靠性,需要综合采用者三种方式对该数据库进行备份。
下列说法正确的是
A)这三种备份操作的周期都必须一样,并且都必须备份在同一个备份设备上
B)这三种备份操作的周期都必须一样,但可以备份在不同的备份设备上
C)这三种备份操作的周期可以不一样,但必须备份在同一个备份设备上
D)这三种备份操作的周期可以不一样,并且可以备份在不同的备份设备上
(17)对于联机事务处理系统和数据仓库系统中的数据,下列说法正确的是
A)一般情况下,联机事务处理系统中的数据不能被修改,数据仓库系统中的数据可以被修改
B)联机事务处理系统中的数据规模一般大于数据仓库系统中的数据规模
C)联机事务处理系统中的数据一般按面向业务应用的方式组织,数据仓库系统中的数据一般按面向分析主题的方式组织
D)一般情况下,在安全性和一致性要求上,对数据仓库系统中数据的要求要高于对联机事务处理系统中数据的要求
(18)关于分布式数据库,下列说法错误的是
A)在分布式数据库系统中,分片透明性主要是指数据分片的分配位置对用户是透明的,用户无需关注每个分片被分配的场地
B)对于用户而言,一个分布式数据库系统从逻辑上看如何一个集中式数据库,用户可在任何一个场地进行执行全局应用和局部应用
C)分布式数据库的查询处理代价包括CPU和I/O代价,也需要考虑场地间传输数据所需的通信代价
D)在分布式数据库查询中,导致场地间数据传输最大的主要原因是数据间的连接操作和并操作
(19)查询优化是提高数据库应用系统性能的重要手段。
下列给出的查询优化方法,一般情况下无效的是
A)为经常需要进行排序或分组的列建立索引
B)为经常出现在查询条件中的列建立索引
C)对涉及连接的查询,尽量用左外连接或右外连接代替内连接
D)采用提前计算方法,将频繁访问的视图转为物化视图
(20)关于UML建模机制,下列说法错误的是
A)用例模型可以把满足用户需求的功能表示出来
B)包图是表面包与包之间关系的类图
C)协作图包含一组对象,并在图中展示这些对象之间联系以及对象间发送和接收的消息
D)顺序图主要用于描述系统、用例和程序模块中逻辑流程的先后秩序次序或并行次序
(21)在明确了解数据库应用系统的任务目标和系统范围之后,需要进行项目的可行性分析,关于可行性分析,下列说法错误的是
A)经济可行性分析是指对项目进行成本效益分析,其中项目成本一般包括开发费用,软硬件购置费用、安装调试及维护费用
B)技术可行性分析一般以系统的性能要求为主要依据,对系统的软件,硬件和技术方案做出评估和选择建议
C)操作可行性分析的主要目的在于论证系统开发是否具备所需要的人员、软件、硬件、和工作环境等条件
D)开发方案选择的目的在于提出并评价实现系统的各种开发方案,并从中选出合理的方案
(22)在SQLServer2000中,某数据库中有角色R1和用户U1,U1是R1角色的成员,且只属于该角色。
现对T表给R1只授予SELECT和DELETE权限,并授予U1对于T表具有SELECT、UPDATE和DENYDELETE权限,则用户U1对T表可以执行的操作是
A)查询,删除和更改数据
B)查询和更改数据
C)查询和删除数据
D)查询和更改表结构
(23)对于关系的主码必须满足的条件,有下列说法:
I.一个关系中的主码属性或属性性能函数决定该关系中的所有其他属性
II.一个关系中的主码属性不能与其他关系中的主码属性重名
III.在一个关系中,一个主码属性的任一真子集都不能函数决定其他属性
IV.在一个关系中,从主码属性集中去掉某个属性仍能唯一标识一个元组
以上说法正确的是
A)I和II
B)I和III
C)II和III
D)II和IV
(24)在SQLServer2000中,有教师表(教师号,姓名,职称,工作)。
现要根据教师的职称来增加教师的工资,增加规则为:
“教授”增加400.“副教授”增加300,“讲师”增加200.下列语句中正确的是
A)UODATE教师表SET工资=工资+CASE职称
WHEN‘教授’THEN400
WHEN‘副教授’THEN300
WHEN‘讲师’THEN200
END
B)UODATE教师表SET工资=工资+CASE职称
WHEN职称=‘教授’THEN400
WHEN职称=‘副教授’THEN300
WHEN职称=‘讲师’THEN200
END
C)UODATE教师表SET工资=工资+CASE职称
WHEN‘教授’THEN工资=工资+400
WHEN‘副教授’THEN工资=工资+300
WHEN‘讲师’THEN工资=工资+200
END
D)UODATE教师表SET工资=工资+CASE职称
WHEN职称=‘教授’THEN工资=工资+400
WHEN职称=‘副教授’THEN工资=工资+300
WHEN职称=‘讲师’THEN工资=工资+200
END
(25)在SQLServer2000中,有商品表(商品号,商品号,单价)和销售表(商品号,销售时间,销售价格)。
现要限制“销售价格”的取值必须在此商品“单价”的0.6到1.5倍范围之内,实现这个约束的正确代码是
A)CHECK(销售价格BETWEEN单价*0.6AND单价*1.5)
B)CHECK(销售价格BETWEEN商品表.单价*0.6AND商品表.单价*1.5)
C)CREATETRIGGERtri_SalesON销售表FORINSERT,UPDATE
AS
IFEXISTS(SELECT*FROMINSERTEDaJOIN商品表b
ONa.商品号=b.商品号
WHERE销售价格NOTBERWEEN单价*0.6AND单价*1.5)
ROLLBACK
D)CREATETRIGGERtri_SalesON销售表INSTEADOFINSERT,UPDATE
AS
IFEXISTS(SELECT*FROMINSERTEDaJOIN商品表b
ONa.商品号=b.商品号
WHERE销售价格NOTBERWEEN单价*0.6AND单价*1.5)
ROLLBACK
(26)关于数据库系统中的日志文件,有下列说法:
I.事务故障恢复和系统故障恢复时都必须使用日志文件
II.在动态转储过程中,对数据库所做的修改都被记录在日志文件中
III数据库管理系统进行数据修改操作时,一般是先写数据库,然后再写日志文件
IV.建立检查点的主要目的是通过减小日志文件的总体数据规模,从而提高数据恢复效率
V.日志文件有利于对用户数据库系统的违规操作开展核查审计工作
以上说法正确的是
A)仅I、II和V
B)仅I和II
C)仅I、III和V
D)仅II、III、IV和V
(27)数据库系统可能出现下列故障:
I、事务执行过程中发生运算溢出
II、某并发事务因发生死锁而被撤销
III、磁盘物理损坏
IV、系统突然发生停电事故
V、操作系统因为病毒攻击而突然重启
以上故障属于系统故障(软故障)的是
A)I、II、IV和V
B)IV和V
C)I、II、IV和V
D)III和IV
(28)设用户对某商场数据库应用系统下列活动
I、在该数据库应用系统运行前建立数据库,并建立初始的商品清单和销售人员数据等基础数据
II、根据商场销售业务展开情况,调整数据库中的商品清单和价格
III、为了应对商场业务增长过来带来的数据库数据增长迅速而扩展硬盘空间
IV、为了安全考虑,定期对数据库系统中的数据进行转储
V、国庆期间,在应用系统中增加一条业务规则“节日期间所有商品打八折”
VI、在系统中模拟生成大规模销售数据,并开启所有收银台终端,在所有终端启动自动批量收银程序,测试系统的性能
以上活动属于商场数据库应用系统实施活动的是
A)I、II和III
B)II和V
C)III、IV和VI
D)I和VI
(29)对于大型企业业务支持数据库应用系统的存储空间规划问题,在进行存储空间规划时,下列说法一般情况下错误的是
A)数据库应用系统需要支撑的企业核心业务的发生频率是重要的输入参数
B)粗粒度级统计分析数据所需占用的存储空间是需要考虑的主要因素
C)企业核心业务数据的保存期要求是需要考虑的主要因素
D)数据安全性、业务稳定性和容灾能力要求是重要的考虑因素
(30)RAID是指廉价冗余磁盘阵列,它是由多块磁盘构成的一个整体。
关于RAID机制和技术,下列说法错误的是
A)RAID系统内部可以包含多个磁盘驱动器
B)RAID5盘阵中的一块磁盘损坏时,利用其他磁盘上的信息,可以恢复出这块磁盘上的信息
C)RAID采用校验冗余技术所需用的磁盘空间要比采用镜像冗余技术所需要的磁盘空间多
D)RAID系统一般都具有设备虚拟化技术
二、应用题(每空2分,共30分)
(1)设某数据库中作者表(作者号、城市)和出版商表(出版商号,城市)。
请补全如下查询语句,是该查询语句能查询作者和出版商所在的全部不重复的城市。
SELECT城市FROM作者表
【1】UNION
SELECT城市FROM出版商表
(2)设某数据库中商品表(商品号,商品名,商品类型,价格)。
现需要创建一个视图,该视图包含所有全部商品类型和每类商品的平均价格,请补全如下语句。
CREATEVIEWV1(商品类别,平均价格)
AS
SELCET商品类型,【2】AVG(价格)FROM商品表
GROUPBY商品类别
(3)在VB6.0中,已经用Adobe控件Adobe1连接到数据库,并已绑定到数据库中的某个关系表,先要通过此控件向表中插入数据,需要用到Adobe1.Recordset的 【3】insert方法和Update方法,使用Adobe1.Recordset的【4】Next方法可以将当前行指针在结果集中向前移动一行。
(4)设在SQLServer2000环境下,对“销售数据库”进行的备份操作序列如下图所示:
①出现故障后,为尽可能减少数据丢失,需要利用备份数据进行恢复。
首先应该进行的恢复操作是恢复【5】备份1,第二个应该进行的恢复操作是恢复【6】备份2。
②假设这些备份操作均是在BK设备上完成的,并且该备份设备只用于这些备份操作,请补全下述恢复数据库完全备份的语句
RESTORE 【7】FRINBK
WITHFILE=1, 【8】
(5)在SQLServer2000中,数据页的大小是8KB,某数据库表有1000行数据,每行需要5000字节空间。
则此数据库表需要占用的数据页数为【9】611页。
(6)在SQLServer2000中,新建了一个SQLServer身份验证模式的登录账户LOG,现希望LOG在数据库服务器上具有全部的操作权限,下述语句是为LOG授权的语句,请补全该语句。
EXECsp_addsrvrolemember‘LOG’, 【10】
(7)在SQLServer2000中,某数据库用户User在此数据库中具有对于表数据的查询和更改权限。
现要收回User对于T表的数据更改权,下述是实现该功能的语句,请补全该语句
【11】REVOKEUPDATEONTFROMUser
(8)某事务从账户A转出资金并向账户B转入资金,此操作要么全做,要么全不做。
为了保证该操作的完整,需要利用到事务性质中的【12】一致性性。
(9)某SQLServer2000数据库中两张表:
商品表(商品号,商品名,商品类型,价格)和销售表(商品号,销售时间,销售数量,销售单价)。
用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。
为了完成该统计操作,请按要求将下面的存储过程补充完整。
CREATEPROCp_Sum
@yearInt
AS
SELECT【13】商品类别,销销售数量,销售总利润WITHTIES
商品类别,SUM(销售数量)AS销售总数量,
【14】(销售单价-价格)*销售数量AS销售总利润
FROM商品表JOIN销售表ON商品表.商品号=销售表.商品号
WHEREyeat(销售时间)=@year
GROUPBY商品类别
ORDERBY销售总利润【15】3
三、设计与应用题(共30分)
(1)有两张关系表:
Students(SID,Sname,Sex,Dept)
Prizing(SID,Pname,Type,PDate)
Students表描述的是学生基本信息,Prizing表述的是学生获奖信息。
①若在应用程序中经常出现如下查询语句:
SELECTS.SID,Sname,Pname,Type
FROMStudentsASSJOINPrizingASPONS.SID=P.SID
请问能否使用聚集文件提供此查询的性能?
并给出原因。
答:
能,因为Students和Prinzing关系表中的SID属性都经常出现在查询条件中且SID是两关系表的主键。
②为了提高查询性能,数据库管理员在Students表的Sname列上建立了一个非聚焦索引Sname_ind.如果应用程序使用如下语句查询数据:
SELECT*FROMStudentsWHERESnameliee‘%华’
请问Snmae_ind索引是否能够提高该语句的查询速度,并给出原因。
答:
不能,因为查询条件为Sname的最后一个字,而索引是以Sname的首字母来建立的,所以不能提高查询速度。
(2)某公司需建立产品信息数据库,经调查其业务需求如下:
I.一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件:
一种部件至少被用在一种产品中;一种部件可以由多个不同种类的零件组成;一种零件至少被用在一种产品或一种部件中;
II.对于一种具体的部件,要记录这种部件使用的各种零件的数量;
III.对于一种具体的产品,要记录这种产品使用的各种部件数量和各种部件数量,但部件所使用的零件数量不计入该产品的零件数量;
IV.一个供应商可供应多种零件,但一种零件只能由一个供应商供应。
根据以上业务要求,某建模人员构建了如下ER图:
此ER图中的实体的属性完整,但实体、联系的设计存在不合理之处。
①请重新构建合理的ER图,使之符合业务要求,且信息完整。
②根据重构的ER图给出符合3NF的关系模式,并标出每个关系模式的主码和外码。
产品(产品号,产品名称,型号,装配图号)
主码:
产品号
部件(部件号,部件名称)
主码:
部件号
零件(零件号,零件名称,联系电话,供应商名,供应商号)
主码:
零件号
产品—部件(产品号,使用的部件号,使用数量)
主码:
产品号外码:
使用部件号
部件—零件(部件号,使用零件号,使用数量)
主码:
部件号外码:
使用零件号
(3)在SQLServer2000中,有讲师表Teachers(TeacherID,Name,LeaderID),其中TeacherID是主码,类型是长度为4的普通编码定长字符串,且每位是0-9的数字字符;Name的类型是长度为10的普通编码可变长字符串;LeaderID是每个教师的领导的TeacherID。
①写出创建Teachers表的SQL语句,要求语句中包含所有约束。
②现要查询TeacherID为“1234”的教师的领导的领导的TeacherID,请写出相应的SQL语句,要求只使用一条SQL语句实现,且此语句中不允许包含子查询
(1)
Createtable讲师表(
TeacherIDchar(4)primarykeycheck(TeacehIDlike‘[0-9][0-9][0-9][0-9]’),
Namechar(10),
LeaderIDchar(4)check(LeaderIDlike‘[0-9][0-9][0-9][0-9]’)
)
(2)
SelectLeaderIDfrom讲师表
WhereTeacherID=’1234’