( 3 ) 事务 T 1 、 T 2 和 T 3 按如下调度方式并发地对数据项 A 、 B 、 C 进行访问 , 假设 A 、 B 、C 的初值分别为 A=20 ,B=30 , C=40 。① 在事务 T 2 刚完成提交后,数据库中 A 、 B 、 C 的值各是多少?( 3 分)② 当事务 T 3 结束后,给出该并发调度对应的日志文件,并说明此时 A 、 B 、 C 的值各是多少?( 7 分)

题目

( 3 ) 事务 T 1 、 T 2 和 T 3 按如下调度方式并发地对数据项 A 、 B 、 C 进行访问 , 假设 A 、 B 、C 的初值分别为 A=20 ,B=30 , C=40 。

① 在事务 T 2 刚完成提交后,数据库中 A 、 B 、 C 的值各是多少?( 3 分)

② 当事务 T 3 结束后,给出该并发调度对应的日志文件,并说明此时 A 、 B 、 C 的值各是多少?( 7 分)


相似考题
更多“ ( 3 ) 事务 T 1 、 T 2 和 T 3 按如下调度方式并发地对数据项 A 、 B 、 C 进行访问 , 假设 A 、 B 、C 的初值分别为 A=20 ,B=30 , C=40 。① 在事务 T 2 刚”相关问题
  • 第1题:

    阅读以下说明和关系表,回答问题1~2,将解答填入对应的解答栏内。

    [说明]

    设T1、T2是如下两个事务:

    T1:A=B+2

    T2:B=A*B

    A、B的初值分别是2和2。

    假设T1和T2可以并发执行,且对T1、T2的调度不加限制,它们的并发执行可能产生哪几种结果?


    正确答案:第一种调度:①读A=2B=2: (T1) ②A=B+2=4        (T1) ③写回A=4B=2 (T1) ④读A=4B=2 (T2) ⑤B=A*B=8 (T2) ⑥写回A=4B=8 (T2) 结果:A=4B=8 第二种调度:①读A=2B=2 (T2) ②B=A*B=4 (T2) ③写回A=2B=4 (T2) ④读A=2B=4 (T1) ⑤A=B+2=4 (T1) ⑥写回A=4B=4 (T2) 结果:A=4B=4 第三种调度:①读A=2B=2 (T1) ②读A=2B=2 (T2) ③A=B+2=4 (T2) ④B=A*B=4 (T2) ⑤写回A=4B=2 (T1) ⑥写回A=2B=4 (T2) 结果:A=2B=4 第四种调度:①读A=2B=2 (T2) ②读A=2B=2 (T1) ③B=A*B=4 (T2) ④A=B+2=4 (T1) ⑤写回A=2B=4 (T2) ⑥写回A=4B=2 (T1) 结果:A=4B=2 第五种调度:①读A=2B=2 (T1) ②A=B+2=4 (T1) ③读A=2B=2 (T2) ④B=A*B=4 (T2) ⑤写回A=4B=2 (T1) ⑥写回A=2B=4 (T2) 结果:A=2B=4 第六种调度:①读A=2B=2 (T2) ②B=A*B=4 (T2) ③读A=2B=2 (T1) ④A=B+2=4 (T1) ⑤写回A=2B=4 (T2) ⑥写回A=4B=2 (T1) 结果:A=4B=2
    第一种调度:①读A=2,B=2: (T1) ②A=B+2=4        (T1) ③写回A=4,B=2 (T1) ④读A=4,B=2 (T2) ⑤B=A*B=8 (T2) ⑥写回A=4,B=8 (T2) 结果:A=4,B=8 第二种调度:①读A=2,B=2 (T2) ②B=A*B=4 (T2) ③写回A=2,B=4 (T2) ④读A=2,B=4 (T1) ⑤A=B+2=4 (T1) ⑥写回A=4,B=4 (T2) 结果:A=4,B=4 第三种调度:①读A=2,B=2 (T1) ②读A=2,B=2 (T2) ③A=B+2=4 (T2) ④B=A*B=4 (T2) ⑤写回A=4,B=2 (T1) ⑥写回A=2,B=4 (T2) 结果:A=2,B=4 第四种调度:①读A=2,B=2 (T2) ②读A=2,B=2 (T1) ③B=A*B=4 (T2) ④A=B+2=4 (T1) ⑤写回A=2,B=4 (T2) ⑥写回A=4,B=2 (T1) 结果:A=4,B=2 第五种调度:①读A=2,B=2 (T1) ②A=B+2=4 (T1) ③读A=2,B=2 (T2) ④B=A*B=4 (T2) ⑤写回A=4,B=2 (T1) ⑥写回A=2,B=4 (T2) 结果:A=2,B=4 第六种调度:①读A=2,B=2 (T2) ②B=A*B=4 (T2) ③读A=2,B=2 (T1) ④A=B+2=4 (T1) ⑤写回A=2,B=4 (T2) ⑥写回A=4,B=2 (T1) 结果:A=4,B=2

  • 第2题:

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

    (45)

    A. 正确

    B. 不能重复读

    C. 将丢失修改

    D. 将读“脏”数据

    (46)

    A. 正确

    B. 不能重复读

    C. 将丢失修改

    D. 将读“脏”数据


    正确答案:B,C

  • 第3题:

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

  • 第4题:

    数据库中数据项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,调度二执行过程为:

  • 第5题:

    【说明】

    现有一个事务集{T1,T2,T3,T4),其中这四个事务在运行过程中需要读写X、Y和Z。设Ti对X的读操作记作TiR(X),Ti对X的写操作记作Tiw(X)。

    事务对XYZ的访问情况如下:

    T1: T1R(X)

    T2: T2R(Y),T2w(X)

    T3: T3w(Y),T3w(X),T3w(Z)

    T4: T4R(Z),T4w(X)

    试述事务并发高度的正确性准则及其内容。


    正确答案:事务的可串行化调度。多个事务的并发执行是正确的当且仅当其结果与按某一次序串行执行它们时的结果相同。
    事务的可串行化调度。多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同。 解析:串行调度:事务的依次执行称为串行调度。
    并发调度:利用分时的方法,同时处理多个事务,称为事务的并发调度。
    可串行化调度:对于事务集(T1>,T2>,...,T),如果一个并发调度的结果与一个串行调度等价,则称此调度是可串行化调度。它是并发调度正确性的准则。
    不可串行化调度:对于某事务集的一个并发调度结果,如果与任一串行调度均不等价,则该调度是不可串行化调度。
    调度信赖图的箭头所指事务必须在箭尾事务执行结束后才可执行。如调度序列中的 T3w(X)是T3事务对数据X加写锁,而之前有T1事务对X加了读锁,所以T3事务得等到T1事务释放了X上的读锁之后才能加写锁,即T3事务依赖于T1事务的执行结束。
    根据事务依赖有向图,如果有一条包含所有事务结点的简单路径,则该路径上的结点序列即为并发调度等价的串行调度序列。从该图可得路径:T1->T3->T2->T4,所以,题目给定的调度是正确的。
    事务的提交是随机的,事务程序使用加锁可以实现并发事务的隔离性,使用两段锁协议可以保证事务调度的可串行化。