问题 问答题

事务T1、T2和T3按如下调度方式并发地对数据项X、Y、Z进行访问,假设X、Y、Z的初值分别为X=200,Y=300,Z=500。
①在事务T2刚完成提交后,数据中X、Y、Z的值各是多少
②当事务T3结束后,X、Y、Z的值各是多少

T1 T2 T3
begin-transaction T1
read(X)
X:=X-100
write(X)
rollback
begin-transaction T2
read(Y)
Y:Y+100
write(Y)
commit
begin-transaction T3
read(Z)
Z:Z*2
write(Z)
commit

答案

参考答案:①在事务T2刚完成提交后,T1已回滚,所以X的值不变;T2中Y被修改,由于T3还未提交,所以Z的值未被修改。综上所述,数据库中X、Y、Z的值分别为200、400、500。
②在事务T3结束后,T1已回滚,所以X的值不变;T2中Y被修改,T3中Z被修改。综上所述,数据库中X、Y、Z的值分别为200、400、1000。

多项选择题
多项选择题