设有两个事务T1、T2,其并发调度如下表所示。下列说法正确的是( )。A.该调度不存在问题B.该调度丢失修改C.该调度不能重复读D.该调度读“脏”数据

题目

设有两个事务T1、T2,其并发调度如下表所示。

下列说法正确的是( )。

A.该调度不存在问题

B.该调度丢失修改

C.该调度不能重复读

D.该调度读“脏”数据


相似考题
更多“ 设有两个事务T1、T2,其并发调度如下表所示。下列说法正确的是( )。A.该调度不存在问题B.该调度丢失修改C.该调度不能重复读D.该调度读“脏”数据 ”相关问题
  • 第1题:

    设有两个事务T1,T2,其并发操作如下表所示,下面评价正确的是______。

    A.该操作不存在问题

    B.该操作丢失修改

    C.该操作不能重复读

    D.读操作读脏数据


    正确答案:B
    解析:事务T1写回的A的值为5,随后事务T2写回的A值为2, T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失。

  • 第2题:

    设两个事务T1,T2,其并发操作如下表所示,下列评价正确的是______。

    A.该操作不存在问题

    B.该操作丢失修改

    C.该操作不能重复读

    D.该操作读脏数据


    正确答案:D
    解析:事务T1读出数据A并修改,事务T2读取同一数据,随后T1由于某种原因撤销,执行回滚,这时T1已经修改过的数据恢复原值100,T2读到的数据是200与数据库中的数据不一致,称为读脏数据。

  • 第3题:

    设有两个事务T1和T2,其并发操作序列如下表所示,则下面说法中正确的是

    A.该操作序列不存在问题

    B.该操作序列丢失修改

    C.该操作序列不能重复读

    D.该操作序列读出“脏”数据


    正确答案:B
    解析:若事务T1单独执行,结果为A=110;若事务T2单独执行,结果为A=90。按并发操作序列执行后事务T1对A所作的修改将被事务T2恢复,丢失修改。因此本题的答案为B。

  • 第4题:

    设有两个事务T1和T2,其并发操作序列如下表所示。则下面说法中正确的是步骤 T1 T2

    1 读A=100

    2 读A=100

    3 A←A+10写回

    4 A←A—10写回

    A.该操作序列不存在问题

    B.该操作序列丢失修改

    C.该操作序列不能重复读

    D.该操作序列读出“脏”数据


    正确答案:B
    解析:本题考查并发控制的基本知识,参见《数据库技术》一书4.5.2节“并发控制”。由于T2在步骤4写回A导致T1在步骤3对A所作的修改丢失,故本题正确答案为B。

  • 第5题:

    设有两个事务T1和T2,其并发操作序列如下表所示。下列说法中正确的是步骤 T1 T2

    1 读A=100

    2 A=A*2写回

    3

    4 ROLLBACK 读A=200

    A.该操作序列不存在问题

    B.该操作序列丢失修改

    C.该操作序列不能重复读

    D.该操作序列读出“脏”数据


    正确答案:D
    解析:本题考查并发操作引起的数据不一致性的基本概念。由于一个事务在执行期间,另一个事务的修改操作使得前者的两次读操作返回不同值,因而引起不可重复读的问题。故正确答案为D。

  • 第6题:

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

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

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

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

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


    正确答案:C,B

  • 第7题:

    设有两个事务T1和T2,其并发操作序列如下表所示。下列说法中正确的是( )。 T1 T2

    读A=100

    A=A*2写回

    读A=200

    ROLLBACK

    A.该操作序列不存在问题

    B.该操作序列丢失修改

    C.该操作序列不能重复读

    D.该操作序列读出脏数据


    正确答案:D
    解析:事务的并发执行可能出现3个主要问题;①丢失更新。即两个事务对同一数据进行读取并修改,先做的那个修改动作被后面的修改掩盖了,又称为丢失修改。②对未提交更新的依赖。即事务T1读取了一个事务T2正在更新但尚未提交的数据,这个数据是一个数据库中并不存在的值。也就是俗称的读“脏”数据。③不一致的分析。假设事务T1要对账户求和,先读了账户1余额,此时事务T2将钱从账户1转到账户2,事务T2提交后事务T1继续执行,读取账户2的余额加到总数中,显然转走的钱被算了两次。这就是不一致的分析,又称不可重复读。在本题中,T2在T1更新数据的过程中读取了数据,但之后T1执行了回滚操作,因此T2读到了脏数据。

  • 第8题:

    设有两个事务T1、T2,其并发调度如下图所示。

    下列说法正确的是

    A.该调度不存在问题

    B.该调度丢失修改

    C.该调度不能重复读

    D.该调度读“脏”数据


    正确答案:B
    解析:事务T1对变量A进行减10的操作,然后读取,而接着事务T2又对变量A进行减20的操作,再接着读取,导致了事务T1丢失修改。

  • 第9题:

    设有两个事务T1、T2,对数据A的并发操作如下图所示。下列说法中正确的是

    A.该操作不存在问题

    B.该操作丢失修改

    C.该操作不能重复读

    D.该操作读“脏”数据


    正确答案:C
    解析:本题考查并发事务的相关知识。当多个事务并发执行时,即使每个事务都单独地正确执行,数据库的—致性也可能被破坏。题目中的两个事务T1和T2在系统中并发地执行,T1读取了数据项A,然后T2读取了数据项A,它们读到的都是相同的值。随后事务T2对数据项A进行更新,在刚才读取的基础上对A的值加10。然后事务T1再次读取数据项A时,A值的内容已经更改。由此可见,选项C正确,该操作不能重复读,因为数据项A改变。正确答案为选项C。

  • 第10题:

    设有两个事务T1、T2,对数据A的并发操作如下图所示。下列说法中正确的是( )。

    A)该操作不存在问题

    B)该操作丢失修改

    C)该操作读“脏”数据

    D)该操作不能重复读


    正确答案:D
    因为T1未提交时,T2修改了A,T1两次读出的结果不一致,故该操作不能重复读。

  • 第11题:

    下面的并行调度会出现的错误是( )。时间 事务T1 事务T2 数据库中数据t0 READ(A) At1 READ(A)t2 A=A+2t3 WRITE(A)t4 COMMITt5 READ(A)

    A. 读“脏”数据

    B.丢失修改

    C. 不可重复读

    D.幻影读


    正确答案:C

  • 第12题:

    如右图所示的并发调度,假设事务T1、T2执行前数据项X、Y的初值为X=100,Y=200。该调度执行完成后,X、Y的值为( );此类不一致性称为(请作答此空)。

    A.丢失修改
    B.读脏数据
    C.不可重复读
    D.破坏事务原子性

    答案:A
    解析:
    本题考查并发调度知识。事务并发执行能够充分利用系统资源,提高系统吞吐量。并发事务的执行,可能会因为冲突而产生数据的不一致。根据调度语句计算运行结果,是理解并发事务执行过程和对不一致性认识所必须的。根据上述调度,事T1的前三句执行后,A的值70写入缓冲区中(可理解为写入了数据库中)X的数据位;随后T2的两句将X、Y的值读入变量A(=70)、B(=200)中;之后T1将B的值230写入数据库中Y的数据位;再之后T2将B的值(=270)写入数据库中Y的数据位。上述调度执行后,X=70,Y=270。多个事务并发执行,正确的必要条件是其执行结果与某一种串行执行的结果相同。上述两个事务的串行执行过程为T1执行完后执行T2或T2执行完后执行T1,即T1→T2:X=70,Y=300和T2→T1:X=70,Y=330。上述并发调度的结果与任一串行结果都不同,故并发执行产生了数据的不一致。该调度中事务T1对Y的修改被T2所覆盖,未能体现T1对Y曾进行过修改,即T1对Y的修改丢失了,故该不一致性属于丢失修改。

  • 第13题:

    设有两个事务T1和T2,其并发操作序列如下表所示。则下面说法中正确的是________。

    A.该操作序列不存在问题

    B.该操作序列丢失更新

    C.该操作序列不能重复读

    D.该操作序列读出“脏”数据


    正确答案:B
    解析:由表可知,T1读取了数据项A,然后T2也读取了数据项A,它们读到的值都为100。随后事务T1对数据项A进行更新,在刚才读的基础上A的值加10,然后事务T2对数据项A进行更新,在刚才写的基础上A的值减 10。当事务T2对数据项A进行更新时,事务T1所做的更新丢失了,被事务T2所做的更新覆盖了。

  • 第14题:

    设有两个事务T1和T2,其并发操作如下表所示,则下列说法中正确的是

    A.该操作序列不存在问题

    B.该操作序列丢失修改

    C.该操作序列不能重复读

    D.该操作序列读出“脏”数据


    正确答案:B
    解析:在事务并发执行中可能出现3个主要问题:丢失更新;对未提交更新的依赖;不一致的分析。在本题中会遇到丢失更新的问题。

  • 第15题:

    数据库中数据项A和数据项B的当前值分别为1 000和2 000,T1和T2为两个事务,调度一和调度二是事务T1和T2的两个调度。

    下列说法正确的是

    A.调度一是串行调度,调度二是并发调度,它们等价

    B.调度一和调度二都是并发调度,它们等价

    C.调度二执行后,数据项A和B的值分别为950和2100

    D.调度一执行后,数据项A和B的值分别为950和2050


    正确答案:C
    解析:调度一是串行调度,调度二是并发调度。调度一的结果易知为A=855,B=2145,调度二执行过程为:

  • 第16题:

    设有两个事务T1和T2,它们的并发操作如下所示。对该并发操作,评价正确的是( )

    A该操作丢失了修改

    B该操作不存在问题

    C该操作读“脏”数据

    D该操作不能重复读


    正确答案:A

  • 第17题:

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

    (45)

    A. 正确

    B. 不能重复读

    C. 将丢失修改

    D. 将读“脏”数据

    (46)

    A. 正确

    B. 不能重复读

    C. 将丢失修改

    D. 将读“脏”数据


    正确答案:B,C

  • 第18题:

    设有两个事务T1和T2,其并发操作序列如下表所示。则下表说法中正确的是( )。

    A)读操作序列不存在问题

    B)该操作序列丢失更新

    C)该操作序列不能重复读

    D)该操作序列读出“脏”数据


    正确答案:B
    事务T1对A做的修改是A←A+10,操作结果为A=110,但是由于并发执行,事务T2也执行操作A←A-10,操作结果为A=100,此时,该T1操作序列所做的修改被事务T2恢复,丢失修改。

  • 第19题:

    设有两个事务T1、T2,其并发操作如图1所示,下面评价正确的是(42)。

    A.该操作不存在问题

    B.该操作丢失修改

    C.修改该操作不能重复读

    D.该操作读“脏”数据


    正确答案:C
    解析:由于对数据库的并发操作,可能带来数据的不一致性包括二类,丢失修改,不可重复读和读“脏”数据。其中丢失修改是指两个事务读入同一数据并修改,后提交的结果破坏了先提交的结果,导致先提交的事务修改被丢失;不能重复读是指先提交的事务读取数据后,后提交的事务执行更新操作,使得前面的事务不能读取前一次的结果;读“脏”数据是指某事务修改某一数据,并将它写回磁盘,后来的事务读取同一数据后,前一事务由于某种原因被撤销,这时前面已经修改的数据已经恢复原值,后读到的数据就与数据库的数据不一致。按照概念分析,该操作属于不可重复读。

  • 第20题:

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

  • 第21题:

    设有T1,T2 两个事务,其并发操作如下图所示,下面评价中正确的是(17)。

    A.该操作不存在问题

    B.该操作丢失修改

    C.该操作不能重复读

    D.该操作读“脏数据”


    正确答案:C
    解析:由于T1在第③步的时候使用的A值仍为100,实际上A值已经被T2修改为200,所以导致了该操作不能重复读的问题。

  • 第22题:

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

  • 第23题:

    下表中两个事务的调度带来的问题是( )

    A.丢失修改
    B.读脏数据
    C.没有问题
    D.不可重复读

    答案:D
    解析:
    小编正在快马加鞭来的路上(详见视频讲解)