更多“ 事务T1,T2,T3分别对数据D1,D2,D3并发操作如下图所示,其中T1与T2问的并发操作存在的问题是 (1) 。T2与T3问的并发操作存在的问题是 (2) 。1. ”相关问题
  • 第1题:

    ● 操作序列 T1、T2、T3 对数据 A、B、C 并发操作如下所示,T1 与T2 间并发操作 (50) , T2 与T3 间并发操作 (51) 。

    (50)A. 不存在问题 B. 将丢失修改

    C. 不能重复读 D. 将读 “脏”数据

    (51)A. 不存在问题 B. 将丢失修改

    C. 不能重复读 D. 将读 “脏”数据


    正确答案:C,B

  • 第2题:

    事务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的修改,将这种情况称之为“丢失修改”。

  • 第3题:

    假设事务T1和T2的并发操作如下表,T1与T2间并发操作()问题。 T1 T2 ①R(A)=36 ② R(A)=36 ③A←A+1 W(A)=37 ④ A←A+1 W(A)=37

    A.存在T1的修改被丢失的

    B.不存在任何

    C.存在T1不可重复读的

    D.存在T2读“脏”数据


    存在 T2 读了“脏数据”的

  • 第4题:

    ● 事务 T1、T2、T3 分别对数据 1 D 、 2 D 和 3 D 并发操作如下所示,其中 T1 与 T2间并发操作 (45) ,T2与T3间并发操作 (46)

    (45)

    A. 不存在问题

    B. 将丢失修改

    C. 不能重复读

    D. 将读“脏”数据

    (46)

    A. 不存在问题

    B. 将丢失修改

    C. 不能重复读

    D. 将读“脏”数据


    正确答案:C,B

  • 第5题:

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

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

    答案:C
    解析:
    并发事务如果对数据读写时不加以控制,会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(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锁修改。