假设系统中只有事务T1和T2,两个事务都要对数据D1和D2进行操作。若T1对D1已加排它锁,T1对D2已加共享锁;那么T2对D1(请作答此空),那么T2对D2( )。A.加共享锁成功,加排它锁失败 B.加共享锁、加排它锁都失败 C.加共享锁、加排它锁都成功 D.加排它锁成功,加共享锁失败

题目
假设系统中只有事务T1和T2,两个事务都要对数据D1和D2进行操作。若T1对D1已加排它锁,T1对D2已加共享锁;那么T2对D1(请作答此空),那么T2对D2( )。

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

相似考题
更多“假设系统中只有事务T1和T2,两个事务都要对数据D1和D2进行操作。若T1对D1已加排它锁,T1对D2已加共享锁;那么T2对D1(请作答此空),那么T2对D2( )。”相关问题
  • 第1题:

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

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

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

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

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


    正确答案:D
    解析:本题考查数据库事务处理方面的基础知识。并发事务如果对数据读写时不加以控制,会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(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锁修改。因此,试题(44)的正确答案是D。

  • 第2题:

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

    A 活锁

    B 死锁

    C 乐观锁

    D 悲观锁


    参考答案B

  • 第3题:

    若事务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。

  • 第4题:

    有函数模板声明和一些变量定义如下:

    template<class T1,class T2,class T3>T1 sum(T2,T3);

    double d1,d2;

    则下列调用中,错误的是

    A.sum<double,double,double>(d1,d2);

    B.sum<double,double>(d1,d2);

    C.sum<double>(d1,d2);

    D.sum(d1,d2);


    正确答案:D

  • 第5题:

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

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

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

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

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


    正确答案:D
    解析:详细分析见试题3。

  • 第6题:

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

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


    正确答案:D,C

  • 第7题:

    假设系统中有事务T1和T2,数据 D1和D2 。若T1对D1已加排它锁,对D2己加共享锁:那么T2对 D1( ),T2对D2( )。

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


    正确答案:B,A

  • 第8题:

    假设系统中有事务T1和T2,数据D1和D2。若T1对D1已加排它锁,对D2已加共享锁;那么T2对D1( ),T2对D2(请作答此空)。

    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锁修改。

  • 第9题:

    若事务T1对数据D1已加排它锁,事务T2对数据D2已加共享锁,那么事务T2对数据D1( );事务T1对数据D2(请作答此空)。

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

    答案:A
    解析:
    对于丢失更新问题,通常采用封锁(Locking)技术加以解决。锁(Lock)的作用是使并发事务对数据库中数据项的访问能够同步。封锁技术中主要有两种封锁:排它锁封锁(X锁)和共享型封锁(S锁)。排它锁封锁(Exclusive Lock)简称为x锁(也称为写锁)。如果事务T对某个数据R实现了X锁,那么在T对数据R解除封锁之前,不允许其他事务T再对该数据加任何类型的锁。共享型封锁(Shared Lock)简称为S锁(也称为读锁)。如果事务T对某数据加上S锁后,仍允许其他事务再对该数据加s锁,但在对该数据的所有S锁都解除之前决不允许任何事务对该数据加X锁。依题意,若事务T1对数据D1已加排它锁,事务T2对数据D2已加共享锁,那么事务T2对数据D1加共享锁、排它锁都失败;事务T1对数据D2加共享锁成功,加排它锁失败。

  • 第10题:

    并发执行的三个事务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锁修改。

  • 第11题:

    若事务T1对数据 D1 加了共享锁,事务 T2 、T3分别对数据D2 、D3 加了排它锁,则事务T1对数据( 51 ) ;事务T2对数据( 52 )。

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

    答案:C
    解析:
    若事务T1对数据D1加上共享锁,则其他事务只能再对D1加共享锁,而不能加排他锁。
    若事务T2、T3对数据D2、D3加上排他锁,其他事务不能再对D2、D3加任何锁。

  • 第12题:

    设事务T1和T2,对数据库中的数据A进行操作,下列情况中不会发生冲突的是()。

    • A、T1正在写A、T2要读A
    • B、T1正在写A、T2也要写A
    • C、T1正在读A、T2要写A
    • D、T1正在读A、T2要读A

    正确答案:D

  • 第13题:

    阅读下列说明,回答问题。

    【说明】

    现有事务T1,T2、L3它们对数值型数据A执行的操作分别如下:

    T1;将A加1。

    T2:将A加倍。

    T3:输出A的值,并将A置为1。

    假设T1、T2、T3可以并发执行。若A的初值为0,那么存在多少种可能的正确结果?


    正确答案:根据排列组合原理三个事务一共有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种排列结果: 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

  • 第14题:

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

    A.不存在问题

    B.将丢失修改

    C.不能重复读

    D.将读“脏”数据


    正确答案:C

  • 第15题:

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

    1.


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

  • 第16题:

    若系统中存在一个等待事务集{T0,T1,T2,…Tn},其中T0正等待被T1锁住的数据项D1,T1正等待被T2锁住的数据项D2,……,Tn-1正等待被Tn锁住的数据项Dn,Tn正等待被T0锁住的数据项D0,则系统处于______的工作状态。

    A.封锁

    B.死锁

    C.循环

    D.并发处理

    A.

    B.

    C.

    D.


    正确答案:B

  • 第17题:

    若事务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

  • 第18题:

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

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


    正确答案:D,C

  • 第19题:

    试题五(共15分)

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【说明】

    假设有两项业务对应的事务T1、T2与存款关系有关:

    (1)转帐业务:T1(A,B,50),从帐户A向帐户B转50元;

    (2)计息业务:T2,对当前所有帐户的余额计算利息,余额为X*1.01。

    针对上述业务流程,回答下列问题:

    【问题1】(3分)

    假设当前帐户A余额为100元,帐户B余额为200元。有两个事务分别为T1 (A,B,50),T2,一种可能的串行执行为:

    T1(A, B, 50) ->T2结果:A= 50.5 B=252.5 A+B=303

    请给出其它的串行执行次序和结果。

    【问题2】(8分)

    若上述两个事务的一个并发调度结果如下:

    (1)上述调度是否正确,为什么?(3分)

    (2)引入共享锁指令Slock()、独占锁指令Xlock()和解锁指令Unlock(),使上述调度满足两段锁协议,并要求先响应T1的请求。请给出一个可能的并发调度结果。(5分)

    【问题3】(4分)

    若将计息业务T2改为对单个帐户的余额计算利息,即T2 (A)余额为A*1.01,请给出串行调度T1 (A,B,50) ->T2 (A) ->T2 (B)和串行调度T2 (A) ->T1 (A,B,50) ->T2 (B)的执行结果。

    若将计息业务设计为对单个帐户的余额计算利息,这种方案是否正确,为什么?


    正确答案:
    【问题1】(3分)
    T2->T1 (A,B,50) 结果:A= 51 B=252 A+B = 303
    【问题2】(8分)
    (1)调度不正确
    结果为:A= 50.5 B=252
    原因: 与任何一个串行结果都不同。
    (2)满足两段锁协议的调度:

    【问题3】(4分)
    三个事务的串行:
    (1) T1 (A,B,50) ->T2 (A) ->T2 (B)结果:A= 50.5 B=252.5
    (2) T2 (A) ->T1 (A,B,50) ->T2 (B)结果:A=51 B=252.5
    不正确。计息业务设计为对单个帐户的余额计算利息,无法实现对所有帐户的锁定和统一计息,其间的转账会产生数据错误,会造成银行或客户的损失。

  • 第20题:

    假设事物T1对数据D1加了共享锁,事物T2对数据D2加了排它锁,那么()

    A.事物T2对数据D1加排它锁成功
    B.事物T1对数据D2加共享锁成功,加排它锁失败
    C.事物T1对数据D2加排它锁和共享锁都成功
    D.事物T1对数据D2加排它锁和共享锁失败

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

  • 第21题:

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

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

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

  • 第22题:

    若事务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
    解析:
    共享锁(S锁):又称读锁,若事物T对数据对象A加上S锁,其他事物只能再对A加S锁,而不能加X锁,而不能加X锁,直到T释放A上的S锁排他锁(X锁):又称写锁。若事物T对数据对象A加上X锁,其他事物不能再对A加任何锁,直到T释放A上的锁

  • 第23题:

    一定曝光量所需的曝光时间T与射源至底片的距离D的关系应为()。

    • A、 t2/t1=D12/D22
    • B、 t1/t2=D12/D22
    • C、 t2/t1=D1/D2
    • D、 t1/t2=D1/D2

    正确答案:B