【计算机类职业资格】事务调度与并发控制及答案解析.doc

上传人:hopesteam270 文档编号:1323228 上传时间:2019-10-17 格式:DOC 页数:21 大小:127KB
下载 相关 举报
【计算机类职业资格】事务调度与并发控制及答案解析.doc_第1页
第1页 / 共21页
【计算机类职业资格】事务调度与并发控制及答案解析.doc_第2页
第2页 / 共21页
【计算机类职业资格】事务调度与并发控制及答案解析.doc_第3页
第3页 / 共21页
【计算机类职业资格】事务调度与并发控制及答案解析.doc_第4页
第4页 / 共21页
【计算机类职业资格】事务调度与并发控制及答案解析.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、事务调度与并发控制及答案解析(总分:80.00,做题时间:90 分钟)一、B选择题/B(总题数:29,分数:58.00)1.某系统中事务 T1 从账户 A 转出资金到账户 B 中,在此事务执行过程中,另一事务 T2 要进行所有账户金额统计操作。在 T1 和 T2 事务成功提交后,数据库服务器突然掉电重启。为了保证 T2 事务统计结果及重启后 A,B 两账户金额正确,需利用到的事务性质分别是_。 A.一致性和隔离性 B.隔离性和持久性 C.原子性和一致性 D.原子性和持久性(分数:2.00)A.B.C.D.2.在 SQL Server 2000 中,某数据库中有教师表(教师号,姓名,职称),其中

2、教师号的数据类型是整型,其他均为字符类型。若教师表中当前没有数据,用户在数据库中依次执行下列语句:BEGIN TRANSACTION T1INSERT INTO 教师表 VALUES(1000, 张三, 助教);INSERT INTO 教师表 VALUES(1001, 王二, 助教);COMMIT T1;BEGIN TRANSACTION T2;INSERT INTO 教师表 VALUES(1002, 王三, 讲师);INSERT INTO 教师表 VALUES(1003, 李四, 讲师);COMMIT T2;在执行的时候数据库所在的服务器突然掉电,当数据库系统重新启动后,教师表中包含的数据条

3、数为_。 A.4 条 B.3 条 C.2 条 D.0 条(分数:2.00)A.B.C.D.3.事务 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)(分数:2.00)A.B.C.D.4.事务是数据库技术中一个非常重要的概念。下列关于事务的说法,错误的是_。 A.当某事务未执行完成时,数据库暂时处于不一致状态,这时

4、其他事务不会因这种不一致状态而出现数据错误 B.事务并发执行可以提高系统性能,但可能会导致数据出现问题。为了保证数据库数据的一致性,对事务的调度一般尽可能采用串行调度策略 C.利用日志文件进行数据库事务故障恢复和系统故障恢复是实现事务持久性的重要手段 D.存储管理器以事务方式访问数据库中的数据,确保数据库状态的一致性(分数:2.00)A.B.C.D.5.以下关于事务的说法错误的是_。 A.事务是构成数据库应用中一个独立逻辑工作单元的操作的集合 B.事务是访问并可能更新数据库中各种数据项的一个程序执行单元 C.事务以 begin-transaction 语句开始 D.事务都是以 commit 语

5、句结束(分数:2.00)A.B.C.D.6.数据库管理系统采用三级加锁协议来防止并发操作可能导致的数据错误。在三级加锁协议中,一级加锁协议能够解决的问题是_。 A.丢失修改 B.不可重复读 C.读脏数据 D.死锁(分数:2.00)A.B.C.D.7.事务 T 对数据对象 A 加上何种锁,其他事务只能再加对 A 加 S 锁,不能加 X 锁,直到事务 T 释放 A 上的S 锁为止?_ A.共享锁 B.排他锁 C.独占锁 D.写锁(分数:2.00)A.B.C.D.8.如果某事务获得了数据项 A 上的排它锁,则其他事务对数据项 A_。 A.可以进行任何操作 B.只能写不能读 C.即可以读也可以写 D.

6、不能读也不能写(分数:2.00)A.B.C.D.9.在数据库管理系统中,为保证并发事务的正确执行,需采用一定的并发控制技术。下列关于基于锁的并发控制技术的说法,错误的是_。 A.锁是一种特殊的二元信号量,用来控制多个并发事务对共享资源的使用 B.数据库中的锁主要分为排它锁和共享锁,当某个数据项上已加有多个共享锁时,此数据项上只能再加一个排它锁 C.数据库管理系统可以采用先来先服务的方式防止出现活锁现象 D.当数据库管理系统检测到死锁后,可以采用撤销死锁事务的方式解除死锁(分数:2.00)A.B.C.D.10.基于锁的并发控制技术可以避免并发操作引起的各种错误,但有可能引起死锁等问题。关于封锁协

7、议中的问题及其处理,下列说法错误的是_。 A.数据库管理系统采用死锁检测与恢复策略使系统摆脱死锁状态 B.如果系统进入死锁状态的概率比较低,则应采用死锁预防策略,否则采用死锁检测与恢复策略更有效 C.为避免活锁(事务饿死)现象的发生,数据库管理系统可以采用先来先服务(FIFS)策略处理事务的数据操作请求 D.数据库系统的并发控制子系统动态地构造和维护事务等待图,并周期性地检查图中是否存在回路,如果有则说明系统中出现了死锁(分数:2.00)A.B.C.D.11.某数据库应用系统使用 SQL Server 2000 作为数据库平台。在系统运行期间,用户反映某更新操作很慢,无法正常完成业务。系统工程

8、师分别在用户的客户机和数据库服务器上使用数据库管理系统自带的客户端工具执行此更新操作语句,发现该语句执行后长时间无响应。经检查数据库服务器 CPU 使用率小于 1%,磁盘 IO 也非常小。造成此现象可能的原因是_。 A.客户机到数据库服务器的网络故障 B.更新操作涉及的表没有建立主码 C.更新的字段没有建立有效的索引 D.更新操作涉及的数据被锁定(分数:2.00)A.B.C.D.12.以下关于锁粒度叙述错误的是_。 A.施加 X 锁和 S 锁的数据项的大小称为锁粒度 B.锁粒度与事务并发执行的程度和 DBMS 并发控制的开销密切相关 C.在关系数据库中,可以对数据页、索引页和块等物理单元进行加

9、锁 D.当锁粒度比较大时,事务并发度高,但系统开销也较大(分数:2.00)A.B.C.D.13.下列关于封锁协议的说法中正确的是_。 A.一级封锁协议可防止 Dirty Read 和 Lost Update B.二级封锁协议可防止 Dirty Read 和 None-Repeatable Read C.三级封锁协议可防止 Dirty Read 和 None-Repeatable Read D.各级封锁协议均可防止 Dirty Read 和 None-Repeatable Read(分数:2.00)A.B.C.D.14.设某数据库中有一组客户数据 CS=c1,cm,CS 表示具有 m 个客户的集

10、合。客户数据经过处理后,每个客户 ci 对应一个 n 维向量 Vi=vi1,vim,用于表示客户 ci 的特征。设有函数 sim(Vi,Vj)用于判定 ci 与 cj 之间的相似性。若有算法 A,能根据客户间的相似性,将 CS 划分成 k 个子集合,并使属于同一子集合的客户间的相似性尽可能大,不属于同一子集合的客户间的相似性尽可能小。则算法 A 属于一种_。 A.分类算法 B.聚类算法 C.关联分析算法 D.预测法(分数:2.00)A.B.C.D.15.下列三级加锁协议的作用的说法中错误的是_。 A.一级加锁协议要求事务 T 在修改数据项 Q 之前必须先对 Q 加 X 锁,直到事务结束才释放该

11、锁 B.二级加锁协议是在一级加锁协议基础上,要求事务 T 在读取数据项 Q 之前必须先对其加 S 锁,读完 Q 后可以立即释放 S 锁 C.三级加锁协议是在一级加锁协议基础上,要求事务 T 在读取数据项 Q 之前必须先对其加 S 锁,读完 Q 后可以立即释放 S 锁 D.对并发操作的不正确调度可能会导致数据库中数据的不一致,三级加锁协议暂时无法解决这一问题(分数:2.00)A.B.C.D.16.两阶段锁协议可以保证并发调度的可串行性。关于两阶段锁协议,下列说法错误的是_。 A.在一个可串行化调度中,并不一定所有事务都必须符合两阶段锁协议 B.如果一个事务遵循两阶段锁协议,则这个事务中的第一个解

12、锁操作必须出现在该事务的最后一个加锁操作之后 C.如果一个事务已经对数据项 A 加了共享锁,则其他事务不能再对 A 加任何锁 D.在解锁阶段,事务可以释放任何数据项上的任何类型的锁(分数:2.00)A.B.C.D.17.下列事务隔离级别中最强的是_。 A.Read Uncommitted B.Read Committed C.Repeatable Read D.Serializable(分数:2.00)A.B.C.D.18.下列关于排他锁和共享锁的说法中错误的是_。 A.只能有一个事务对加锁项加排他锁 B.排他锁也叫独占锁或 X 锁,共享锁也叫读锁或者 S 锁 C.当加了 S 锁以后,其他的事

13、务还可以对加锁项加 X 锁 D.当加了 S 锁以后,其他的事务还可以对加锁项加 S 锁(分数:2.00)A.B.C.D.19.下列关于优良数据库标准的说法中错误的是_。 A.一个好的数据库系统应当根据用户需求,提供多种不同粒度的加锁单元供数据库用户选择 B.需要处理大量元组的事务可以选择较小的锁粒度,以关系为加锁单位 C.需要处理多个关系的大量元组的事务可以以数据库为加锁单位 D.对于一个处理少量元组的事务,可以以关系为加锁单位(分数:2.00)A.B.C.D.20.死锁是数据库系统中可能出现的一种状态。下列有关死锁的说法错误的是_。 A.当事务由于无法获得对需要访问的数据项的控制权而处于等待

14、状态时,称数据库中产生了死锁 B.死锁是由于系统中各事务间存在冲突操作且冲突操作的并发执行顺序不当而产生的 C.死锁预防可以使用一次加锁和顺序加锁两种方法,其中一次加锁法可能会降低系统的并发程度 D.解除死锁通常采用的方法是选择一个或几个造成死锁的事务,撤销这些事务并释放其持有的锁(分数:2.00)A.B.C.D.21.若系统中存在四个等待事务 T0、T1、T2、T3,其中 T0 正等待被 T1 锁住的数据项 A1,T1 正等待被 T2锁住的数据项 A2,T2 正等待被 T3 锁住的数据项 A3,T3 正等待被 T0 锁住的数据项 A0。根据上述描述,系统所处的状态是_。 A.活锁 B.死锁

15、C.封锁 D.正常(分数:2.00)A.B.C.D.22.数据库系统中部分或全部事务由于无法获得对需要访问的数据项的控制权而处于等待状态,并且一直等待下去的一种系统状态的情况称为_。 A.活锁 B.死锁 C.排他锁 D.共享锁(分数:2.00)A.B.C.D.23.以下关于一次加锁法及其缺点叙述错误的是_。 A.该方法要求每个事务在开始执行时不必将需要访问的数据项全部加锁 B.要求事务必须一次性地获得对需要访问的全部数据项的访问权 C.多个数据项会被一个事务长期锁定独占,降低了系统的并发程度 D.将事务执行时可能访问的所有数据项全部加锁,进一步降低了系统的并发程度(分数:2.00)A.B.C.

16、D.24.以下关于顺序加锁法及其缺点叙述错误的是_。 A.该方法对数据库中事务访问的所有数据项规定一个加锁顺序 B.每个事务在执行过程中必须按顺序对所需数据项加锁 C.维护对这些数据项的加锁顺序很困难,代价非常大 D.事务按照固定的顺序对这些数据项进行加锁比较方便(分数:2.00)A.B.C.D.25.以下关于死锁检测与恢复叙述错误的是_。 A.死锁检测用来定期检查系统是否发生死锁 B.死锁恢复用于将系统从死锁中解救出来 C.有效的方法是从后向前 REDO 这个事务的部分操作,只要能够解开系统死锁即可 D.为了防止某些事务总被选做被撤销事务,可以限定每个事务被选为撤销事务的次数(分数:2.00

17、)A.B.C.D.26.以下关于死锁叙述错误的是_。 A.死锁只发生在两个并发执行的事务之间的情况 B.死锁是事务不停地等待永远不可能释放的加锁项而产生的情况 C.采用死锁预防来防止死锁的发生,是一种并不可靠的方法 D.死锁检测会消耗系统资源(分数:2.00)A.B.C.D.27.事务的活锁又称为事务的饥饿,为了避免数据库出现事务活锁,可以采用的措施是_。 A.使用先来先服务策略处理事务请求 B.使用两阶段锁协议 C.对事务进行并发调度 D.使用小粒度锁(分数:2.00)A.B.C.D.28.当多个事务请求对同一数据加锁时,总是使某一用户等待的情况称为_。 A.活锁 B.死锁 C.排他锁 D.

18、共享锁(分数:2.00)A.B.C.D.29.以下关于活锁叙述错误的是_。 A.事务的活锁又称为事务的饿死 B.为避免活锁现象的发生,DBMS 可以采用先来先服务(FIFS)策略处理事务的数据操作请求 C.各个事务可以按照申请访问 Q 的时间先后顺序,依次获得定义在 Q 上的锁 D.DBMS 按事务请求加锁的先后顺序对这些事务排队,先请求的事务排在队列中靠后的位置(分数:2.00)A.B.C.D.二、B填空题/B(总题数:5,分数:10.00)30.在数据库系统出现系统故障后进行恢复时,对于事务 T,如果日志文件中有 BEGINTRANSACTION 记录,而没有 COMMIT 或 ROLLB

19、ACK 记录,则数据库管理系统处理这种事务时应执行的操作是 1。(分数:2.00)填空项 1:_31.在保证数据一致性的加锁协议中, 1 级加锁协议要求事务在读数据项之前必须先对该数据项加共享锁,直到事务结束才释放该锁。(分数:2.00)填空项 1:_32.数据库管理系统中的加锁协议规定了事务的加锁时间、持锁时间和释放锁时间,其中 1 协议可以完全保证并发事务数据的一致性。(分数:2.00)填空项 1:_33.当数据库系统发生死锁时,通常采用的方法是选择一个或几个死锁事务,撤销这些事务,释放这些事务持有的锁,以解决系统的死锁问题。这种机制称为 1。(分数:2.00)填空项 1:_34.两阶段锁

20、协议可以保证并发调度可串行化。在两阶段锁协议中,每个事务的执行过程被划分为_和_两个阶段。(分数:2.00)填空项 1:_三、B设计与应用题/B(总题数:2,分数:12.00)35.考虑定义在事务集(T1,T2,T3)上的调度 S1 和 S2,S1 与 S2 是否是冲突等价的?为什么? (分数:6.00)_36.对下图中的事务 Ti和 Tj,构造一个符合两阶段锁协议、并且冲突等价于串行调度T i;T j的并发调度。 Ti Tjread(C)C:=C+1write(C)read(A)A:=A*2write(A)read(A)A:=A+1write(A)read(B)B:=B+1write(B)(

21、分数:6.00)_事务调度与并发控制答案解析(总分:80.00,做题时间:90 分钟)一、B选择题/B(总题数:29,分数:58.00)1.某系统中事务 T1 从账户 A 转出资金到账户 B 中,在此事务执行过程中,另一事务 T2 要进行所有账户金额统计操作。在 T1 和 T2 事务成功提交后,数据库服务器突然掉电重启。为了保证 T2 事务统计结果及重启后 A,B 两账户金额正确,需利用到的事务性质分别是_。 A.一致性和隔离性 B.隔离性和持久性 C.原子性和一致性 D.原子性和持久性(分数:2.00)A.B. C.D.解析:解析 本题考查的知识点是事务性质。两个事务并发执行时,隔离性保证其

22、并行结果的正确。当事务提交后断电,则持久性保证其对数据库的改变是永久的,结果不受影响。即本题的答案为 B。2.在 SQL Server 2000 中,某数据库中有教师表(教师号,姓名,职称),其中教师号的数据类型是整型,其他均为字符类型。若教师表中当前没有数据,用户在数据库中依次执行下列语句:BEGIN TRANSACTION T1INSERT INTO 教师表 VALUES(1000, 张三, 助教);INSERT INTO 教师表 VALUES(1001, 王二, 助教);COMMIT T1;BEGIN TRANSACTION T2;INSERT INTO 教师表 VALUES(1002,

23、 王三, 讲师);INSERT INTO 教师表 VALUES(1003, 李四, 讲师);COMMIT T2;在执行的时候数据库所在的服务器突然掉电,当数据库系统重新启动后,教师表中包含的数据条数为_。 A.4 条 B.3 条 C.2 条 D.0 条(分数:2.00)A.B.C. D.解析:解析 一个事务由一系列操作组成,事务的执行表现为事务中各个操作的执行,包括对数据库对象的读写操作,此外每个事务还应该具有结束操作。如果事务没有执行提交操作,所有的修改会被撤销。3.事务 T0、T1 和 T2 并发访问数据项 A、B 和 C,下列属于冲突操作的是_。 A.T0 中的 read(A)和 T0

24、中的 write(A) B.T0 中的 read(B)和 T2 中的 read(C) C.T0 中的 write(A)和 T2 中的 write(C) D.T1 中的 read(C)和 T2 中的 write(C)(分数:2.00)A.B.C.D. 解析:解析 冲突操作要求两个不同事务操作的操作访问数据库中的同一个数据项,同时这两个操作中至少有一个操作是写操作 write。A 选项不是两个事务。B、C 选项操作访问的不是数据库中的同一个数据项。所以本题的答案为 D。4.事务是数据库技术中一个非常重要的概念。下列关于事务的说法,错误的是_。 A.当某事务未执行完成时,数据库暂时处于不一致状态,这

25、时其他事务不会因这种不一致状态而出现数据错误 B.事务并发执行可以提高系统性能,但可能会导致数据出现问题。为了保证数据库数据的一致性,对事务的调度一般尽可能采用串行调度策略 C.利用日志文件进行数据库事务故障恢复和系统故障恢复是实现事务持久性的重要手段 D.存储管理器以事务方式访问数据库中的数据,确保数据库状态的一致性(分数:2.00)A.B. C.D.解析:解析 针对一个类的多个成员方法间协作的测试属于面向对象软件集成测试关注的范畴。5.以下关于事务的说法错误的是_。 A.事务是构成数据库应用中一个独立逻辑工作单元的操作的集合 B.事务是访问并可能更新数据库中各种数据项的一个程序执行单元 C

26、.事务以 begin-transaction 语句开始 D.事务都是以 commit 语句结束(分数:2.00)A.B.C.D. 解析:解析 事务是构成数据库应用中一个独立逻辑工作单元的操作的集合,也是访问并可能更新数据库中各种数据项的一个程序执行单元。 一个事务由数据库应用程序中的一组操作序列组成,事务以begin-transaction 语句开始,以 commit 或 rollback 语句结束。因此本题答案为 D。6.数据库管理系统采用三级加锁协议来防止并发操作可能导致的数据错误。在三级加锁协议中,一级加锁协议能够解决的问题是_。 A.丢失修改 B.不可重复读 C.读脏数据 D.死锁(分

27、数:2.00)A. B.C.D.解析:解析 一级加锁的内容是事务 T 在修改数据 R 之前必须先对其加 X 锁,直到事务结束才释放。它是用于防止丢失修改。7.事务 T 对数据对象 A 加上何种锁,其他事务只能再加对 A 加 S 锁,不能加 X 锁,直到事务 T 释放 A 上的S 锁为止?_ A.共享锁 B.排他锁 C.独占锁 D.写锁(分数:2.00)A.B.C. D.解析:解析 事务对一个数据项 Q 的操作类型决定了设置在 Q 上的锁的类型,主要有两种:共享锁和独占锁,其中独占锁也称为排他锁或写锁,所以本题的答案为 C。8.如果某事务获得了数据项 A 上的排它锁,则其他事务对数据项 A_。

28、A.可以进行任何操作 B.只能写不能读 C.即可以读也可以写 D.不能读也不能写(分数:2.00)A.B.C.D. 解析:解析 互斥锁,又称为排它锁、写锁。若事务 T 得到 Q 上的排它锁,则 T 可以读取和修改 Q,其他任何事务不能再对 Q 进行任何操作,直到 T 释放 Q 上的锁。9.在数据库管理系统中,为保证并发事务的正确执行,需采用一定的并发控制技术。下列关于基于锁的并发控制技术的说法,错误的是_。 A.锁是一种特殊的二元信号量,用来控制多个并发事务对共享资源的使用 B.数据库中的锁主要分为排它锁和共享锁,当某个数据项上已加有多个共享锁时,此数据项上只能再加一个排它锁 C.数据库管理系

29、统可以采用先来先服务的方式防止出现活锁现象 D.当数据库管理系统检测到死锁后,可以采用撤销死锁事务的方式解除死锁(分数:2.00)A.B. C.D.解析:解析 本题考查数据库锁机制,当某个数据项上有多个共享锁时,不能再添加任何排它锁。故本题选 B。10.基于锁的并发控制技术可以避免并发操作引起的各种错误,但有可能引起死锁等问题。关于封锁协议中的问题及其处理,下列说法错误的是_。 A.数据库管理系统采用死锁检测与恢复策略使系统摆脱死锁状态 B.如果系统进入死锁状态的概率比较低,则应采用死锁预防策略,否则采用死锁检测与恢复策略更有效 C.为避免活锁(事务饿死)现象的发生,数据库管理系统可以采用先来

30、先服务(FIFS)策略处理事务的数据操作请求 D.数据库系统的并发控制子系统动态地构造和维护事务等待图,并周期性地检查图中是否存在回路,如果有则说明系统中出现了死锁(分数:2.00)A.B. C.D.解析:解析 如果数据库系统进入死锁的概率比较高,使用死锁预防机制的效果好些。死锁的预防有:一次加锁法。该方法要求每个事务在开始执行时必须将需要访问的数据项全部加锁,否则不允许执行下去,也就是要求事务必须一次性地获得对需要访问的全部数据项的访问权。顺序加锁法。该方法对数据库中事务访问的所有数据项规定一个加锁顺序,每个事务在执行过程中必须按此顺序对所需数据加锁。11.某数据库应用系统使用 SQL Se

31、rver 2000 作为数据库平台。在系统运行期间,用户反映某更新操作很慢,无法正常完成业务。系统工程师分别在用户的客户机和数据库服务器上使用数据库管理系统自带的客户端工具执行此更新操作语句,发现该语句执行后长时间无响应。经检查数据库服务器 CPU 使用率小于 1%,磁盘 IO 也非常小。造成此现象可能的原因是_。 A.客户机到数据库服务器的网络故障 B.更新操作涉及的表没有建立主码 C.更新的字段没有建立有效的索引 D.更新操作涉及的数据被锁定(分数:2.00)A.B.C.D. 解析:解析 A 项,数据库服务器端也出现问题,说明不是网络的原因。B 项,表都要有主码,没有主码的表是无法建立的。

32、C 项,由于磁盘 IO 很小,说明更新后并没有在表中进行大量的查找,只有当涉及数据被锁定时,才符合题目中所说情况。12.以下关于锁粒度叙述错误的是_。 A.施加 X 锁和 S 锁的数据项的大小称为锁粒度 B.锁粒度与事务并发执行的程度和 DBMS 并发控制的开销密切相关 C.在关系数据库中,可以对数据页、索引页和块等物理单元进行加锁 D.当锁粒度比较大时,事务并发度高,但系统开销也较大(分数:2.00)A.B.C.D. 解析:解析 施加 X 锁和 S 锁的数据项的大小称为锁粒度(Granularity)。在关系数据库中,可以对属性值、属性值集合、元组、关系、索引项、整个索引、整个数据库等逻辑单

33、元进行加锁,也可以对数据页、索引页和块等物理单元进行加锁。 锁粒度与事务并发执行的程度和 DBMS 并发控制的开销密切相关。锁粒度越大,系统中可以被加锁的数据项就越少,事务并发执行度也越低,但同时系统开销也小;相反,当锁粒度比较小时,事务并发度高,但系统开销也较大。所以本题的答案为 D。13.下列关于封锁协议的说法中正确的是_。 A.一级封锁协议可防止 Dirty Read 和 Lost Update B.二级封锁协议可防止 Dirty Read 和 None-Repeatable Read C.三级封锁协议可防止 Dirty Read 和 None-Repeatable Read D.各级封

34、锁协议均可防止 Dirty Read 和 None-Repeatable Read(分数:2.00)A.B.C. D.解析:解析 三级封锁协议可防止 Dirty Read 和 None-Repeatable Read。所以本题的答案为 C。14.设某数据库中有一组客户数据 CS=c1,cm,CS 表示具有 m 个客户的集合。客户数据经过处理后,每个客户 ci 对应一个 n 维向量 Vi=vi1,vim,用于表示客户 ci 的特征。设有函数 sim(Vi,Vj)用于判定 ci 与 cj 之间的相似性。若有算法 A,能根据客户间的相似性,将 CS 划分成 k 个子集合,并使属于同一子集合的客户间的

35、相似性尽可能大,不属于同一子集合的客户间的相似性尽可能小。则算法 A 属于一种_。 A.分类算法 B.聚类算法 C.关联分析算法 D.预测法(分数:2.00)A. B.C.D.解析:解析 分类的目的是学会一个分类函数或分类模型,该模型能把数据库中的数据项映射到给定类别中的某一个。聚类是把一组个体按照相似性归成若干类别,目的是使属于同一类别的个体之间的距离尽可能小,而不同类别上个体间的距离尽可能大。15.下列三级加锁协议的作用的说法中错误的是_。 A.一级加锁协议要求事务 T 在修改数据项 Q 之前必须先对 Q 加 X 锁,直到事务结束才释放该锁 B.二级加锁协议是在一级加锁协议基础上,要求事务

36、 T 在读取数据项 Q 之前必须先对其加 S 锁,读完 Q 后可以立即释放 S 锁 C.三级加锁协议是在一级加锁协议基础上,要求事务 T 在读取数据项 Q 之前必须先对其加 S 锁,读完 Q 后可以立即释放 S 锁 D.对并发操作的不正确调度可能会导致数据库中数据的不一致,三级加锁协议暂时无法解决这一问题(分数:2.00)A.B.C.D. 解析:解析 对并发操作的不正确调度可能会导致数据库中数据的不一致,三级加锁协议分别在不同程度上解决了这一问题。一级加锁协议要求事务 T 在修改数据项 Q 之前必须先对 Q 加 X 锁,直到事务结束才释放该锁。事务结束包括正常结束(Commit)和非正常结束(

37、Rollback)。但事务如果只是读 Q 而不对其进行修改,是不需要对 Q 加锁的。二级加锁协议是在一级加锁协议基础上,要求事务 T 在读取数据项 Q 之前必须先对其加 S 锁,读完 Q 后可以立即释放 S 锁。三级加锁协议则是在一级加锁协议基础上,要求事务 T 在读取数据项 Q 之前必须先对其加 S 锁,但是需要等到事务结束时才释放该 S 锁。所以本题的答案为D。16.两阶段锁协议可以保证并发调度的可串行性。关于两阶段锁协议,下列说法错误的是_。 A.在一个可串行化调度中,并不一定所有事务都必须符合两阶段锁协议 B.如果一个事务遵循两阶段锁协议,则这个事务中的第一个解锁操作必须出现在该事务的

38、最后一个加锁操作之后 C.如果一个事务已经对数据项 A 加了共享锁,则其他事务不能再对 A 加任何锁 D.在解锁阶段,事务可以释放任何数据项上的任何类型的锁(分数:2.00)A.B.C. D.解析:解析 锁的类型有两种:互斥锁(X 锁),若事务 T 获得 Q 上的 X 锁,则 T 可以读取和修改 Q,其他事务不能再对 Q 进行任何操作,直到 T 释放 Q 上的锁。共享锁(S 锁),若事务 T 获得 Q 上的 S 锁,则T 可以对 Q 进行读取操作,但不可以修改。此时,允许其他事务再申请获得 Q 上的 S 锁,与 T 并行读取Q。但在 T 释放 Q 上的 S 锁之前,其他事务不能对 Q 做任何修

39、改。17.下列事务隔离级别中最强的是_。 A.Read Uncommitted B.Read Committed C.Repeatable Read D.Serializable(分数:2.00)A.B.C.D. 解析:解析 隔离级别最强的是 Serializable。所以本题的答案为 D。18.下列关于排他锁和共享锁的说法中错误的是_。 A.只能有一个事务对加锁项加排他锁 B.排他锁也叫独占锁或 X 锁,共享锁也叫读锁或者 S 锁 C.当加了 S 锁以后,其他的事务还可以对加锁项加 X 锁 D.当加了 S 锁以后,其他的事务还可以对加锁项加 S 锁(分数:2.00)A.B.C. D.解析:解

40、析 互斥锁(Exclusive lock)简称 X 锁,又称为排他锁、写锁。若事务 T 得到 Q 上的 X 锁,则T 可以读取和修改 Q,其他任何事务不能再对 Q 进行任何操作,直到 T 释放 Q 上的锁。共享锁(Shared lock)简称 S 锁,又称为读锁。若事务 T 得到 Q 上的 S 锁,则 T 可以读取 Q,但不可以修改 Q。此时,允许其他事务再申请获得 Q 上的 S 锁,与 T 并发地读取 Q。但在 T 释放 Q 上的 S 锁之前,其他事务不能对 Q 做任何修改。当加了 S 锁以后,其他的事务还可以对加锁项加 S 锁,但不可以加 X 锁。所以本题的答案为C。19.下列关于优良数据

41、库标准的说法中错误的是_。 A.一个好的数据库系统应当根据用户需求,提供多种不同粒度的加锁单元供数据库用户选择 B.需要处理大量元组的事务可以选择较小的锁粒度,以关系为加锁单位 C.需要处理多个关系的大量元组的事务可以以数据库为加锁单位 D.对于一个处理少量元组的事务,可以以关系为加锁单位(分数:2.00)A.B.C.D. 解析:解析 一个好的数据库系统应当根据用户需求,提供多种不同粒度的加锁单元供数据库用户选择。锁粒度的选择必须从加锁机制和事务并发度两方面来考虑,对系统开销与事务并发度进行权衡折中。例如,需要处理大量元组的事务可以选择较小的锁粒度,以关系为加锁单位;需要处理多个关系的大量元组

42、的事务可以以数据库为加锁单位;而对于一个处理少量元组的事务,可以以元组为加锁单位,以提高事务执行的并发度。所以本题的答案为 D。20.死锁是数据库系统中可能出现的一种状态。下列有关死锁的说法错误的是_。 A.当事务由于无法获得对需要访问的数据项的控制权而处于等待状态时,称数据库中产生了死锁 B.死锁是由于系统中各事务间存在冲突操作且冲突操作的并发执行顺序不当而产生的 C.死锁预防可以使用一次加锁和顺序加锁两种方法,其中一次加锁法可能会降低系统的并发程度 D.解除死锁通常采用的方法是选择一个或几个造成死锁的事务,撤销这些事务并释放其持有的锁(分数:2.00)A. B.C.D.解析:解析 本题考查

43、的知识点是死锁的概念。数据库系统中事务由于无法获得对需要访问的数据项的控制权而需要等待,当其他事务释放了对所需数据项的控制权时,该事务获得该数据项的控制权将继续执行。只有当这种等待状态一直持续下去,无外力干预不能解开时才称为死锁。即本题的答案为 A。21.若系统中存在四个等待事务 T0、T1、T2、T3,其中 T0 正等待被 T1 锁住的数据项 A1,T1 正等待被 T2锁住的数据项 A2,T2 正等待被 T3 锁住的数据项 A3,T3 正等待被 T0 锁住的数据项 A0。根据上述描述,系统所处的状态是_。 A.活锁 B.死锁 C.封锁 D.正常(分数:2.00)A.B. C.D.解析:解析

44、死锁是指数据库系统中部分或是全部事务由于无法获得对需求访问的数据项的控制权而处于等待状态,并且一直等待下去的一种系统状态。题中需求资源形成了一个循环。22.数据库系统中部分或全部事务由于无法获得对需要访问的数据项的控制权而处于等待状态,并且一直等待下去的一种系统状态的情况称为_。 A.活锁 B.死锁 C.排他锁 D.共享锁(分数:2.00)A.B. C.D.解析:解析 死锁是指数据库系统中部分或全部事务由于无法获得对需要访问的数据项的控制权而处于等待状态,并且一直等待下去的一种系统状态,所以本题的答案为 B。 活锁是指当多个事务请求对同一数据加锁时,总是使某一用户等待的情况。 排他锁是指若事务

45、 T 得到 Q 上的 X 锁,则 T 可以读取和修改Q,其他任何事务不能再对 Q 进行任何操作,直到 T 释放 Q 上的锁。 共享锁是指若事务 T 得到 Q 上的 S 锁,则 T 可以读取 Q,但不可以修改 Q。此时,运行其他事务再申请获得 Q 上的 S 锁,与 T 并发地读取 Q。但在 T 释放 Q 上的 S 锁之前,其他事务不能对 Q 做任何修改。23.以下关于一次加锁法及其缺点叙述错误的是_。 A.该方法要求每个事务在开始执行时不必将需要访问的数据项全部加锁 B.要求事务必须一次性地获得对需要访问的全部数据项的访问权 C.多个数据项会被一个事务长期锁定独占,降低了系统的并发程度 D.将事

46、务执行时可能访问的所有数据项全部加锁,进一步降低了系统的并发程度(分数:2.00)A. B.C.D.解析:解析 一次加锁法,该方法要求每个事务在开始执行时必须将需要访问的数据项全部加锁,否则不允许执行下去,也就是要求事务必须一次性地获得对需要访问的全部数据项的访问权。 一次加锁法的缺点在于: 多个数据项会被一个事务长期锁定独占,导致其他事务无法及时访问这些数据项,降低了系统的并发程度。 由于很难事先精确知道每个事务在执行过程中需要加锁的全部数据项,只能扩大加锁范围,将事务执行时可能访问的所有数据项全部加锁,进一步降低了系统的并发程度。所以本题的答案为 A。24.以下关于顺序加锁法及其缺点叙述错误的是_。 A.该方法对数据库中事务访问的所有数据项规定一个加锁顺序 B.每个事务在执行过程中必

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1