问答题 事务T1、T2和T3按如下调度方式并发地对数据项A、B、C进行访问,假设A、B、C的初值分别为A=20,B=30,C=40。
问答题 在事务T2刚完成提交后,数据库中A)B)C的值各是多少?
【正确答案】
【答案解析】A=30;B=20;C=40[解析] 本题考查的是事务的调度与回滚。T1、T2和T3的整个调度次序是:T1把A加上10,此时A还是初值20,直到T3把A写入,此时A的值为30;而T2只是读了B,B的值未发生变化;之后的Begin-trans(T3),T2对B进行了改写并写入,所以B的值发生变化,但是T1虽然改变了C的值却没有写入,事务在T2的时候就已经提交,所以C的值未变。
问答题 当事务T3结束后,给出该并发调度对应的日志文件,并说明此时A、B、C的值各是多少?
【正确答案】
【答案解析】日志记录:30 20 80
A=30;B=20;C=40