问题 问答题


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

时间T1T2T3

t1

t2

t3

t4

t5

t6

t7

t8

t9

t10

t11

t12

t13

t14

t15

读D1=50

读D2=100

读D3=300

x1=D1+D2+D3

读D1=50

读D2=200

读D3=300

x1=D1+D2+D3

验证不对

读D2=100

读D3=300

D2=D3-D2

写D2

读D2=100

D2=D2+50

写D2

答案

参考答案:[2]丢失修改

解析: 本题考查数据库并发控制方面的基础知识应用。所谓的并发操作,是指在多用户共享的系统中,许多用户可能同时对同一数据进行操作。并发操作带来的问题是数据的不一致性,主要有丢失更新、不可重复读和读脏数据3类,丢失更新指事务T1与事务T2从数据库中读入同一数据,并修改,事务T2的提交结果破坏了事务T1提交的结果,导致事务T1的修改被丢失。不可重复读是指事务T1读取数据后,事务T2执行更新操作,使事务T1无法再现前一次读取结果。读脏数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,事务T1由于某种原因被撤销,这时事务T1已修改过的数据恢复原值,事务T2读到的数据就与数据库中的数据不一致,是不正确的数据,又称为脏数据。

单项选择题
单项选择题