第一部分 名校考研真题
说明:我们从指定王珊《数据库系统概论》(第4版)为考研参考书目的名校历年考研真题以及相关教辅习题中挑选具有代表性的真题,并对其进行了详细的解答。通过这一部分的练习,可以帮助学员巩固基础知识、夯实专业基础,从而做到全方位备考。
一、选择题
1按照数据库应用系统生命周期模型,在开发某数据库应用系统时,对系统采用的软硬件及技术方案等作出合理的评估并提出选择建议的工作属于( )。
A.规划与分析阶段的系统规划与定义
B.规划与分析阶段的可行性分析
C.需求分析阶段的业务规则需求分析
D.系统设计阶段的总体设计
【答案】B
【解析】技术可行性分析是指对系统采用的软硬件及技术方案等作出合理的评估并提出选择建议,是根据用户提出的系统功能、性能及实现系统的各项约束条件来进行分析的,属于规划与分析阶段。
2关于数据库应用系统的需求分析工作,下列说法正确的是( )。
A.通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明
B.在需求分析阶段,系统需求分析员要与用户充分沟通,并做出各类用户视图
C.数据需求分析的主要工作是要辩识出数据处理中的数据处理流程
D.数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标
【答案】D
【解析】数据库应用系统的需求分析工作主要包括:①数据及数据处理需求分析;②业务需求分析;③性能、存储、安全、备份、恢复等方面的需求。其中,性能需求分析指标主要包括:①数据操作响应时间;②系统吞吐量;③最大并发用户数。
3下列用于数据库概念设计的方法是( )。
A.DFD方法和IDEFIX方法
B.E-R方法和IDEF0方法
C.E-R方法和IDEFIX方法
D.DFD方法和IDEF0方法
【答案】C
【解析】概念设计指将需求分析得到的用户需求抽象为信息结构的过程。常见的用户数据库概念设计方法包括E-R方法和IDEFIX方法等。
4关于数据库概念设计阶段的工作目标,下列说法错误的是( )。
A.定义和描述应用系统设计的信息结构和范围
B.定义和描述应用系统中数据的属性特征和数据之间的联系
C.描述应用系统的数据需求
D.描述需要存储的记录及其数量
【答案】D
【解析】数据库概念设计阶段的工作内容为:①定义和描述应用领域涉及的数据范围,获取应用领域或问题域的信息模型;②准确描述数据的属性特征、数据之间的关系、数据约束、数据的安全性要求以及支持用户的各种处理需求;③保证信息模型正确便捷的转换成数据库的逻辑结构(数据库模式),便于用户理解。但不需要描述需要存储的记录及其数量。
5下列不属于非平凡函数依赖的是( )。
A.(CustomerID,ProviderID,BuyDate)→GoodsName
B.(CustomerID,ProviderID,BuyDate)→GoodsName,ProviderID
C.(CustomerID,ProviderID,BuyDate)→GoodsClassID
D.(CustomerID,ProviderID,BuyDate)→ProviderID
【答案】D
【解析】若X→Y,但Y∈X,则称X→Y是平凡函数依赖,否则称为非平凡函数依赖。D项为平凡函数依赖,所以不属于非平凡函数依赖。
6有某数据库系统在运行过程中发生了系统故障,发生故障时正在运行事务t1和t2。进行故障恢复时,在日志文件中发现有t1事务的开始记录而没有结束记录,有t2的开始记录和结束记录,但t2对数据库的修改还没有写到数据库中,从检查点开始正向扫描日志文件( )。
A.扫描到t1时,直接重做t1,扫描到t2时,将t2直接撤销
B.扫描到t1时,将t1加入重做队列,扫描到t2时,将t2加入撤销队列
C.扫描到t1时,直接撤销t1,扫描到t2时,将t2直接重做
D.扫描到t1时,将t1加入撤销队列,扫描到t2时,将t2加入重做队列
【答案】D
【解析】事务的原子性定义为:一个事务对数据库的所有操作是一个不可分割的工作单元,要么全部执行,要么全部不执行。本题中由于t1事务没有结束记录,可能对数据库做了部分修改,所以应该加入回滚队列。而t2有开始和结束记录却将数据存储在缓冲区中,没有写入数据库,所以应该加入重做队列。
7在大型企业的数据库应用系统设计中,对企业(甲方)和项目承担方(乙方)的人员角色,下列说法一般来说不合理的是( )。
A.甲方首席信息官和乙方项目经理要参与概念模型设计工作
B.甲方首席信息官要实际参与逻辑模型和物理模型设计与实施工作
C.逻辑模型设计完成以后,主要由乙方数据库工程师负责物理模型的设计与实现工作
D.甲方总经理、首席信息官、乙方项目经理和双方系统架构师一般都要参与系统规划与总体架构设计工作
【答案】B
【解析】在合作过程中甲方首席信息官主要参与项目规划、需求分析以及概念模型设计阶段工作,而乙方(项目承担方)数据工程师主要负责数据库逻辑模型和物理模型的设计与实现。
8某企业需要在一个SQL Server 2000实例上为多个部门构建不同的数据库,有一个通用的数据类型需要在这些不同的数据库中,则较好的实现方法是( )。
A.在创建所有的用户数据库之前,将此数据类型定义在master数据库中
B.在创建所有的用户数据库之前,将此数据类型定义在model数据库中
C.在创建所有的用户数据库之前,将此数据类型定义在msdb数据库中
D.在创建所有的用户数据库之前,在每个数据库中分别定义此数据类型
【答案】B
【解析】因为model数据库作为样板数据库,始终存在于SQL Server系统中,而且其中包含了所有用户数据库的公共信息,所以在创建所有的用户数据库之前将数据类型定义在model数据库中是较好的实现方法。
9有教师表(教师号,教师名,职称,基本工资),其中基本工资和取值与教师职称有关,实现这个约束的可行方案是( )。
A.在教师表上定义一个视图
B.在教师表上定义一个存储过程
C.在教师表上定义插入和修改操作的触发器
D.在教师表上定义一个标量函数
【答案】C
【解析】触发器是一种无需用户调用的特殊的存储过程,当数据库系统进行特定的操作发现有触发器定义时就会执行触发器定义的功能,从而满足某些特定的需要以保证业务的处理任务自动进行。
10VB6.0中RecordSet对象的UPDATE方法的作用是( )。
A.在内存中开辟一个存放新记录的缓冲区
B.将数据缓冲区中的内容保存到数据库中
C.更改用户屏幕上显示的数据
D.更改数据缓冲区中当前行指针的位置
【答案】B
【解析】UPDATE方法的作用是将新添加在缓冲区的记录或修改后的结果永久保存在数据库中。
11DBMS通过加锁机制允许用户并发访问数据库,这属于DBMS提供的( )。
A.数据定义功能
B.数据操纵功能
C.数据库运行管理与控制功能
D.数据库建立与维护功能
【答案】C
【解析】通过加锁机制允许用户并发访问数据库属于DBMS所提供的数据库运行管理与控制功能,除此之外数据库运行管理与控制功能还包括:统一管理和控制数据库的建立、运行和维护。
12计算机系和教务处要对某数据库进行访问,计算机系全体教师对此数据库中的全部数据具有查询权,教务处全体人员对此数据库中全部数据具有查询、插入、删除和修改权。在SQL Server 2000中,下列安全控制方法最合理的是( )。
A.为计算机系每个教师授予每个表的SELECT权,为教务处全体人员授予每个表的SELECT、INSERT、DELETE和UPDATE权
B.为计算机系和教务处分别建立一个角色,将两个部门的每个职工设置为相应角色中的成员。将计算机系角色和教务处角色设置为此数据库的db_datareader角色中的成员,将教务处角色设置为此数据库的db_datawriter角色中的成员
C.为计算机系和教务处分别建立一个角色,将两个部门的每个职工设置为相应角色中的成员。为计算机系角色授予每个表的SELECT权,为教务处角色授予每个表的SELECT、INSERT、DELETE和UPDATE权
D.将计算机系和教务处的每个职工都设置为db_owner角色中的成员
【答案】B
【解析】在数据库中,db_datareader角色具有查询数据库中所有用户表以适用于计算机系和教务处的权限;db_datawriter具有更改数据库中所有用户表中数据以适用于教务处的权限。
13在SQL Server 2000中,通过构建永久备份设备可以对数据库进行备份,下列说法正确的是( )。
A.不需要指定备份设备的大小
B.一个数据库一次只能备份在一个设备上
C.每个备份设备都是专属于一个数据库的
D.只能将备份设备建立在磁盘上
【答案】A
【解析】适用SQL Server备份数据库的场所建立在磁带或者磁盘上,进行数据库备份时不需要指定备份设备的大小,一个备份设备上可以对同一个数据库或多个数据库进行多次备份,同时一个数据库也可以在多个备份设备上备份。
14关于查询优化问题,下列说法错误的是( )。
A.将频繁地向数据库发送的某条查询语句用存储过程来代替,可以提高查询效率
B.为经常出现在查询条件中的属性建立索引,可以提高查询效率
C.先执行表连接条件,后执行查询条件,有利于提高查询效率
D.将频繁访问的视图物化并进行维护,有利于提高查询效率
【答案】C
【解析】优化查询常见的方法包括:用存储过程代替频繁向数据库发送的查询语句;为经常出现在查询条件中的属性建立索引并创建和维护频繁访问的物化视图;处理含有表连接的查询时应先执行查询条件再进行表连接。
15有教师表(教师号,姓名,所在系,工资),找出系内教师平均工资高于全体教师平均工资的系信息,正确的语句是( )。
A.
B.
C.
D.
【答案】C
【解析】分组查询中关键字GROUP,AVG( )、SUM( )等函数应放在HAVING关键字后面作为查询条件。
16关于分布式数据库系统和并行数据库系统,下列说法正确的是( )。
A.分布式数据库系统的目标是利用多处理机结点并行地完成数据库任务以提高数据库系统的整体性能
B.并行数据库系统的目的主要在于实现场地自治和数据全局透明共享
C.并行数据库系统经常采用负载平衡方法提高数据库系统的业务吞吐率
D.分布式数据库系统中,不存在全局应用和局部应用的概念,各结点完全不独立,各个结点需要协同工作
【答案】C
【解析】分布式数据库的目标是:本地自治、非集中式管理、高可用性、位置独立性、分布式查询处理和分布式事务管理等;而并行数据库的目标是:利用多处理机结点并行的完成数据库任务以提高数据库系统的整体性能。分布式数据库各结点独立,物理上分散,逻辑上集中;并行数据库则经常采用负载平衡方法来提高数据库的业务吞吐率。
17事务T0、T1和T2并发访问数据项A、B和C,下列属于冲突操作的是( )。
A.T0中的read(A)和T0中的write(A)
B.T0中的read(B)和T2中的read(C)
C.T0中的write(A)和T2中的write(C)
D.T1中的read(C)和T2中的write(C)
【答案】D
【解析】事务具有原子性,所以T0操作要么全执行,要么全部不执行,所以A项不属于冲突;B项两个操作分别读取两个不同的数据项,所以不属于冲突;C项两个操作分别写入不同的数据项,所以不属于冲突;D项两个操作对同一个数据项分别进行读取和写入操作,不同的执行顺序会获得不同的操作结果,所以属于冲突。
18关于数据仓库的特性( )。
A.面向主题的特性是指在组织数据仓库数据时,需要将各种分析需求归类并抽象,形成相应的分析应用主题,并根据分析应用主题的数据需求设计和组织数据
B.集成特性是指需要将业务系统中的所有数据抽取出来,载入到数据仓库中
C.集成特性是指需要将企业整个架构中的各种数据和应用集中到数据仓库中
D.随时间变化性是指数据仓库中的每个数据单元一般都有时间标志,且其中各种数据(包括原始数据)会随时间变化被经常修改
【答案】A
【解析】数据仓库是一个面向主题、集成、非易失、随时间变化的数据集合,基于传统数据库技术,主要目标是研究如何更有效的组织大规模复杂的数据。数据仓库是基于数据库技术的,是研究如何将大规模复杂的数据更有效的组织用于方便使用的技术。
19下图是雇员表(雇员ID,姓名,年龄,部门)所对应的数据文件和索引文件示意图,其中雇员ID为主码。该索引属于( )。
A.聚集、稀疏、辅索引
B.非聚集、稠密、主索引
C.聚集、稀疏、主索引
D.非聚集、稠密、辅索引
【答案】B
【解析】聚集索引和非聚集索引:对数据文件和它的一个特定的索引文件,如果数据文件中数据记录的排列顺序与索引文件中索引项的排列顺序相一致,则该索引文件成为聚集索引,否则,成为非聚集索引。
稠密索引和稀疏索引:如果数据文件中的每个查找码值在索引文件中都对应一个索引记录,则该索引称为稠密索引,否则称为稀疏索引。
主索引和辅索引:在数据文件包含主码的属性集上建立的索引称为主索引,在非主属性上建立的索引称为辅索引。
由题意和定义可知,该索引是非聚集、稠密、主索引。
20在为业务繁忙的企业的多个部门服务的数据库系统中,同时开展各部门的OLTP业务和数据分析业务会给数据库系统带来性能冲突,下列方案中无法从根本上解决性能冲突的是( )。
A.抽取出各部门需要的分析数据,建立各部门独立的数据集市,将数据分析业务转移到数据集市中
B.抽取出企业所有分析功能所需的分析数据,建立统一的企业级数据仓库环境,将企业的大部分分析业务转移到数据仓库环境中
C.抽取出企业的近期业务数据,建立操作型数据存储(ODS),将一些快速分析业务转移到操作型数据存储中
D.不建立新的数据存储体系,在基本业务处理时间内开展OLTP业务,在其余时间开展分析业务
【答案】C
【解析】建立操作型数据存储,从联机事务处理环境中抽取数据,建立新的数据分析环境是解决企业联机事务处理业务和数据分析业务所引发的数据库系统性能冲突问题的根本解决方法。
21关于数据库应用系统功能设计,有下列说法:
Ⅰ.软件总体设计的依据包括需求分析阶段得到的数据流图、事务描述和业务规则等需求分析结果
Ⅱ.软件总体设计一般用模块结构图表示,模块结构图主要关心模块的外部特性,即上下级模块、同级模块间的数据传递和调用关系,以及模块内部处理流程
Ⅲ.数据库事务设计的依据是事务自身的事务处理逻辑
Ⅳ.总体设计阶段要对硬件平台、存储设备、操作系统、DBMS等做出合理选择,并进行初步配置设计上述说法错误的是( )。
A.Ⅰ
B.Ⅱ和Ⅲ
C.Ⅳ
D.Ⅰ和Ⅳ
【答案】B
【解析】需求分析阶段得到的数据流图、事务描述和业务规则等需求分析结果是软件总体设计的输入,系统总体结构和分层模块结构是总体设计的输出。模块结构图是用来表示总体设计输出的常见模型,主要用来描述模块的外部特性,即上下级模块以及同级模块间的数据传递和调用关系,但并不关心模块内部的处理流程。
22对SQL Server 2000采用的备份和恢复机制,下列说法正确的是( )。
A.在备份和恢复数据库时用户都不能访问数据库
B.在备份和恢复数据库时用户都可以访问数据库
C.在备份时对数据库访问没有限制,但在恢复时只有系统管理员可以访问数据库
D.在备份时对数据库访问没有限制,但在恢复时任何人都不能访问数据库
【答案】D
【解析】在数据库备份阶段,用户可以进行数据库访问、插入、删除、修改等操作,但在恢复阶段任何人都不能进行数据库访问。
23关于UML的各种视图及其分类,下列说法错误的是( )。
A.用例图、类图、对象图,组件图和部署图都是静态视图
B.顺序图、交互图、状态图和活动图都是动态视图
C.类图和对象图都是结构视图
D.顺序图、状态图和组件图都是行为视图
【答案】D
【解析】UML视图共有9种,主要分为两类:静态图和动态图,其中:
①静态图:用例图、类图、对象图、组件图、部署图。
②动态图:顺序图、交互图、状态图、活动图。
根据它们在不同视图的应用可以分为五类:
①用例视图:用例图。
②结构视图:类图、对象图。
③行为视图:顺序图、活动图、交互图、状态图。
④实现视图:组件图。
⑤环境视图:部署图。
D项错误,组件图属于实现视图而不是行为视图。
24在支撑繁忙业务的并行数据库系统中,有一个数据量很大的表T(a1,a2,…,an),对该表的查询多数为针对主码a1的范围查询和点查询,为了改善查询性能,需要对该表进行划分。关于该表的划分和应用策略,下列说法错误的是( )。
A.采用轮转法对T中的元组进行划分,这样数据分布均匀,适合于点查询和范围查询
B.以a1为划分属性,对T采用散列划分是一种可行的划分方法,有利于对该表的点查询
C.以a1为划分属性,对T采用范围划分并建立主索引,是一种有效的划分方法
D.以a1为划分属性,对T采用散列划分和范围划分都有可能带来T的各个数据分区的数据分布不均匀的问题
【答案】A
【解析】轮转法策略由于不知道所要查找的元组的具体位置,所以需要在整个磁盘上进行查找,查询效率较低,不适合于点查询和范围查询。
25在数据库物理设计阶段,需要考虑为关系表建立合适的索引,关于建立索引的描述,有下列说法:
Ⅰ.对于经常在其上需要执行查询操作并且数据量大的表,可以考虑建立索引
Ⅱ.对于经常在其上需要执行插入、删除和更新操作的表,可以考虑建立索引
Ⅲ.对于经常出现在WHERE子句中的属性,可以考虑建立索引
Ⅳ.对于经常出现在ORDER BY子句,GROUP BY子句中的属性,应尽量避免建立索引上述说法正确的是( )。
A.Ⅰ、Ⅱ和Ⅲ
B.Ⅰ、Ⅱ和Ⅳ
C.Ⅰ和Ⅲ
D.Ⅱ和Ⅳ
【答案】C
【解析】对于频繁执行查询操作并且数据量较大的表或者经常出现在WHERE子句、ORDER BY子句和GROUP BY子句中的属性应当建立索引,索引是一种单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和响应的指向表中物理标识这些值的数据页的逻辑指针清单,索引技术是用来优化查询操作的,与插入、删除和更改操作没有关系。
索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
26关于数据模型和模式结构,有下列说法:
Ⅰ.数据库系统的开发者利用数据模型描述数据库的结构和语义,通过显示世界到信息世界再到机器世界的抽象和转换,构建数据库
Ⅱ.数据结构模型是按用户的观点对数据进行建模,是现实世界到信息世界的第一层抽象,强调语义表达功能,易于用户理解,是用户与数据库设计人员交流的工具
Ⅲ.在数据模型中有“型”和“值”的概念,其中值是对某一类数据的结构和属性的说明
Ⅳ.在三级模式结构中,概念模式是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
上述说法正确的是( )。
A.Ⅰ和Ⅳ
B.Ⅱ、Ⅲ和Ⅳ
C.Ⅰ和Ⅱ
D.Ⅱ和Ⅳ
【答案】A
【解析】数据模型分为概念数据模型、数据结构模型和物理数据模型。概念数据模型是按用户的观点对数据和信息进行建模,是现实世界到信息世界的第一层抽象;数据结构模型是表示型或实现型数据模型,是机器世界中与具体DBMS相关的数据模型;物理数据模型属于底层数据模型,通过记录格式、记录顺序和存取路径等表示信息,描述数据在数据库系统中的实际存储方式。一个数据库只有一个概念模式,是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
27关于数据库应用系统设计,有下列说法:
Ⅰ.数据库应用系统设计需要考虑数据组织与存储、数据访问与处理、应用设计等几个方面
Ⅱ.在数据库概念设计阶段,当采用自上而下的E-R设计时,首先设计局部E-R图,然后合并各局部E-R图,得到全局E-R图
Ⅲ.在数据库逻辑设计阶段,将关系模式转换为具体DBMS平台支持的关系表
Ⅳ.在数据库物理设计阶段,一般需要设计视图和关系模式的完整性约束
上述说法正确的是:( )。
A.Ⅰ、Ⅲ和Ⅳ
B.Ⅰ
C.Ⅱ和Ⅲ
D.Ⅱ和Ⅳ
【答案】B
【解析】数据库应用系统设计的步骤为:概念设计阶段-采用自上而下的E-R设计;逻辑设计阶段——设计视图和关系模式的完整性约束;物理设计阶段-将关系模式转换为具体DBMS平台支持的关系表。每个阶段的设计活动按照数据组织与存储、数据访问与处理、应用设计几个方面进行。
28关于数据库事务设计,有下列说法:
Ⅰ.事务是数据库系统中一组操作的集合,这些操作实现了应用领域中某些特定的业务规则
Ⅱ.事务概要设计可以依据需求分析阶段得到的数据流图和事务说明规范
Ⅲ.事务概要设计中的事务处理逻辑设计一般需要充分考虑具体的DBMS平台的实现方法
Ⅳ.事务详细设计时,利用与具体DBMS平台无关的read和write表示事务对数据库中数据项的读写操作
上述说法正确的是:( )。
A.Ⅰ、Ⅱ和Ⅲ
B.Ⅰ、Ⅱ和Ⅳ
C.Ⅱ和Ⅳ
D.Ⅰ和Ⅱ
【答案】D
【解析】数据库系统中一组操作的集合被称为事务,这些操作实现了应用领域中某些特定的业务规则,Ⅰ正确。需求分析阶段得到的数据流图和事务说明规范是事务概要设计的输入,Ⅱ正确。事务概要设计中的事务处理逻辑设计注重事务本身的处理流程,一般不需要充分考虑具体的DBMS平台的实现方法,Ⅲ不正确。事务详细设计要从概要设计得到的事务流程出发,涉及具体的DBMS平台下的特定事务,Ⅳ不正确。
29某跨国公司的业务系统需要提供全球性服务,该业务系统需要24小时×7天在线服务,系统业务繁忙,为了保证业务系统数据库中数据的安全,需要设计与实施数据转储机制,设完成该数据库每天数据增量的转储需要2小时,在不考虑成本因素的情况下,下列最合理的是( )。
A.配备高性能数据库服务器,通过事务传送机制实时地将数据库中的任何变化反映到备份环境中
B.每天划出长度为2小时的时间窗口tw,在tw内采用静态转储方法实现每天数据增量的转储
C.每天划出长度为2小时的时间窗口tw,在tw内采用动态转储方法实现每天数据增量的转储
D.每周做一次完全转储,每天选择浮动时间段对变化的数据进行转储
【答案】A
【解析】在静态转储过程中系统不能运行其他事务;在动态备份转储过程中,运行转储操作和用户事务并发执行,即允许对数据库进行存取和修改。日志文件用于记录转储期间各事务对数据库的修改活动,保障了数据的有效性。将动态转储的备份副本与日志文件相结合,就可以将数据库恢复到某一时刻的正确状态。
30某个数据仓库中保存有商品销售明细数据表T(商品号,数量,价格,时间),其细节数据保存期为2年,每年销售记录约有5000万条。设前端应用需要针对这些数据进行每月重要商品销售情况与趋势分析,可供用户查询或分析的数据时间跨度最长为5年,为了提高这项分析需求的执行效率,下列方案合理且有效的是( )。
A.按月份为商品明细数据建立分区,并为商品销售明细数据建立索引,每次分析时根据细节数据实时计算生成月粒度级数据,并用于趋势分析
B.按月份为商品明细数据建立分区,并为商品销售明细数据建立索引,建立视图V1(商品号,日销售总数量,日销售总金额,日期),将V1作为数据分析源
C.在商品号属性上为T建立索引,建立物化视图V2(商品号,日销售总数量,日销售总金额,日期),每天根据T中新产生的数据对V2进行增长式更新,并将V2作为分析数据源
D.建立物化视图V3(商品号,月销售总数量,月销售总金额,月份),每天清空V3,并根据表T重新计算V3,并将V3作为分析数据源
【答案】C
【解析】如果每次分析都根据细节数据实时计算,生成月粒度级数据,那么数据量大时效率就会很低。视图是虚表,并不占用存储空间,所以建立视图与提高效率无关。每天清空V3并根据表T重新计算V3,将V3作为分析数据源,并不能提高效率。只有C项方案比较合理有效。
31查询处理器是数据库管理系统的重要组成部分,下列不属于查询处理器功能组成模块的是( )。
A.DML编译器
B.查询执行引擎
C.嵌入式DML的预编译器
D.查询权限管理器
【答案】D
【解析】查询处理器包括嵌入式DML的预编译器、DOL编译器、DML编译器、查询执行引擎,是一种可以完成许多工作的多用途的工具,它是一种可以完成许多工作的多用途的工具。
32关于数据视图与三级模式,下列说法错误的是( )。
A.数据视图是指用户从某个角度看到的客观世界数据对象的特征
B.外模式是数据库用户能使用的局部数据,描述外模式时,通常需要给出其物理结构
C.概念模式以数据模型的形式描述数据
D.三级模式结构实现了数据的独立性
【答案】B
【解析】外模式有时也称为子模式、用户模式或用户视图,是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。
33为了保证数据库应用系统正常运行,数据库管理员在日常工作中需要对数据库进行维护。下列一般不属于数据库管理与日常维护工作的是( )。
A.数据内容一致性维护
B.数据库备份与恢复
C.数据库安全性维护
D.数据库存储空间管理
【答案】A
【解析】数据库管理与日常维护是系统员的重要职责,主要包括:①数据库的备份与恢复;②完整性维护;③安全性维护;④存储空间管理;⑤并发控制及死锁处理,是系统管理员的重要职责。
34事务活锁又称为事务的饥饿,为了避免数据库出现事务活锁,可以采用的措施是( )。
A.使用先来先服务策略处理事务请求
B.使用两阶段锁协议
C.对事务进行并发调度
D.使用小粒度锁
【答案】A
【解析】避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请请求队列中的第一个事务获得锁。
35关于数据库视图,下列说法正确的是( )。
A.视图可以提高数据的操作性能
B.定义视图的语句可以是任何数据操作语句
C.视图可以提供一定程度的数据独立性
D.视图的数据一般是物理存储的
【答案】A
【解析】视图能够①简化数据查询语句;②使用户能从多角度看待同一数据;③提高数据的安全性;④提供了一定程度的逻辑独立性,是原始数据库数据的一种变换形式,是查看表中数据的另外一种方式。
36在需求分析阶段,结构化分析和建模方法是一种较为有效的需求分析方法,下列不属于结构化分析和建模方法优点的是( )。
A.用图形化的模型能直观表示系统功能
B.可避免过早陷入具体细节
C.图形对象不涉及太多技术术语,便于用户理解模型
D.从局部或子系统开始分析问题,便于建模人员了解业务模型
【答案】D
【解析】结构化分析及建模方法的主要优点有:①通过图形化的模型对象直观地表示系统功能;②不过早陷入具体的设计细节;③从整体或宏观入手分析问题④模型对象不涉及太多技术术语;⑤图形化建模方法方便系统分析员理解和描述系统,用户理解模型。
37数据字典是数据库管理系统的重要组成部分,其中存储的各类信息通常由( )。
A.数据库管理员维护
B.程序员维护
C.数据库管理系统维护
D.一般用户维护
【答案】A
【解析】数据字典通常由数据库管理员维护,是一种用户可以访问的记录数据库和应用程序源数据的目录。
38下列约束中能确保一个函数依赖是完全非平凡函数依赖的是( )。
A.仅当其右边的属性集是左边属性集的子集
B.仅当其右边属性集中的属性都不属于左边的属性集
C.仅当其右边属性集中至少有一个属性不属于左边的属性集
D.仅当其右边属性集中的属性都属于左边的属性集
【答案】B
【解析】函数依赖是指关系中一个或一组属性的值可以决定其它属性的值。仅当其右边属性集中的属性都不属于左边的属性集时可以确保一个函数依赖是完全非平凡函数依赖。
39在数据库中可用多种结构组织数据,散列文件是其中一种。关于散列文件,下列说法错误的是( )。
A.为了防止桶溢出,在散列文件设计时,需要预留一些空间大小不固定的桶
B.用散列文件组织数据时,需要使用文件记录中的一个或多个域作为查找码
C.如果散列文件中散列函数的“均匀分布性”不好,可能会造成桶溢出
D.好的散列函数产生的存储地址分布应尽可能是随机的
【答案】D
【解析】散列文件利用散列函数(Hash函数),支持快速文件访问。利用散列方法组织存储一个文件时,应先指定文件记录中的一个(或一组)域作为查找码(散列域)。好的散列函数应满足地址分布均匀、地址分布随机两个条件。产生桶溢出的两个主要原因是:文件初始设计时,为文件记录预留的桶数偏少;散列函数的“均匀分布性”不好,造成某些桶存满了记录而其他桶内却有较多空闲空间。
40虽然数据库应用系统对用户界面的要求与具体应用领域密切相关,但都应遵守一定的原则。下列描述的用户界面设计原则,错误的是( )。
A.当系统出现错误或程序运行时间较长时,用户界面应为用户提供有意义的反馈信息
B.友好的用户界面应能容忍用户在使用中的一些操作错误
C.Web界面应多采用动画和图形效果,以吸引用户使用
D.用户界面应采取灵活多样的数据输入方式,以降低用户输入负担
【答案】C
【解析】人机界面设计的目的是置界面于用户的控制之下、减少用户的记忆负担、保持界面的一致性。设计原则如下:①当系统发生错误或程序运行时间较长时,用户界面应该为用户提供有意义的反馈信息,并有上下文感知的帮助功能。②保持用户与人机界面间的双向交流。③一个好的用户界面应该容忍用户在使用过程中发生的各种操作错误,并能够从错误中恢复过来,保证系统运行不受、或尽可能小的受到用户错误操作的影响。④用户界面应采取灵活多样的数据输入方式,减少用户的输入负担。⑤用户界面应该遵循一定标准和常规。
41在SQL Server 2000中,若希望数据库用户ACCT具有创建数据库对象的权限,较为合适的实现方法是( )。
A.使ACCT只在db_creator角色中
B.使ACCT只在public角色中
C.使ACCT只在db_owner角色中
D.使ACCT只在db_ddladmin角色中
【答案】A
【解析】只有db_creator角色才具有创建数据库对象的权限。
42设系、学生、教师三个实体之间存在约束:一个系可以招聘多个教师,一名教师只受聘于一个系;一个系可以招收多名学生,一个学生只属于一个系。下列E-R图中能准确表达以上约束的是( )。
A.
B.
C.
D.
【答案】B
【解析】由题中E-R图可知,系和教师两者之间是一对多的关系,系和学生之间也是一对多的关系,但教师和学生之间的关系题中并没有明确给出。
43在SQL Server 2000中,为确保数据库系统能可靠地运行,不仅要考虑用户数据库的备份,也需要考虑系统数据库(不考虑tempdb)的备份。关于系统数据库的备份策略,下列做法中最合理的是( )。
A.每天备份一次系统数据库
B.每当用户进行数据更改操作时,备份系统数据库
C.每当用户操作影响了系统数据库内容时,备份系统数据库
D.备份用户数据库的同时备份系统数据库
【答案】C
【解析】备份数据库的主要目的是防止数据丢失。对于用户数据库,一般采用定期备份,但是系统级的数据对于服务器的实例运行至关重要,所以对于系统数据库应在修改之后立即备份。
44在数据库应用系统的需求分析阶段,需要进行性能分析。下列关于数据库应用系统性能指标的说法错误的是( )。
A.数据访问响应时间是指用户向数据库提交数据操作请求到操作结果返回给用户的时间
B.系统吞吐量是指在单位时间内系统能存储的数据量
C.并发用户数是指在保证单个用户查询响应时间的前提下,系统最多允许同时访问数据库的用户数量
D.系统性能指标是系统软硬件设计和选型的重要依据
【答案】B
【解析】性能需求分析主要包含:①数据操作响应时间,指用户向数据库系统提交数据操作请求到返回用户操作结果的时间;②系统吞吐量,指系统在单位时间内可以完成的数据库事务或数据查询的数量。系统吞吐量可表示为每秒事务数TPS;③允许并发访问的最大用户数,指在保证单个用户查询响应时间的前提下,系统最多允许多少用户同时访问数据库;④每TPS代价值(Price per TPS),用于衡量系统性价比的指标。
45下列属于数据库应用系统需求分析阶段工作的是( )。
Ⅰ.标识和理解问题
Ⅱ.构建关系模式
Ⅲ.实现应用系统
Ⅳ.建立功能模型
A.Ⅰ和Ⅳ
B.Ⅱ和Ⅲ
C.Ⅰ和Ⅱ
D.Ⅱ和Ⅳ
【答案】A
【解析】需求分析包括标识问题、建立需求模型、描述需求和确认需求等过程。其中,建立需求模型包括需求概述、功能需求、信息需求、性能需求、环境需求和其他需求等。
46在SQL Server 2000中,常用的数据库备份方法有完全备份、差异备份和日志备份。为保证某数据库的可靠性,需要综合采用这三种方法对该数据库进行备份。下列说法正确的是( )。
A.这三种备份操作的周期都必须一样,并且都必须备份在同一个备份设备上
B.这三种备份操作的周期都必须一样,但可以备份在不同的备份设备上
C.这三种备份操作的周期可以不一样,但必须备份在同一个备份设备上
D.这三种备份操作的周期可以不一样,并且可以备份在不同的备份设备上
【答案】D
【解析】为同时兼顾数据库的可靠性和成本,应综合采用完全备份、差异备份和日志备份三种方法对该数据库进行备份,这三种备份操作的周期可以不一样,并且可以备份在不同的备份设备上。
47对于联机事务处理系统和数据仓库系统中的数据,下列说法正确的是( )。
A.一般情况下,联机事务处理系统中的数据不能被修改,数据仓库系统中的数据可被修改
B.联机事务处理系统中的数据库规模一般大于数据仓库系统中的数据规模
C.联机事务处理系统中的数据一般按面向业务应用的方式组织,数据仓库系统中的数据一般按面向分析主题的方式组织
D.一般情况下,在安全性和一致性要求上,对数据仓库系统中数据的要求要高于对联机事务处理系统中数据的要求
【答案】C
【解析】联机事务处理系统一般没有复杂的查询和分析处理,按面向业务应用的方式组织数据,数据仓库系统的特征在于面向主题、集成性、稳定性和时变性,一般按面向分析主题的方式组织数据。
48关于分布式数据库,下列说法错误的是( )。
A.在分布式数据库系统中,分片透明性主要是指数据分片的分配位置对用户是透明的,用户无需关注每个分片被分配的场地
B.对于用户而言,一个分布式数据库系统从逻辑上看如同一个集中式数据库,用户可在任何一个场地执行全局应用和局部应用
C.分布式数据库的查询处理代价既包括CPU和I/O代价,也需要考虑场地间传输数据所需的通信代价
D.在分布式数据库查询中,导致场地间数据传输量大的主要原因是数据间的连接操作和并操作
【答案】A
【解析】分布式数据库中,每台计算机都有DBMS的一份完整拷贝,具有自己的局部数据库,放在单独的地方,通过网络相互连接,形成大型的全局数据库。A项,分片透明性层次最高,即用户或应用程序只对全局关系进行操作而不考虑数据的分片。位置透明性是指用户或应用程序应当了解分片情况,但不必了解片段的存储结构,位置透明性位于分片视图与分配视图之间。
49查询优化是提高数据库应用系统性能的重要手段,下列给出的查询优化方法,一般情况下无效的是( )。
A.对经常需要进行排序或分组的列建立索引
B.对经常出现在查询条件中的列建立索引
C.对涉及连接的查询,尽量用左外连接或右外连接代替内连接
D.采用提前计算方法,将频繁访问的视图转为物化视图
【答案】C
【解析】左连接或右连接包含与NULL数据匹配的数据,非常消耗资源。多使用内连接可以减少资源消耗有助于优化查询。
50关于UML建模机制,下列说法错误的是( )。
A.用例模型可以把满足用户需求的功能表示出来
B.包图是表明包与包之间关系的类图
C.协作图包含一组对象,并在图中展示这些对象之间的联系以及对象间发送和接收的消息
D.顺序图主要用于描述系统、用例和程序模块中逻辑流程的先后执行次序或并行次序
【答案】D
【解析】UML是面向对象开发中一种通用的图形化建模语言。其中活动图主要用于描述系统、用例和程序模块中逻辑流程的先后执行、并行次序。顺序图主要用于描述系统内对象之间的消息发送和接收序列。D项混淆了两种图。
51在明确了数据库应用系统的任务目标和系统范围之后,需要进行项目的可行性分析,关于可行性分析,下列说法错误的是( )。
A.经济可行性分析是指对项目进行成本效益分析,其中项目成本一般包括开发费用、软硬件购置费用、安装调试及维护费用
B.技术可行性分析一般以系统的性能要求为主要依据,对系统的软件、硬件和技术方案作出评估和选择建议
C.操作可行性分析的主要目的在于论证系统开发是否具备所需要的人员、软件、硬件和工作环境等条件
D.开发方案选择的目的在于提出并评价实现系统的各种开发方案,并从中选择出合理的方案
【答案】A
【解析】经济可行性:它研究的是对项目进行成本效益分析,估算项目开发成本,评估项目经济效益、社会效益和利润,在项目成本和收益间进行合理权衡,并分析项目对其产品或利润的影响,项目成本一般包括开发费用、软硬件购置费用、安装调试、维护费用以及人员培训费用。
52在SQL Server 2000中,某数据库中有角色R1和用户U1,U1是R1角色的成员,且只属于该角色。先对T表给R1仅授予SELECT和DELETE权限,并授予U1对T表具有SELECT、UPDATE和DENY DELETE权限,则用户U1对T表可以执行的操作是( )。
A.查询、删除和更改数据
B.查询和更改数据
C.查询和删除数据
D.查询和更改表结构
【答案】B
【解析】用户U1是R1角色的成员,所以U1具有R1角色的所有权限:查询和删除数据。对于T表,用户U1具有SELECT、UPDATE和DENY DELETE权限,所以U1对T表可以执行的操作是查询、更改以及撤销删除。
53对于关系的主码必须满足的条件,有下列说法:
Ⅰ.一个关系中的主码属性或属性组能函数决定该关系中的所有其他属性
Ⅱ.一个关系中的主码属性不能与其他关系中的主码属性重名
Ⅲ.在一个关系中,一个主码属性的任一真子集都不能函数决定其他属性
Ⅳ.在一个关系中,从主码属性集中去掉某个属性仍能唯一标识一个元组
以上说法正确的是( )。
A.Ⅰ和Ⅱ
B.Ⅰ和Ⅲ
C.Ⅱ和Ⅱ
D.Ⅱ和Ⅳ
【答案】B
【解析】在一个关系中,主码是指用户选作元组标识的一个候选码,从主码属性集中去掉某个属性后就不能唯一标识一个元组,主码是指用户选作元组标识的一个候选码。两个关系中的主码属性是可以重名的。
54在SQL Server 2000中,有教师表(教师号,姓名,职称,工资)。现要根据教师的职称来添加教师的工资,增加规则为:“教授”增加400,“副教授”增加300,“讲师”增加200。下列语句中正确的是( )。
A.
B.
C.
D.
【答案】A
【解析】“UPDATE表名SET”可以用来更改表中某个字段的值,如果出现分支选择情况,可以使用“CASE…WHEN…THEN”语句。
55在SQL Server 2000中,有商品表(商品号,商品名,单价)和销售表(商品号,销售时间,销售价格)。现要限制“销售价格”的取值必须在此商品“单价”的0.6到1.5倍范围之内,实现这个约束的正确代码是( )。
A.CHECK(销售价格BETWEEN单价*0.6 AND单价*1.5)
B.CHECK(销售价格BETWEEN商品表.单价*0.6 AND商品表.单价*1.5)
C.
D.
【答案】D
【解析】FOR是后触发型触发器,在成功执行引发的SQL语句中指定的操作,并且成功完成所有的约束检查后,才执行此触发器。INSTEAD OF是前触发型触发器,指定执行触发器而不执行引发触发器执行的SQL语句,从而完成替代触发语句的操作。
56关于数据库系统中的日志文件,有下列说法:
Ⅰ.事务故障恢复和系统故障恢复时都必须使用日志文件
Ⅱ.在动态转储过程中,对数据库所做的修改都被记录在日志文件中
Ⅲ.数据库管理系统进行数据修改操作时,一般是先写数据库,然后再写日志文件
Ⅳ.建立检查点的主要目的是通过减小日志文件的总体数据规模,从而提高数据恢复效率
Ⅴ.日志文件有利于对用户使用数据库系统的违规操作开展核查审计工作
以上说法正确的是( )。
A.仅Ⅰ、Ⅱ和Ⅴ
B.仅Ⅰ和Ⅱ
C.仅Ⅰ、Ⅲ和Ⅴ
D.仅Ⅱ、Ⅲ、Ⅳ和Ⅴ
【答案】A
【解析】日志文件是用来记录对数据库的操作信息,数据库有问题的时候可以通过日志文件进行分析。日志文件的具体作用为:①事务故障恢复和系统故障恢复必须使用日志文件;②在动态转储方式中必须建立日志文件;③在静态转储方式中,也可以建立日志文件。为保证数据库是可恢复的,登记日志文件必须遵循两条原则:①登记的次序严格按并行事务执行的时间次序;②必须先写日志文件,后写数据库。
57数据库系统可能出现下列故障:
Ⅰ.事务执行过程中发生运算溢出
Ⅱ.某并发事务因发生死锁而被撤销
Ⅲ.磁盘物理损坏
Ⅳ.系统突然发生停电事务
Ⅴ.操作系统因被病毒攻击而突然重启
以上故障属于系统故障(软故障)的是( )。
A.Ⅰ、Ⅱ、Ⅳ和Ⅴ
B.Ⅳ和Ⅴ
C.Ⅰ、Ⅲ、Ⅳ和Ⅴ
D.Ⅲ和Ⅳ
【答案】B
【解析】系统故障又称软故障,是操作故障,对机器或系统无损害,指数据库在运行过程中,由于硬件故障、数据库软件及操作系统的漏洞、突然停电等情况,导致系统停止运转,所有正在运行的事务以非正常方式终止,需要重新启动系统的一类故障。这类故障不破坏数据库,但影响正在运行的所有事务;事务执行过程中发生运算溢出和某并发事务因发生死锁而被撤销属于事务内部故障;磁盘物理损坏造成的数据库信息丢失不是软故障。
58设用户对某商场数据库应用系统有下列活动
Ⅰ.在该数据库应用系统运行前建立数据库,并建立初始的商品清单和销售人员数据等基础数据
Ⅱ.根据商场销售业务开展情况,调整数据库中的商品清单和价格
Ⅲ.为了应对商场业务增长过快带来的数据库数据增长迅速而扩展硬盘空间
Ⅳ.为了安全考虑,定期对数据库系统中的数据进行转储
Ⅴ.国庆期间,在应用系统中增加一条规则“节日期间所有商品打八折”
Ⅵ.在系统中模拟生成大规模销售数据,并开启所有收银台终端,在所有终端启动自动批量收银程序,测试系统的性能
以上活动属于商场数据库应用系统实施活动的是( )。
A.Ⅰ、Ⅱ和Ⅲ
B.Ⅱ和Ⅴ
C.Ⅲ、Ⅳ和Ⅵ
D.Ⅰ和Ⅵ
【答案】D
【解析】数据库的实施指根据数据库的逻辑结构设计Ⅰ和物理结构设计Ⅵ结果,在计算机系统上建立实际的数据库结构,导入数据并进行程序调试。
59对于大型企业业务支持数据库应用系统的存储空间规划问题,在进行存储空间规划时,下列说法一般情况下错误的是( )。
A.数据库应用系统需要支撑的企业核心业务的发生频率是重要的输入参数
B.粗粒度级统计分析数据所需占用的存储空间是需要考虑的主要因素
C.企业核心业务数据的保存期要求是需要考虑的主要因素
D.数据安全性、业务稳定性和容灾能力要求是重要的考虑因素
【答案】B
【解析】在面对大型企业业务支持数据库应用系统的存储空间规划问题时,要考虑数据安全性、业务稳定性及容灾能力要求,主要因素是企业核心业务数据的保存期。
60RAID是指廉价冗余磁盘阵列,它是由多块磁盘构成的一个整体。关于RAID机制和技术,下列说法错误的是( )。
A.RAID系统内部可以包含多个磁盘驱动器
B.RAID 5盘阵列中的一块磁盘损坏时,利用其他磁盘上的信息,可以恢复出这块磁盘上的信息
C.RAID采用校验冗余技术所需用的磁盘空间要比采用镜像冗余技术所需用的磁盘空间多
D.RAID系统一般都具有设备虚拟化技术
【答案】C
【解析】校验冗余技术比镜像冗余技术实现稍显复杂,但它所需用的磁盘空间比镜像冗余技术少很多。
二、填空题
1设某数据库中有作者表(作者号,城市)和出版商表(出版商号,城市),请补全如下查询语句,使该查询语句能查询作者和出版商所在的全部不重复的城市。
SELECT城市FROM作者表_____
SELECT城市FROM出版商表;
【答案】EXCEPT
【解析】EXCEPT语句的作用是查询两个数据表中除“公共”数据以外的数据信息,即查询两个数据表中的“除外”数据信息。使用EXCEPT运算符可以实现集合差操作,从左查询中返回右查询没有找到的所有非重复值。
2设某数据库中有商品表(商品号,商品名,商品类别,价格)。现要创建一个视图,该视图包含全部商品类别及每类商品的平均价格。请补全如下语句:
CREATE VIEW V1(商品类别,平均价格)
AS
SELECT商品类别,_____FROM商品表GROUP BY商品类别;
【答案】AVG(价格)
【解析】SQL中,AVG(字段名)函数用来计算一组记录中某个字段值的平均值。
3在VB 6.0中,已经用Adobel连接到数据库,并已绑定到数据库中的某个关系表,现要通过此控件向表中插入数据,需要用到Adobel.Recordset的_____方法和Update方法,使用Adobel.Recordset的_____方法可以使当前行指针在结果集中向前移动一行。
【答案】AddNew;MovePrevious
【解析】Recordset对象中的AddNew方法可以用来在结果集里添加一个新记录。MovePrevious方法用来将当前行记录指针向前移动一行。
4设在SQL Server 2000环境下,对“销售数据库”进行的备份操作序列如下图所示。
①出现故障后,为尽可能减少数据丢失,需要利用备份数据进行恢复。首先应该进行的恢复操作是恢复_____,第二个应该进行的恢复操作是恢复_____。
②假设这些备份操作均是在BK设备上完成的,并且该备份设备只用于这些备份操作,请补全下述恢复数据库完全备份的语句
RESTORE_____FROM BK
WITH FILE=1,_____;
【答案】完全备份1;差异备份2;DATABASE销售数据库;RECOVERY
【解析】数据库恢复的顺序为:①恢复最近的完全数据库备份。②恢复完全备份之后的最近的差异数据库备份(如果有的话)。③按日志备份的先后顺序恢复自最近的完全或差异数据库备份之后的所有日志备份。
用来实现恢复数据库的RESTORE语句其基本语法格式为:
RESTORE DATABASE数据库名FROM备份设备名
[WITH FILE=文件号[,]NORECOVERY[,]RECOVERY];
5在SQL Server 2000中,数据页的大小是8KB。某数据库表有1000行数据,每行需要5000字节空间,则此数据库表需要占用的数据页数为_____页。
【答案】1000
【解析】一个数据页的存储空间是8×1024字节,最多能存放8000多个字节,而SQL Server 2000中不允许跨页存储一行数据,每行需要5000字节的空间,于是每个数据页最多只能存放一行数据,所以1000行数据需要的数据页数是1000页。
6在SQL Server 2000中,新建了一个SQL Server身份验证模式的登录账户LOG,现希望LOG在数据库服务器上具有全部的操作权限,下述语句是为LOG授权的语句,请补全该语句。
EXEC sp_addsrvrolemember‘LOG’,_____;
【答案】dbowner
【解析】在SQL Server中,dbonwer具有数据库服务器上的全部权限。
7在SQL Server 2000中,某数据库用户User在此数据库中具有对T表数据的查询和更改权限。现要收回User对T表的数据更改权,下述是实现该功能的语句,请补全语句。
_____UPDATE ON T FROM User;
【答案】REVOKE
【解析】在SQL Server中,收回权限用REVOKE来实现。
8某事务从账户A转出资金并向账户B转入资金,此操作要么全做,要么全不做,为了保证该操作的完整,需要利用到事务性质中的_____性。
【答案】原子
【解析】由事务的原子性可知,它对数据所做的修改操作要么全部执行,要么全部不执行。
9某在SQL Server 2000数据库中有两张表:商品表(商品号,商品名,商品类别,成本价)和销售表(商品号,销售时间,销售数量,销售单价)。用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。为了完成该统计操作,请按要求将下面的存储过程补充完整。
【答案】TOP3;SUM((销售单价-成本价)*销售数量);DESC
【解析】用TOPn来查询前n条记录,用SUM函数来计算销售总利润等于每类商品销售单价与成本价的差额与销售数量的乘积的累加和。用DESC按销售总利润降序排列查询最多的前几条记录。
三、简答题
1有如下2个关系表:
Emp(eid,ename,age,did,salary),其各列含义为:职工号,姓名,年龄,部门号,工资
Dept(did,dname,mgr_id),其各列含义为:部门号,部门名称,部门经理职工号
写出一条SQL语句,查询工资高于10000,且与他所在部门的经理年龄相同的职工姓名。
答:select a.*from Emp a,Dept b,Emp c where a.did=b.did and b.mgr_id=c.eid and a.salary>10000 and a.age=c.age;
【解析】select和where的语法为:SELECT 列名称 FROM 表名称 WHERE 列运算符值;
2有学生表(学号,姓名,年龄,性别,系名,专业名,班号),设一个系可有多个专业,每个专业可有多个班,各班班号不重复,一个学生只在一个班学习。现经常需要按“系名”和“班号”进行查询,为提高查询效率,需要为“系名”和“班号”两个列建立一个非聚集索引,建立此索引有下列两种方法:
方法1:索引列顺序为(系名,班号)。
方法2:索引列顺序为(班号,系名)。
①这两种方法哪个更合理?请简要说明原因。
②针对你认为合理的方法,写出创建该索引的SQL语句。
答:①方法1更加合理,理由如下:更加有利于减少索引层次,提高查询效率;更加符合使用习惯;更加便于(系、班)进行统计。
②create index index_1 on学生表(系名,班号);
【解析】SQL Server在创建主键或其它索引时自动将字段的顺序设置为升序排列,这样做的目的是为了保持与 SQL Server早期版本的兼容性。创建索引时索引列的顺序应该按照常用查询中的排序方式排序。
3考虑定义在事务集(T1,T2,T3)上的调度S1和S2,S1与S2是否是冲突等价的?为什么?
答:不是等价冲突,因为T1的write(Q)和T2的 write(Q)是冲突的,不可交换。
【解析】不同事务的一对中的一组操作,有些是冲突的,有些是不冲突的。不冲突操作的次序可以互相调换,不致不会影响执行的结果。冲突等价调度是指一个调度S,通过调换S中的不冲突操作次序所得到的新调度称为S的冲突等价调度。不冲突操作有两类:一是对同一数据均为读操作,即Ri(x),Rj(x);二是对不同数据对象的一组操作中可以有写的操作,即Ri(x),Wj(y)或Wi(x)Wj(y)。因为T1和T2对数据对象Q进行了相同的写操作,所以是冲突的,所以S1和S2不是冲突等价的。
四、设计与应用题
1某汽车维修公司需建立一个汽车维修数据库,该数据库中需要存储和管理下列信息:
车辆信息:车牌号,车型,发动机号,行驶里程,车辆所有人,联系电话
维修项目:项目号,项目名称,维修费
汽车备件:备件号,备件名称,备件单价,库存数量
以上数据之间存在下列约束:
可以对一个车辆进行多个维修项目,每个维修项目可用于多个车辆,维修项目完成后要在数据库中记录维修时间;
一种备件可用于多个维修项目,每个维修项目最多只使用一种备件,但每种备件的数量可以是多个。
①根据以上需求构建该数据库的概念模型(画E-R图)。
②假设车辆信息有如下约束:
车牌号:标识属性,取值形式为:第1个字符是“京”,第2个字符为“A”到“Z”的字母,第3到第7个字符均是“0”到“9”的数字。此列采用普通编码定长字符型,非空;
车型:普通编码定长字符型,长度为6,默认值为“轿车”;
发动机号:普遍编码定长字符型:长度为6,非空;
行驶里程:整型,取值大于或等于0;
车辆所有人:普通编码定长字符型,长度为8,非空;
联系电话:普通编码定长字符型,长度为13,取值唯一。
写出创建满足上述要求的车辆信息表的SQL语句。
(注:表名和列名均用题中给出的中文名,SQL语句中大、小写字母均可。)
答:概念模型如下:
②
【解析】①根据题意可知,一个车辆可以进行多个项目的维修,一个维修可以用于多个车辆,所以实体车辆信息与维修项目之间是多对多的关系;一种配件可用于多个维修项目,但一个维修项目最多只能用一种配件,所以配件与维修项目是一对多的关系。
②SQL语句中车牌号的取值形式限定可用CHECK约束来表示。
2现有关系模式:
教师授课(教师号,姓名,职称,课程号,课程名,学分,教科书名)其函数依赖集为:
{教师号→姓名,教师号→职称,课程号→课程名,课程号→学分,课程号→教科书名}
①指出这个关系模式的主码。
②这个关系模式是第几范式,为什么?
③将其分解为满足3NF要求的关系模式(分解后的关系模式名自定)
答:①主码为:(教师号、课程号)
②第1范式,因为存在部分依赖。
③分解方法为:
教师表(教师号,姓名,职称)
课程表(课程号,课程名,学分,教科书名)
教师授课表(教师号,课程号)
【解析】①外码的数据项需参照主码的数据项来操作,主码和外码是用来实现参照完整性的。
②第一范式:(1NF)无重复的列;第二范式:(2NF)属性完全依赖于主键;第三范式:(3NF)属性不依赖于其它非主属性。
3为在某种程度上保证某数据库系统可靠地运行,在SQL Server 2000环境中,对其制定有下列三种备份策略。假设对此数据库进行一次完全备份需要4小时,差异备份需要2小时,日志备份需要1小时。设所有备份都是从凌晨1:00开始。
策略1:每周周日进行一次完全备份,每周周一至周六每天进行一次日志备份;
策略2:每周周日进行一次完全备份,每周周一至周六每天进行一次差异备份;
策略3:每天进行一次完全备份。
①假设需要保留一年的备份数据,比较三种备份策略所占用的空间。
②比较每种备份策略的备份和恢复速度。
答:①占用空间量从大到小排序为:策略3,策略2,策略1;②备份速度从快到慢排序为:策略1,策略2,策略3;恢复速度从快到慢排序为:策略3,策略2,策略1。
【解析】完全备份不考虑文件的存档属性,备份全部选中的文件夹,所以占用空间最大,但是速度最快;
差异备份备份上一次完全备份后发生变化的所有文件,是针对于完全备份的,恢复时需要完全数据备份和最近的差异备份;
日志备份需要有完全数据备份,备份自上次backup log语句到当前日志尾之间的所有数据库修改;日志备份的数据量少,只备份上次备份到现在的修改,恢复时需要完全数据库备份和所有的日志备份,占用空间最小,但恢复时间最慢。
4有两张关系表:
Students(SID,SName,Sex,Dept)
Prizing(SID,PName,Type,PDate)
Students表描述的是学生基本信息,Prizing表描述的是学生获奖信息。
①若在应用程序中经常使用如下查询语句:
SELECT S.SID,SName,PName,Type FROM Students AS S JOIN Prizing AS P ON S.SID=P.SID;
请问能否使用聚集文件提高此查询的性能?并给出原因。
②为了提高查询性能,数据库管理员在Students表的SName列上建立了一个非聚集索引SName_ind。如果应用程序使用如下语句查询数据:
SELECT*FROM Students WHERE SName like‘%华’;
请问SName_ind索引是否能够提高语句的查询速度,并给出原因。
答:①可以用聚集文件提高查询性能。因为聚集文件将不同关系表中有关联关系的记录存储在一起,减少了系统的物理I/O操作次数,提高了查询性能。
②此索引不能提高该语句的查询速度。因为该索引是建立在SNAME上的非聚集索引,以SNAME首字母排序,而查询语句查询的名字是最后一个“华”的SNAME,所以仍然需要全部扫描students表,因此不能提高该语句的查询速度。
【解析】聚集文件本身存储不同类型表的联系,能够减少表间的连接操作,提高查询性能。而非聚集索引对于以SNAME首字母排序时有效。
5某公司需建立产品信息数据库,经调查其业务要求如下:
Ⅰ.一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件;一种部件至少被用在一种产品中;一种部件可以由多个不同种类的零件组成;一种零件至少被用在一种产品或一种部件中;
Ⅱ.对于一种具体的部件,要记录这种部件使用的各种零件的数量;
Ⅲ.对于一种具体的产品,要记录这种产品使用的各种部件数量和各种零件数量,但部件所使用的零件数量不计入该种产品的零件数量;
Ⅳ.一个供应商可供应多种零件,但一种零件只能由一个供应商供应。根据以上业务要求,某建模人员构建了如下E-R图:
此E-R图中的实体的属性完整,但实体、联系的设计存在不合理之处。
①请重新构建合理的E-R图,使之符合业务要求,且信息完整。
②根据重构的E-R图给出符合3NF的关系模式,并标出每个关系模式的主码和外码。
答:①重新构建后的E-R图如下:
②符合3NF的关系模式:(带下划线的为主码属性)产品(产品号(PK),产品名称,型号,装配图号)部件(部件号(PK),部件名称)
零件(零件号(PK),零件名称,供应商号(FK)
产品_部件(产品号(FK),部件号(FK),部件数量)
产品_零件(产品号(FK),零件号(FK),零件数量)
部件_零件(部件号(FK),零件号(FK),零件数量)
供应商(供应商号(PK),供应商名称,联系电话)
【解析】题中实体设计中存在明显的不合理之处,比如供应商应该是一个独立的实体。此外,没有准确的表现产品和零件之间直接的联系。一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件,说明产品与零件是有直接关系的,所以需要一个能表示它们之间的关系的实体,否则,设计出来的关系模式就会存在大量的数据冗余。
6在SQL Server 2000中,有教师表Teachers(TeaeherID,Name,LeaderID,其中TeacherID是主码,类型是长度为4的普通编码定长字符串,且每位是0~9的数字字符;Name的类型是长度为10的普通编码可变长字符串;LeaderID是每个教师的领导的TeacherID。
①写出创建Teachers表的SQL语句,要求语句中包含所有的约束。
②现要查询TeaeherID为“1234”的教师的领导的上级领导的TeacherID,请给出相应的SQL语句,要求只使用一条SQL语句实现,且此语句中不允许包含子查询。
答:①
②
【解析】应使用CREATE语句创建表格;可以通过对该表进行自我连接查询领导的信息,“1234”的条件约束可以通过WHERE子句来实现。