2015年计算机等级三级《数据库技术》题库(3)
3.设某全国性的运输企业建立了大型0LTP系统,并在该系统之上建立了数据仓库。0LTP系统和数据仓库中有如下数据表:
运输明细表(运输单ID,发送站ID,终到站ID,货物ID,货物重量,运输价格,发货日期)
汇总表1(发送站ID,终到站ID,货物ID,发货日期,总重,总运价)
汇总表2(发送站ID,终到地区ID,货物ID,发货日期,总重,总运价)
汇总表3(发送站ID,终到站ID,货物ID,发货月份,总重,总运价)
汇总表4(发送地区ID,终到地区ID,货物类别ID,发货日期,总重,总运价)
该企业管理的货运站约有100个,货物约有500种共l0类,各汇总表都建有主码,且各表有合理的维护策略,在每次维护后数据能保持一致。设有视图V,该视图的访问频率很高,其查询结果模式为(发送地区ID,终到站ID,发货月份,总重,总运价),该视图现以汇总表1为计算数据源。经监控发现,汇总表1的被访问频率过高,导致系统整体性能下降,而其它汇总表被访问频率较低。在不增加汇总表和索引的情况下,请给出一个改善系统服务性能的优化方案,并简要说明理由。(10分)
参考答案与解析
一、单选题
1.A【解析】数据库的三级模式由外模式、模式、内模式构成。外模式是用户可见的部分数据的存在形式;模式可以等价为全体数据的逻辑结构且用户不可见,是三级模式的中间部分;内模式对应数据库的物理结构和存储方式。当模式改变时,由数据库管理员对各个外模式/模式的映像作相应的改变,但是外模式可以不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,因此,外模式/模式映像保证了数据与程序的逻辑独立性。
2.C【解析】应用服务器是指通过各种协议把商业逻辑提供给客户端的程序。它提供了访问商业逻辑的途径以供客户端应用程序使用,并接收来自于Web浏览器的用户请求,根据应用领域业务规则执行相应的数据库应用程序,通过访问接口向数据库服务器提出数据操作请求;它亦接收来自于数据库服务器的数据访问结果,并通过客户端将结果返回用户。所以当数据库服务器出现问题时无法向用户提供服务。
3.D【解析】关系模式描述关系的静态结构,它是静态、稳定的,而关系是动态、随用户对数据库的操作而变化的。考生要区分开来关系模式与关系。
4.A【解析】数据库系统设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计和物理结构设计等。Ⅱ属于物理设计阶段,Ⅲ属于逻辑结构设计阶段,故答案选A。
5.B【解析】Ⅲ:一个属性的值必须属于唯一的域,域在这里相当于数据类型的子集,属性的取值必须为同一域。V:标识属性的值不能重复且不可以为空。
6.B【解析】关系模型中的候选码定义为某一组属性可以唯一标识一个元组,则称为该属性组的候选码,所以其候选码属性的取值必须不能有重复也不能为空。题目中姓名,职业,出生日期都可能重复。
7.D【解析】人机界面的设计可采用原型迭代法,首先进行初步设计,再进行用户界面细节设计,最后是原型设计与改进。
8.B【解析】需求分析就是分析用户的应用请求。Ⅲ和Ⅴ不是用户所考虑的问题,Ⅴ属于系统的物理设计阶段,Ⅲ属于系统运行与维护阶段所考虑的问题。
9.D【解析】这属于UML设计范畴,所有活动有关判断的部分要用菱形表示。
10.D【解析】数据库中的日志文件通常记录数据库的操作记录,对数据库的安全性与可靠性有着重要的作用。当数据库被破坏或者出现故障时,常常需要根据日志文件来对数据库进行恢复等操作,手动删除tempdb中的Et志文件则将会破坏数据库的安全性和可靠性。
11.A【解析】复制数据库的方法有:①使用复制数据库向导在服务器之间复制或移动数据库。②还原数据库备份,若要复制整个数据库,可以使用BACKUP和RESTORE Transact_SQL语句。通常,还原数据库的完整备份用于因各种原因将数据库从一台计算机复制到其他计算机。所以选A。
12.C【解析】Ⅲ表示在地址1的所有记录中地址不允许重复,即每个职工的地址1都不同且每个职工的地址2也不允许重复。UNIQUE是对创建的表的属性约束条件,与位置无关。
13.D【解析】建立索引是加快查询速度的有效手段。在SQL语言中,建立索引使用CREATE INDEX语句,一般格式为:CREATE[UNIQUE]INDEX<索引名>ON<表名>(<列名>[<次序>],<列名>[<次序>],)INCLUDE(属性名)WHERE约束条件所以根据题意选D。
14.A【解析】用户定义的完整性可以用CHECK短语指定列值应满足的条件,也可以用触发器约束,通过服务器自动激活相应的触发器,对数据进行完整性控制。所以触发器或CHECK约束都可以实现。但DEFAULT约束不能实现用户自定义的完整性,只能表示实体或参照完整性。
15.A【解析】用户若想在SQL Senrer中访问数据库的表,必须同该表建立一个连接表示通信渠道,当连接中断时,无法对其进行访问。B中只有用户与#temp建立的连接才可以访问到表。C中不是所有用户都可以访问该表,只有U1用户和由U1授权的用户可以访问。D项很明显也不正确。故答案为A。
16.A【解析】当用户被赋予的两种角色的权限出现冲突时,为了安全起见,都是DENY优先。而没有规定DENY权限的,如本题中的SELECT,则用户可以使用此权限。所以选A。
17.C【解析】db_datawriter角色可以对表中的数据执行插入、删除和更新操作。U1用户属于此角色中的成员,其继承了db_datewriter角色的插入、删除和更新操作权限。所以选C。
18.A【解析】在客户机和数据库服务器上使用数据库管理系统自带的客户端程序分别执行都很慢,则排除了网络对于数据处理操作的影响。
19.C【解析】数据库系统的更新既包括应用系统及其相关的数据库对象,也包括数据库管理系统及其所在的操作系统的环境。
20.C【解析】1是数据库维护工作中的数据库备份,不属于数据库监控分析中的内容。
21.C【解析】传统的索引如有序索引、树型索引都是建立在“比较”的基础上,即在结构中查找记录时需要进行一系列与关键字的比较。理想的情况是不希望经过任何比较,一次存取便能得到所查记录,则就必须在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使每个关键字和结构中的唯一的存储位置相对应,因而在查找时,要根据这个对应关系f找到给定值K的像f(K)。若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上,由此,不需要进行比较便可直接取得所查记录。这样的对应关系f称为hash函数,这种方法叫hash索引。其它三个答案都会有索引值的比较。
22.B【解析】Ⅱ错误原因是题目中已经说明数据库服务成为主要瓶颈,因此跟操作系统的进程调度无关,而且改变操作系统进程优先级会影响系统的运行,有可能会造成其它错误。Ⅲ错误是因为数据库系统中包括数据库管理系统,其中有一些执行和处理数据的方法已经很优化,而若使用文本方式存储数据,则数据管理要用户自己完成,处理更繁琐且效率较低。
23.D【解析】系统数据库master、model、msdb因为被修改地较少,且对数据库系统影响较大,所以每次修改后应及时备份;而用户自定义的数据库(如学生成绩管理系统中的数据库)在使用过程中会经常不定期的修改,而且每次修改量不大,如果每次修改后重新备份则对系统操作冗余性较大,所以采用定期备份;而tempdb是系统临时文件的数据库,每次启动后都会清空,所以没必要备份。所以选D。
24.B【解析】文件备份主要是对数据库中数据文件的备份,不对日志文件备份,因此在备份完成之后必须再对日志进行备份。所以选B。
25.C【解析】Ⅱ和V是介质故障,又称为硬故障,是指物理设备的损坏导致数据库无法运行,而Ⅳ是人为攻击破坏。系统故障是指造成系统停止运转的任何事件,使得系统要重新启动。所以选C。
26.C【解析】在分布式数据库查询中,导致数据传输通信代价大的主要原因是各个站点分片问的连接和并操作,A错;分布式数据库中的分布透明性包括分片透明性、位置透明性、局部数据模型透明性,其中分片透明性是最高层次的透明性,B错;分布式数据库的目标是本地自治、非集中式管理、高可用性、位置独立性、数据分片独立性等,D错。故答案选C。
27.B【解析】数据的水平分片是在关系中从行(元组)的角度依据一定条件划分为不同的片断,关系中的每一行必须至少属于一个片断,以便在需要时可以重构关系。故B错误。
28.A【解析】并行数据库常用的划分技术有轮转法、散列划分、范围划分。轮转法:对关系顺序扫描,将第i个元组存储到标号为Di mod n的磁盘上;该方式保证了元组在多个磁盘上均匀分布。散列划分:选定一个值域为{0,1,…,n-1}的散列函数,对关系中的元组基于划分属性进行散列。如果散列函数返回i,则将其存储到第i个磁盘。范围划分:该策略按照关系中某个属性的取值范围将数据文件划分为几部分,分别存放到磁盘L。由此可见,轮转法最适合于扫描整个关系的应用,并在扫描时可以并行地从几个磁盘读取数据,负载平衡,充分发挥了并行性。
29.B【解析】对于训练集S,测试集A利用数据挖掘中的分类算法,通过训练集构建一个分类器,将测试集A作为分类器输入,经过分类器后会得到相应的类别号。即使相同的类别编号的训练集也可能对应不同的属性集,所以单纯的通过对属性集差别的比较来识别类别不准确,故A错。关联规则挖掘是发现交易数据库中不同商品之间的联系,而本题是对数据进行分类,与题意不符,故C错。D项属于无监督学习算法,对类别并没有规定明确的前提条件,与本题所给的条件无关。综上可知,选项B正确。
30.D【解析】数据仓库是为了构建新的分析处理环境而出现的一种数据存储和组织的新技术。它的建立能充分利用已有的数据资源,把数据转换为信息,从中挖掘出知识,最终创造出效益。数据仓库有若干基本特征,包括不可更新性和随时间变化性。所谓不可更新性就是用户在提取仓库中的数据进行分析时并不会同时对数据仓库中的数据进行更新操作,而数据变化性是数据仓库每隔一段时间进行数据的更新和处理。综上可以看出,数据仓库的更新与时问间隔有关,所以不会实时更新,即排除A、C,又因为对用户进行推荐时要结合以往的历史数据而不是仅通过当前数据分析,即B错。综上可知,选项D正确。
二、应用题
1.数据字典
【解析】数据字典是对系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位,通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。
2.完整性约束
【解析】数据模型通常由数据结构、数据操作和完整性约束三部分构成。数据的完整性约束是一组完整性规则,它是给定的数据模型中数据及其联系所有的制约和依存的规则,用以限定符合数据模型的数据库状态及状态的变化,以保证数据的正确、有效、相容。实体的完整性规定,主码的任何属性都不能为空,因为概念模型中实体和联系都是可区分的,而且它们以码为唯一性标识。如果主码的属性值可以为空,则意味着在概念模型中存在着不以码为唯一性标识的实体。显然前后矛盾。
3.顺序
【解析】顺序图主要用于描述系统内对象之间的消息发送和接收序列。它有两个坐标轴:纵向表示时间的持续过程,横向表示对象,每一个对象用矩形框表示,纵向的虚线表示对象在序列中的执行情况。顺序图的第一个消息一般在左边第一个对象的生命线顶端,其他消息按时间顺序相继插入顺序图中,后面发生的消息的线应比前面发生的消息的线画得低一些,以表示它们之间的时问关系。
4.外
【解析】两个关系R与S在做自然连接时,选择两个关系在公共属性上值相等的元组构成新的关系。关系R中某些元组有可能在S中不存在公共属性上值相等的元组,从而造成R中这些元组在操作时被舍弃,同样,S中某些元组也可能被舍弃。如果把舍弃的元组也保存在结果关系中,而在其它属性上填空值(Null),那么这种连接就叫外连接。题中两个表做外连接,那些没有对应教师的系也会被留下来,方便查看。
5.TOP 3 WITH TIES
【解析】希望选出商品数量最多的前3类商品,并获得相应的商品类别和数量。with ties一般是和Top、order by相结合使用,表示包括与最后一行order by后面的参数取值并列的结果。
6.第一空:80
第二空:50
【解析】在SQL Server中,数据存储的基本单位是页。为数据库中的数据文件(.mdf或.ndf)分配的磁盘空间可以从逻辑上划分成页(从0到n连续编号),磁盘I/O操作在页级执行。也就是说,SQL Server读取或写入所有数据页。在SQL Server中,页的大小为8 KB,这意味着SQL Server数据库中每MB有128页,每页的开头是96字节的标头,用于存储有关页的系统信息,此信息包括页码、页类型、页的可用空间以及拥有该页的对象的分配单元ID。行不能跨页,但是行的部分可以移出行所在的页,因此行实际可能非常大。页的单个行中的最大数据量和开销是8,060字节,由于题目中2行数据加起来的存储空间大于数据页,所以每页只能存储一行,因为1M有128页,也就可以存储l28行,10000/128得80MB空间。至于空间利用率(实际存储数据量/所占的存储空间),考虑到每行4031字节为8060的一半,所以近似得到50%。
7.UNIQUE
【解析】数据表中对于某一列数据的唯一性约束有UNIQUE约束和PRIMARY约束,但两者之间有区别。PRIMARY KEY约束多为强调主键不可出现相同元素,但想要强制一列或多列组合(不是主键)的唯一性时应使用UNIQUE约束而不是PRIMARY KEY约束。而且,UNIQUE约束允许出现空值,PRIMARY KEY约束不允许出现空值。
8.dbcreator
【解析】EXEC sp_addsrvrolemember是登录账户权限之意,sp_addsrvrolemember是定义好的存储过程。其作用是为登录账户赋角色权限。数据库主要的角色及权限如下表:
bulkadmin执行BULK INSERT语句
dbcreator创建、修改、删除和还原数据库
diskadmin管理磁盘文件
processadmin管理在SQL Server实例中运行的进程
securityadmin管理服务器登录账户
serveradmin配置服务器范围的设置
setupadmin添加和删除链接服务器
svsadmin在SQL Server中进行任何活动,该角色的权限跨越所有其它固定服务器角色。
9.事务等待
【解析】事务等待图是一个有向图G=(T,u),T为结点的集合,每个结点表示正在运行的事务;U为边的集合,每条边表示事务等待的情况。若事务Tl等待事务T2,则Tl、T2之间有一条有向边,从T1指向T2。如果发现图中存在回路,则表示系统中出现了死锁。
10.隔离
【解析】当多个用户并发地存取数据时就会产生多个事务同时存取一个数据的情况,若对并发操作不加控制就可能会存取不正确的数据,破坏事务的一致性和数据库的一致性。并发操作带来的数据不一致性主要包括丢失修改、不可重复读和读“脏”数据,产生上述三类数据的不一致性主要原因就是并发操作破坏了事务的隔离性,所以数据库管理系统必须提供并发控制机制。
11.RED0
【解析】系统故障造成数据库不一致状态的原因有两个,一是未完成的事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。对于故障发生前已提交的事务(既有BEGIN Transaction,又有commit)做red0操作,对于故障发生时尚未完成的事务(只有BEGINTransaction,而没有commit或rollback)做und0操作。
12.无共享
【解析】并行数据服务器分为两种结构:完全共享资源结构、完全不共享资源结构。完全共享资源结构指对每个数据项的存取都要经过公共通信线路,其所有的处理器共享内存、磁盘等资源。完全不共享资源结构指高功能计算机系统由多个较小的系统替代,每个站点都要实现全局数据目录,每个站点有独立的内存和磁盘对应该站点的服务器。
13.主题
【解析】数据仓库是为了构建新的分析处理环境而出现的一种数据存储和组织技术,基本特征包括:数据是面向主题的、集成的、非易失的、随时间不断变化的。主题是一个在较高层次上对数据的抽象,这使得面向主题的数据组织可以独立于数据的处理逻辑,因而可以在这种数据环境上方便地开发新的分析型应用。
14.T3
【解析】粒度问题是设计数据仓库的一个最重要方面。粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大。由题意可知,粒度最大的表应是T3。
三、设计与应用题
1.(1)【解题思路】
E-R图也称实体一联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。为了简化E-R图的处置,现实世界的事物能作为属性对待的则尽量作为属性对待。实体与属性的划分给出如下两条规则:①作为“属性”,不能再具有需要描述的性质,“属性”必须是不可分的数据项,不能包含其它属性。②“属性”不能与其它实体有联系,即E-R图中所表示的联系是实体之问的联系。本题中一个系可以聘用多名教师,一名教师只能受聘于一个系,所以系实体与教师实体有联系;一名教师可以讲授多门课程,一门课程可由多名教师讲授,所以教师实体与课程实体有联系,一门课程可以有多门先修课程,所以课程间也有联系。
【参考答案】
(2)【解题思路】
要想使转换生成的关系模式满足3NF,则必须满足关系模式中每一个非主属性既不部分依赖于码也不传递依赖于码。
【参考答案】
系(系编号,系名,系办公电话),无外码
教师(教师号,教师名,工资,聘用日期,职称,系编号),外码:系编号
课程(课程号,课程名,学分,教师号),外码:教师号
先修(先修课程号,先修课程名,课程号),外码:课程号
2.【解题思路】
存储过程是由PL/SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。使用存储过程具有以下优点:其已经编译和优化过了,所以运行效率高,提供了在服务器端快速执行SQL语句的有效途径;存储过程降低了客户端和服务器之间的通信量;方便实施企业规则,当企业规则发生变化时只要修改存储过程,而无需修改其他应用程序。创建存储过程:
create procedure过程名
@[参数名][类型],@[参数名][类型]/*过程首部*/
As
Declare/*as下面对应的块为过程体*/
begin
end
如上所示,存储过程包括过程首部和过程体。过程名是数据库服务器合法的对象标识;参数列表:用名字来标识调用时给出的参数值,必须指定值的数据类型。参数可以是输人参数或输出参数,默认为输人参数。
【参考答案】
CREATE PROCEDURE PRODUCT@商品号int,@年份int,@毛利int output
AS
DECLARE
@某商品销售量int,@某商品进价int,@某商品销售单价int/*中间变量定义:*/
BEGIN
Select@某商品进价=单价from商品表where@商品号=商品号
Select@某商品销售单价=销售单价,@某商品销售量=count(*)from销售表where
@商品号=商品号and销售时间=@年份
IF@某商品进价is NULL THEN/木判断该商品是否存在*/
ROLLBACK;
RETURN;
END IF
IF@某商品销售单价is NULL THEN/*判断该两晶是否可卖*/
ROLLBACK;
RETURN;
END IF
SET@毛利=(@某商品销售单价-@某商品进价)*@某商品销售量
GO
3.【解题思路】
计算机系统中存在着两类不同的数据处理工作:操作型处理和分析型处理,也称作0LTP(联机事务处理)和0IAP(联机分析处理)。操作型处理也叫事务处理,是指对数据库联机的日常操作,通常是对一个或一组纪录的查询或修改,例如火车售票系统、银行通存通兑系统、税务征收管理系统等。这些系统要求快速响应用户请求,对数据的安全性、完整性以及事务吞吐量要求很高。结合本题中存在的问题,视图本身的访问量很高,而又仅仅以汇总表1为计算数据源,而其它汇总表访问率低,导致了资源利用不合理。因此本题考察了联机事务处理中的资源调度问题。
【参考答案】
由于汇总表1和视图的模式访问频率都很高,而且视图的数据源来自汇总表1,又因为其他汇总表的访问率较低,所以只需要将视图的数据源绑定为汇总表3,因为汇总表3也可以满足视图的输出模式。这样不仅提升了汇总表3的数据访问率,而且降低了汇总表1的数据访问率,系统性能和服务性能得到了很大的优化。又因为货物约有500种,共10类,可以再建立一个视图绑定数据源为汇总表4,这样就可以充分利用汇总表4的数据信息,从而可以进一步优化系统性能。