并发执行的三个事务T1、T2和T3,事务T1对数据D1加了共享锁,事务T2、T3分别对数据D2、D3加了排它锁,之后事务T1对数据( );事务T2对数据(请作答此空)。

题目
并发执行的三个事务T1、T2和T3,事务T1对数据D1加了共享锁,事务T2、T3分别对数据D2、D3加了排它锁,之后事务T1对数据( );事务T2对数据(请作答此空)。

A.D1、D3加共享锁都失败
B.D1、D3加共享锁都成功
C.D1加共享锁成功,D3加排它锁失败
D.D1加排它锁成功,D3加共享锁失败
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。

[说明] 设T1,T2,T3为如下所述的三个事务。

T1:A:=A+1。

T2: A:=A*2。

T3:A:= 在屏幕上输出A,并将A置为1;其中A为数据库中的某个数据项。设A的初值为0。

若这三个事务允许并行执行,则请列举出有多少可能的正确结果。


正确答案:有6种可能的正确结果相应的6个串行调度是: T1-T2-T3:A=1 T1-T3-T2:A=2 T2-T1-T3:A=1 T2-T3-T1:A=2 T3-T1-T2:A=4 T3-T2-T1:A=3
有6种可能的正确结果,相应的6个串行调度是: T1-T2-T3:A=1 T1-T3-T2:A=2 T2-T1-T3:A=1 T2-T3-T1:A=2 T3-T1-T2:A=4 T3-T2-T1:A=3

第2题:

事务T1、T2、T3分别对数据D1、D2和D3并发操作如下所示,其中T1与T2间并发操作(14),T2与T3间并发操作(15)。

A.不存在问题

B.将丢失修改

C.不能重复读

D.将读“脏”数据


正确答案:C

第3题:

若事务T1 对数据D1 已加排它锁 ,事务T2 对数据D2 已加共享锁 ,那么事务T2 对数据D1 ( );事务T 1对数据 D2 ( )。

A.加共享锁成功,加排它锁失败 B.加排它锁成功,加共享锁失败 C.加共享锁、排它锁都成功 D.加共享锁、排它锁都失败 A.加共享锁成功,加排它锁失败 B.加排它锁成功,加共享锁失败 C.加共享锁、排它锁都成功 D.加共享锁、排它锁都失败


正确答案:D,A

第4题:

数据库系统必须控制事务的并发执行,保证数据库 (45) 。假设事务T1、T2分别对数据A和B进行的操作如下图所示,事务T1与T2间的并发调度为可串行化调度的是 (46) 。

(45)

A.处于一致的状态

B.不存在冗余的信息

C.操作不出现死循环

D.备份的完整性


正确答案:A

第5题:

事务T1,T2,T3分别对数据D1,D2,D3并发操作如下图所示,其中T1与T2问的并发操作存在的问题是 (1) 。T2与T3问的并发操作存在的问题是 (2) 。

1.


正确答案:不能重复读
不能重复读

第6题:

如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2。接着T2又申请封锁R1。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成()。

A 活锁

B 死锁

C 乐观锁

D 悲观锁


参考答案B

第7题:

若事务T1对数据A已加排它锁,那么其它事务对数据A(56)。

A.加共享锁、加排它锁都失败

B.加排它锁成功,加共享锁失败

C.加共享锁、加排它锁都成功

D.加共享锁成功,加排它锁失败


正确答案:A
解析:本题考查的是数据库事务处理方面的基础知识。并发事务如果对数据读写时不加以控制,会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(Exclusive Locks,X锁)和共享锁(Share Locks,S锁)。排它锁又称为写锁,用于对数据进行写操作时进行锁定。如果事务T对数据A加上X锁后,就只允许事务T对数据A进行读取和修改,其他事务对数据A不能再加任何锁,从而也不能读取和修改数据A,直到事务T释放A上的锁。共享锁又称为读锁,用于对数据进行读操作时进行锁定。如果事务T对数据A加上了S锁后,事务T就只能读数据A但不可以修改。其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。因此正确答案是D。

第8题:

● 若数据 A持有事务 T1 所加的排它锁,那么其它事务对数据 A (44) 。

(44)

A. 加共享锁成功,加排它锁失败

B. 加排它锁成功,加共享锁失败

C. 加共享锁、加排它锁都成功

D. 加共享锁、加排它锁都失败


正确答案:D


第9题:

事务T1、T2和T3对相同的一组数据A、B和C进行操作,对于如下的一个并发调度,其中T1与T2间并发操作(45),T2与T3间并发操作 (46)。

A.正确

B.不能重复读

C.将丢失修改

D.将读“脏”数据


正确答案:B
解析:本题考查数据库并发控制方面的基础知识。所谓并发操作,是指在多用户共享的系统中,许多用户可能同时对同一数据进行操作。并发操作带来的问题是数据的不一致性,主要有三类:丢失更新、不可重复读和读脏数据。其主要原因是事务的并发操作破坏了事务的隔离性。
  事务T1、T2分别对数据A、B和C进行读写操作,在t4时刻,事务T1将A、B和C相加存入X1,X1等于180。在t8时刻,事务T2将C减去B存入B,B等于40。在t13时刻,事务T1将A、B和C相加存入X1,X1等于160,验算结果不对。这种情况称之为“不能重复读”。可见,试题(45)的正确答案是B。
  事务T2、T3分别对数据B和C进行读写操作,在t8时刻,事务T2将C减去B存入B,B等于40。在t14时刻,事务T3将B加50存入B,B等于90。这种情况丢失了事务T2对B的修改,将这种情况称之为“丢失修改”。

第10题:

若事务T1对数据D1加了共享锁,事务T2T3分别对数据D2和数据D3加了排它锁, 则事务( )。

A.T1对数据D2D3加排它锁都成功,T2T3对数据D1加共享锁成功

B.T1对数据D2D3加排它锁都失败,T2T3对数据D1加排它锁成功

C.T1对数据D2D3加共享锁都成功,T2T3对数据D1加共享锁成功

D.T1对数据D2D3加共享锁都失败,T2T3对数据D1加共享锁成功


正确答案:D

更多相关问题