1、国家四级数据库工程师-试卷 16 及答案解析(总分:76.00,做题时间:90 分钟)一、选择题(总题数:31,分数:62.00)1.选择题(1-20 每题,21-30 每题)下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。(分数:2.00)_2.在关系中,数据分片的依据不是本关系属性的条件,而是其他关系属性的条件,这种方法属于。(分数:2.00)A.水平分片B.垂直分片C.导出分片D.混合分片3.在分布式数据库系统中,数据分配的策略有多种,如集中式、分割式以及。(分数:2.00)A.分布式和关联式B.分布式和混合式C.全复制式和
2、混合式D.全复制式和关联式4.当多个事务并发执行时,数据库管理系统应保证一个事务的执行不被其他事务干扰,这指的是事务的什么特性?(分数:2.00)A.原子性B.一致性C.隔离性D.持久性5.在分布式数据库的数据分配巾,全局数据有多个副本在每个物理场地的数据副本,这种数据分配的方法属于-。(分数:2.00)A.集中式B.分害 0 式C.全复制式D.混合式6.有某数据库系统在运行过程中发生了系统故障,发生故障时正在运行事务 t1 和 t2。进行故障恢复时,在日志文件中发现有 t1 的事务开始记录而没有结束记录,有 t2 的开始记录和结束记录,但 t2 对数据库的修改还没有写到数据库中,从检查点开始
3、正向扫描日志文件_。A)扫描到 t1 时,直接重做 t1,扫描到 t2 时,将 t2 直接撤销 B)扫描到 t1 时,将 t1 加入重做队列,扫描到 t2 时,将 t2 加入撤销队列 C)扫描到 t1 时,直接撤销 t1,扫描到 t2 时,将 t2 直接重做 D)扫描到 t1 时,将 t1 加入撤销队列,扫描到t2 时,将 t2 加入重做队列(分数:2.00)A.B.C.D.7.VB 6.0 中的数据绑定控件必须_。A)同时具有 DataSource 属性和 DataField 属性 B)同时具有ConnectionString 属性和 RecordSource 属性 C)具有 DataSou
4、rce 属性 D)具有 ConnectionString 属性(分数:2.00)A.B.C.D.8.VB 6.0 中,ADO 数据控件用于连接数据源的属性是_。A)RefreshB)RecordSourceC)CommandTypeD)ConnectionString(分数:2.00)A.B.C.D.9.在分布式数据库系统中,一般不适合作为衡量查询代价依据的是_。A)CPU 代价 B)I/O 代价 C)通信代价 D)存储代价(分数:2.00)A.B.C.D.10.DBMS 通过加锁机制允许用户并发访问数据库,这属于 DBMS 提供的_。(分数:2.00)A.数据定义功能B.数据操纵功能C.数据
5、库运行管理与控制功能D.数据库建立与维护功能11.以下哪种类型的数据库使用树形数据结构组织和存储数据_。A) 层次数据库 B) 网状数据库 C) 关系数据库 D) 面向对象数据库(分数:2.00)A.B.C.D.12.在数据库应用系统设计过程中,不属于概念设计范畴的是_。A) 应用软件结构设计 B) 关键技术方案初步没计 C) 模块使用的数据结构设计 D) 确定 DBAS 体系结构(分数:2.00)A.B.C.D.13._是数据库技术与互联网技术结合的产物,也称为网络数据库。A) 集中式数据库系统 B) 并行数据库系统 C) 分布式数据库系统 D) Web 数据库系统(分数:2.00)A.B.
6、C.D.14.有如下的索引文件: 指针号 (分数:2.00)A.稀疏索引B.聚集索引C.稠密索引D.非聚集索引15.下列哪项不是构成 E-R 图的基本要素?_(分数:2.00)A.关系B.属性C.联系D.实体集16.下列关于数据库重构的描述中,不正确的是_。(分数:2.00)A.数据库的重构就是对数据库的逻辑结构作必要的小范围改变B.数据库重构包括重新设计数据库及其应用程序C.当存储空间的分配过于零散,导致存取效率下降,所以必须重构数据库D.如果能够重构数据库,尽量不要重新设计数据库及相应的应用程序17.允许在转储过程中对数据库进行存取和修改,但不能保证备份数据有效性的数据转储类型是_。(分数
7、:2.00)A.增量转储B.差量转储C.静态转储D.动态转储18. (分数:2.00)A.B.C.D.19. (分数:2.00)A.B.C.D.20.在 SQL Server 2000 中,public 角色是系统提供的一个数据库角色。下列关于 public 角色的说法,错误的是(分数:2.00)A.每个数据库用户都自动是该角色中的成员B.在不删除数据库用户的前提下,不能手工从该角色中删除成员C.该角色中的成员自动具有查询数据库中用户表数据的权限D.可以为该角色授予用户表的数据操作权21.关于数据仓库设计,下述说法正确的是_。(分数:2.00)A.数据仓库项目的需求很难把握,所以不可能从用户的
8、需求出发来进行数据仓库的设汁,只能从数据出发进行设计B.在进行数据仓库主题数据模型设计时,应该按面向部门业务应用的方式来设计数据模型C.在进行数据仓库主题数据模型设计时要强调数据的集成性D.在进行数据仓库概念模型设计时,需要设计实体关系图,给出数据表的划分,并给出每个属性的定义域22.数据库恢复技术的基本策略是数据冗余,被转储的冗余数据包括。(分数:2.00)A.日志文件和数据库副本B.应用程序和数据库副本命题专家预测试卷(1)第 3 页(共 4 页)C.数据字典、日志文件和数据库副本D.应用程序、数据字典、日志文件和数据库副本23.使用哪种身份验证方式需要客户端应用程序连接时提供登录时需要的
9、用户标识和密码?(分数:2.00)A.Windows 身份验证B.SQtServer 身份验证C.以超级用户身份登录时D.其他方式登录时24.下列 SQL 语句中,能够实现实体完整性控制的语句是。(分数:2.00)A.PRIMARY KEYB.FOREIGN KEYC.FOREIGNKEY 和REFERENCESD.REFERENCES25.SQLServer 2000 的物理数据库构架主要包括。(分数:2.00)A.表和视图B.页面和盘区C.数据和程序D.文件及文件组26.对基于检查点的恢复技术,下列说法中错误的是。(分数:2.00)A.无论事务在检查点之前还是之后提交,都需执行 REDO
10、操作B.可以提高恢复效率C.可以定期建立,也可以按照某种规则建立检查点D.能最大限度地减少恢复数据库时根据日志记录所需执行的恢复操作27.下列各图给出的 4 个并发调度中,哪个不是冲突可串行的?(分数:2.00)A.B.C.D.28.下列各图给出的 4 个并发调度中,哪个不是冲突可串行的?(分数:2.00)A.B.C.D.29.以下关于死锁检测与恢复错误的是_。(分数:2.00)A.死锁检测,用于定期检查系统是否发生死锁B.死锁恢复,用于将系统从死锁中解救出来C.有效的方法是从后向前 REDO 这个事务的部分操作,只要能解开系统死锁即可D.为了防止某些事务总是被选做被撤销的事务,可以限定每个事
11、务被选为撤出事务的次数30.下面关于基本表选择合适的文件结构的原则错误的是_。(分数:2.00)A.如果数据库中的一个基本表中的数据量很少,操作很频繁,该基本表可以采用堆文件组织方式B.顺序文件支持基于查找码的顺序访问,也支持快速的二分查找C.如果用户查询是基于散列阈值的等值匹配,散列文件比较合适D.如果某些重要而频繁的用户查询经常需要进行多表连接操作的,可以考虑将表组织成为非聚集文件31.给定如下三个关系表: 销售明细表(商品标识,销售时间,单价,数量,金额) 日销售表(商品标识,销售日,总数量,总金额) 月销售表(商品标识,销售月份,总数量,总金额)下述说法正确的是_。(分数:2.00)A
12、.销售明细表的数据粒度最大,数据量最大B.日销售表的数据粒度最大,数据量最小C.月销售表的数据粒度最大,数据量最小D.月销售表的数据粒度最小,数据量最小二、简答题(总题数:3,分数:6.00)32.简答题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。(分数:2.00)_33.请给出预防死锁和检测死锁的方法。(分数:2.00)_34.VB 6.0 中 RecordSet 对象中用于描述记录集中使用的游标类型的属性是_。(分数:2.00)_三、设计题(总题数:4,分数:8.00)35.设计题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。_36.已知关系模式 R
13、的全部属性集 U=A,B,C,D,E,G及函数依赖集: F=ABC,CA,BCD,ACDB,DEG,BEC,CGBD,CEAG 求属性集闭包(BD)+(分数:2.00)_37.在 SQLServer2000 的某数据库中有如下两张关系表: 学生表(学号,姓名,性别,系号),学号为主码 系表(系号,系名,系简称),系号为主码 在数据库中执行如下 T-SQL 代码: DECLARE DePtID varchar(10) DECLARE cnt int set cnt=O DECLARE cursor1 cursor FOR SELEET系号 FROM 系表 WHERE 系名 LIKE%电% OPE
14、N cursorl FETCH NEXT FROM cursor1 INTO DePtID WHILE FETCH_STATUS=O BEGIN DECLARE temp_cnt int sELECT temp_cnt=COUNT(*)FROM 学生表 WHERE 系号=DeptID set Cnt=cnt+temp_cnt FETCH NEXT FROM cursor1 INTO ODePtID END CLOSE cursor1 DEALLOCATE cursor1 SELECT cnt 执行过程中发现速度比较慢,为了解决性能问题,需在功能不变的情况下,将此 T-SQL 代码改为一条 SQ
15、L 语句,请写出此 SQL 语句(语句中不能含有子查询)并说明为什么此种修改可以提高性能。 设在学生表的(姓名,系号)列上建有一个复合索引,该索引是否有助于提高下列两个语句的查询效率?并说明原因。 SELECT*FROM 学生表 WHERE 系号=1; SELEET*FRoM 学生表 WHERE 姓名=张三;(分数:2.00)_有两张关系表: Students(SID,SName,Sex,Dept) Prizing(SID,PName,Type,PDate) Students 表描述的是学生基本信息Prizing 表描述的是学生获奖信息。(分数:4.00)(1).若在应用程序中经常使用如下查询
16、语句: SELECT S.SID,SName,PName,Type FROM Students AS S JOIN Prizing AS P ON S SID=P.SID 请问能否使用聚集文件提高此查询的性能?并给出原因。(分数:2.00)_(2).为了提高查询性能,数据库管理员在 Students 表的 SName 列上建立了一个非聚集索引 SName _ind。如果应用程序使用如下语句查询数据: SELECT*FROM Students WHERE SName like%华 请问SName_ind 索引是否能够提高语句的查询速度,并给出原因。(分数:2.00)_国家四级数据库工程师-试卷
17、16 答案解析(总分:76.00,做题时间:90 分钟)一、选择题(总题数:31,分数:62.00)1.选择题(1-20 每题,21-30 每题)下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。(分数:2.00)_解析:2.在关系中,数据分片的依据不是本关系属性的条件,而是其他关系属性的条件,这种方法属于。(分数:2.00)A.水平分片B.垂直分片C.导出分片 D.混合分片解析:解析:在关系中,对某一个关系进行分片就是将关系划分为多个片断,这些片断中包含的信息可以使关系进行重构。数据分片有四种基本方法,水平分片、垂直分片、导出分片
18、和混合分片。水平分片是从行的角度(元组)依据一定条件将关系划分为不同的片断,关系巾的每一行必须至少属于一个片断。以便重构关系。分片是从列的角度(属性)依据一定条件将关系分不同的片断各片断必须包含关系的主码属性,以便通过连接方法重构关系。导出分片是导出水平分片,分片的依据不是本关系属性的条件,而是其他关系属性的条件。而混合分片则是指上面三种方法的混合。3.在分布式数据库系统中,数据分配的策略有多种,如集中式、分割式以及。(分数:2.00)A.分布式和关联式B.分布式和混合式C.全复制式和混合式 D.全复制式和关联式解析:解析:在分布式数据库系统中,数据分配的策略有集中式、分割式、全复制式和混合式
19、。4.当多个事务并发执行时,数据库管理系统应保证一个事务的执行不被其他事务干扰,这指的是事务的什么特性?(分数:2.00)A.原子性B.一致性C.隔离性 D.持久性解析:解析:事务具有四个特性:原子性、一致性、隔离性和持久性。 原子性:事务是数据库的逻辑单位,事务中包括的操作要么都做,要么都不做。 一致性:即必须保证在数据库状态发生变化时数据库数据的一致性,在事务作用于数据库过程巾,数据应始终满足完整性约束。 隔离性:事务并发执行时的相对独立性,这是事务并发控制的目标,一个事务的执行不被其他事务十扰。 持续性:指一个事务一旦提交,它对数据库中数据的改变就应该是永久的。5.在分布式数据库的数据分
20、配巾,全局数据有多个副本在每个物理场地的数据副本,这种数据分配的方法属于-。(分数:2.00)A.集中式B.分害 0 式C.全复制式 D.混合式解析:解析:数据分配的方法有集中式、分割式、全复制式和混合式。集中式是指所有数据片断都在一个场地上。分割式是指所有全局数据有且只有一份,它们被分割成若干片断,每一个片断被分配在一个特定的场地上。全复制式是指全局数据有多个副本,在每个物理场地中都有一个完整的数据副本。混合式是指全局数据被分成若干个数据子集,每个子集被分配在一个或多个不同的场地上,每个场地不一定保存所有数据。这种分布方法介于分割式和全复制式之间。6.有某数据库系统在运行过程中发生了系统故障
21、,发生故障时正在运行事务 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 加入重做队列(分数:2.00)A.B.C.D. 解析:解析:由事务
22、的原子性可知,一个事务对数据库的所有操作是一个不可分割的工作单元,要么全部执行要么一个也不执行,由于 t1 事务没有结束记录,应该加入撤销队列,而 t2 有开始和结束记录却没有写入数据库,应该加入重做队列。7.VB 6.0 中的数据绑定控件必须_。A)同时具有 DataSource 属性和 DataField 属性 B)同时具有ConnectionString 属性和 RecordSource 属性 C)具有 DataSource 属性 D)具有 ConnectionString 属性(分数:2.00)A.B.C. D.解析:8.VB 6.0 中,ADO 数据控件用于连接数据源的属性是_。A)
23、RefreshB)RecordSourceC)CommandTypeD)ConnectionString(分数:2.00)A.B.C.D. 解析:9.在分布式数据库系统中,一般不适合作为衡量查询代价依据的是_。A)CPU 代价 B)I/O 代价 C)通信代价 D)存储代价(分数:2.00)A.B.C.D. 解析:解析:在集中式数据库系统中,查询代价主要是由 CPU 代价和 I/O 代价来衡量的,在分布式数据库系统中,由于数据分布在多个不同的场地上,使得查询处理中还要考虑站点间传输数据的通信代价。另外,分布式数据库的缺点之一就是复杂的存取结构。因此本题答案为 D。10.DBMS 通过加锁机制允许
24、用户并发访问数据库,这属于 DBMS 提供的_。(分数:2.00)A.数据定义功能B.数据操纵功能C.数据库运行管理与控制功能 D.数据库建立与维护功能解析:解析:DBMS 的数据库运行管理与控制功能是指统一管理和控制数据库的建立、运行和维护,DBMS通过加锁机制允许用户并发访问数据库,这属于 DBMS 提供的数据库运行管理与控制功能。11.以下哪种类型的数据库使用树形数据结构组织和存储数据_。A) 层次数据库 B) 网状数据库 C) 关系数据库 D) 面向对象数据库(分数:2.00)A. B.C.D.解析:12.在数据库应用系统设计过程中,不属于概念设计范畴的是_。A) 应用软件结构设计 B
25、) 关键技术方案初步没计 C) 模块使用的数据结构设计 D) 确定 DBAS 体系结构(分数:2.00)A.B.C. D.解析:解析:概念设计包括数据概念模型设计和系统总体设计。系统总体设计的内容: (1) 确定 DBAS 体系结构。 (2) 系统硬件平台和操作系统、数据库管理系统等系统软件的选型和配置。 (3) 应用软件结构设计。 (4) 对需求分析阶段识别出的业务规则进行初步设计,细化业务规则流程,分析所处理的业务数据和处理方式,明确采用的关键技术和算法等。 (5) 对系统采用的关键技术进行方案选型和初步设计。所以本题的答案为 C。13._是数据库技术与互联网技术结合的产物,也称为网络数据
26、库。A) 集中式数据库系统 B) 并行数据库系统 C) 分布式数据库系统 D) Web 数据库系统(分数:2.00)A.B.C.D. 解析:14.有如下的索引文件: 指针号 (分数:2.00)A.稀疏索引B.聚集索引C.稠密索引D.非聚集索引 解析:解析:稀疏索引是指如果只是一部分查找码的值有对应的索引记录,则该索引为稀疏索引;稠密索引是如果数据文件中的每一个查找码值在索引文件中都对应一个索引记录,则该索引为稠密索引;对数据文件和它的一个特定的索引文件,如果数据文件中的数据记录的排列顺序与索引文件中索引项的排列顺序相一致,或者说,索引文件按照其查找码指定的顺序与数据文件中数据记录的排列顺序相一
27、致,则该索引文件称为聚集索引,否则为非聚集索引。15.下列哪项不是构成 E-R 图的基本要素?_(分数:2.00)A.关系 B.属性C.联系D.实体集解析:16.下列关于数据库重构的描述中,不正确的是_。(分数:2.00)A.数据库的重构就是对数据库的逻辑结构作必要的小范围改变B.数据库重构包括重新设计数据库及其应用程序 C.当存储空间的分配过于零散,导致存取效率下降,所以必须重构数据库D.如果能够重构数据库,尽量不要重新设计数据库及相应的应用程序解析:17.允许在转储过程中对数据库进行存取和修改,但不能保证备份数据有效性的数据转储类型是_。(分数:2.00)A.增量转储B.差量转储C.静态转
28、储D.动态转储 解析:18. (分数:2.00)A. B.C.D.解析:19. (分数:2.00)A.B.C. D.解析:20.在 SQL Server 2000 中,public 角色是系统提供的一个数据库角色。下列关于 public 角色的说法,错误的是(分数:2.00)A.每个数据库用户都自动是该角色中的成员B.在不删除数据库用户的前提下,不能手工从该角色中删除成员C.该角色中的成员自动具有查询数据库中用户表数据的权限 D.可以为该角色授予用户表的数据操作权解析:解析:Public-角色是一个特殊的数据库角色,首先,数据库中的每个用户都自动地是 public:角色的成员,用户不能从 pu
29、blic 角色中添加和删除成员。其次,用户可以对这个角色进行授权(其他系统提供的角色的权限都是固定的,用户不能更改)。如果想让数据库中的全体用户都具有某个特定的权限,则可将该权限授予 public。每个数据库用户都自动地具有 public 角色的权限。21.关于数据仓库设计,下述说法正确的是_。(分数:2.00)A.数据仓库项目的需求很难把握,所以不可能从用户的需求出发来进行数据仓库的设汁,只能从数据出发进行设计B.在进行数据仓库主题数据模型设计时,应该按面向部门业务应用的方式来设计数据模型C.在进行数据仓库主题数据模型设计时要强调数据的集成性D.在进行数据仓库概念模型设计时,需要设计实体关系
30、图,给出数据表的划分,并给出每个属性的定义域 解析:解析:数据仓库概念模型设计与数据库的概念模型设计大致相同,需要设计实体关系图,给出数据表的划分,并给出每个属性的定义域。对于在层次结构中的每个主题,需要进行详细的调研,确定要分析的指标,确定用户从哪些角度来分析数据即维度,还要确定用户分析数据的细化或综合程度即粒度。22.数据库恢复技术的基本策略是数据冗余,被转储的冗余数据包括。(分数:2.00)A.日志文件和数据库副本 B.应用程序和数据库副本命题专家预测试卷(1)第 3 页(共 4 页)C.数据字典、日志文件和数据库副本D.应用程序、数据字典、日志文件和数据库副本解析:解析:用于数据库恢复
31、的被转储的冗余数据包括日志文件和数据库副本。23.使用哪种身份验证方式需要客户端应用程序连接时提供登录时需要的用户标识和密码?(分数:2.00)A.Windows 身份验证B.SQtServer 身份验证 C.以超级用户身份登录时D.其他方式登录时解析:解析:使用 SQL Server 身份验证,需要客户端应用程序连接时提供登录需要的用户标识和密码。24.下列 SQL 语句中,能够实现实体完整性控制的语句是。(分数:2.00)A.PRIMARY KEY B.FOREIGN KEYC.FOREIGNKEY 和REFERENCESD.REFERENCES解析:解析:能够实现实体完整性控制的 SQL
32、 语句是 PRIMARY KEY。25.SQLServer 2000 的物理数据库构架主要包括。(分数:2.00)A.表和视图B.页面和盘区 C.数据和程序D.文件及文件组解析:解析:SQL Server 2000 的物理数据库构架主要包括页面和盘区。26.对基于检查点的恢复技术,下列说法中错误的是。(分数:2.00)A.无论事务在检查点之前还是之后提交,都需执行 REDO 操作 B.可以提高恢复效率C.可以定期建立,也可以按照某种规则建立检查点D.能最大限度地减少恢复数据库时根据日志记录所需执行的恢复操作解析:解析:利用检查点方法进行恢复的步骤: 1)从重新开始文件中找到最后一个检查点记录在
33、日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。 2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单 ACTIVEIJSI建立两个事务队列 UNDOIJST 和 REDOLIST,把 ACTIVELIST 暂时放入 UNDOIJST 队列,REDOIaST 队列暂为空。 3)从检查点开始正向扫描日志文件,直到日志文件结束,如有新开始的事务 Ti,把 Tj 暂时放人 UNDOIJST。队列,如有提交的事务 Tj,把 Tj 从uNDOLIST 队列移到 REDOLIST 队列。 4)对 UNDOLIST 中的每个事务执行 UNDO 操作,对 REDOLIST中的每个事务执行
34、REDO 操作。27.下列各图给出的 4 个并发调度中,哪个不是冲突可串行的?(分数:2.00)A.B.C.D. 解析:解析:冲突操作指的是事务 Ti 的操作 Ii 与事务 Tj 的操作 Ij 是冲突的,当且仅当 Ii 和 Ij 访问数据库中同一个数据项 Q,并且 Ii 和 Ij 中至少有一个是写操作、mite(Q)。可申行化调度:如果一个并发调度冲突等价于某个串行调度,则称该并发调度是冲突可串行的。由上可知,D 项 T1 R(A);T4 W(A);T4 R(B);Tlw(B)不是冲突可串行的。28.下列各图给出的 4 个并发调度中,哪个不是冲突可串行的?(分数:2.00)A.B.C.D. 解
35、析:解析:冲突操作指的是事务 Ti 的操作 Ii 与事务 Tj 的操作 Ij 是冲突的,当且仅当 Ii 和 Ij 访问数据库中同一个数据项 Q,并且 Ii 和 Ij 中至少有一个是写操作、mite(Q)。可申行化调度:如果一个并发调度冲突等价于某个串行调度,则称该并发调度是冲突可串行的。由上可知,D 项 T1 R(A);T4 W(A);T4 R(B);Tlw(B)不是冲突可串行的。29.以下关于死锁检测与恢复错误的是_。(分数:2.00)A.死锁检测,用于定期检查系统是否发生死锁B.死锁恢复,用于将系统从死锁中解救出来C.有效的方法是从后向前 REDO 这个事务的部分操作,只要能解开系统死锁即
36、可 D.为了防止某些事务总是被选做被撤销的事务,可以限定每个事务被选为撤出事务的次数解析:解析:对于每个需要撤销的死锁事务,可以简单地放弃该事务已经完成的全部操作,重新启动该事务,更有效的方法是从后面向前 REDO 这个事务的部分操作,只要能解开系统死锁即可。30.下面关于基本表选择合适的文件结构的原则错误的是_。(分数:2.00)A.如果数据库中的一个基本表中的数据量很少,操作很频繁,该基本表可以采用堆文件组织方式B.顺序文件支持基于查找码的顺序访问,也支持快速的二分查找C.如果用户查询是基于散列阈值的等值匹配,散列文件比较合适 D.如果某些重要而频繁的用户查询经常需要进行多表连接操作的,可
37、以考虑将表组织成为非聚集文件解析:31.给定如下三个关系表: 销售明细表(商品标识,销售时间,单价,数量,金额) 日销售表(商品标识,销售日,总数量,总金额) 月销售表(商品标识,销售月份,总数量,总金额)下述说法正确的是_。(分数:2.00)A.销售明细表的数据粒度最大,数据量最大B.日销售表的数据粒度最大,数据量最小C.月销售表的数据粒度最大,数据量最小 D.月销售表的数据粒度最小,数据量最小解析:解析:粒度越大,综合程度越高,如果数据仓库不保存低粒度的数据,只有粗粒度的数据,则需要存储的数据量就较少,所以本题的答案为 C。二、简答题(总题数:3,分数:6.00)32.简答题请用蓝、黑色钢
38、笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。(分数:2.00)_解析:33.请给出预防死锁和检测死锁的方法。(分数:2.00)_正确答案:(正确答案:预防死锁通常有以下两种方法: 一次封锁法,就是要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行; 顺序封锁法,是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。 检索死锁发生的一种方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他事务得以继续运行下去。)解析:34.VB 6.0 中 RecordSet 对象中用于描述记录集中使用的游标类型的属性是_。(分数:2.00)_正确答案
39、:(正确答案:CursorType)解析:三、设计题(总题数:4,分数:8.00)35.设计题请用蓝、黑色钢笔或圆珠笔将答案写在答题卡的相应位置上,否则无效。_解析:36.已知关系模式 R 的全部属性集 U=A,B,C,D,E,G及函数依赖集: F=ABC,CA,BCD,ACDB,DEG,BEC,CGBD,CEAG 求属性集闭包(BD)+(分数:2.00)_正确答案:(正确答案:(BD)+=ABCDEG X(0)=BD;由 DEG 可知 X(1)=BDEG;再由 BEC,可知 X(2)=BDEGC;又有 CGBD,CEAG,可知 X(3)=BDEGCA,因为 X(3)中包含了所有的属性集,即有
40、(BD)+=X(3)=ABCDEG)解析:37.在 SQLServer2000 的某数据库中有如下两张关系表: 学生表(学号,姓名,性别,系号),学号为主码 系表(系号,系名,系简称),系号为主码 在数据库中执行如下 T-SQL 代码: DECLARE DePtID varchar(10) DECLARE cnt int set cnt=O DECLARE cursor1 cursor FOR SELEET系号 FROM 系表 WHERE 系名 LIKE%电% OPEN cursorl FETCH NEXT FROM cursor1 INTO DePtID WHILE FETCH_STATUS
41、=O BEGIN DECLARE temp_cnt int sELECT temp_cnt=COUNT(*)FROM 学生表 WHERE 系号=DeptID set Cnt=cnt+temp_cnt FETCH NEXT FROM cursor1 INTO ODePtID END CLOSE cursor1 DEALLOCATE cursor1 SELECT cnt 执行过程中发现速度比较慢,为了解决性能问题,需在功能不变的情况下,将此 T-SQL 代码改为一条 SQL 语句,请写出此 SQL 语句(语句中不能含有子查询)并说明为什么此种修改可以提高性能。 设在学生表的(姓名,系号)列上建有一
42、个复合索引,该索引是否有助于提高下列两个语句的查询效率?并说明原因。 SELECT*FROM 学生表 WHERE 系号=1; SELEET*FRoM 学生表 WHERE 姓名=张三;(分数:2.00)_正确答案:(正确答案:第一句能,第二局不能,系名的重复率太高,姓名的重复率低。)解析:有两张关系表: Students(SID,SName,Sex,Dept) Prizing(SID,PName,Type,PDate) Students 表描述的是学生基本信息Prizing 表描述的是学生获奖信息。(分数:4.00)(1).若在应用程序中经常使用如下查询语句: SELECT S.SID,SNam
43、e,PName,Type FROM Students AS S JOIN Prizing AS P ON S SID=P.SID 请问能否使用聚集文件提高此查询的性能?并给出原因。(分数:2.00)_正确答案:(正确答案:可以用聚集文件提高此查询性能。因为聚集文件本身存储不同类型表的联系,能够减少表间的连接操作,提高查询性能。)解析:(2).为了提高查询性能,数据库管理员在 Students 表的 SName 列上建立了一个非聚集索引 SName _ind。如果应用程序使用如下语句查询数据: SELECT*FROM Students WHERE SName like%华 请问SName_ind 索引是否能够提高语句的查询速度,并给出原因。(分数:2.00)_正确答案:(正确答案:此索引不能提高该语句的查询速度。因为该索引是建立在 SNAME 上的非聚集索引,以 SNAME 首字母排序,而查询语句却要求查询名字最后一个是“华”的 SNAME,还是需要全部扫描students 表因此不能提高