问答题

阅读以下技术说明,根据要求回答下列问题。
[说明]
某省会城市××长途汽车售票系统负责所有本地长途汽车站各班次的汽车票销售,并在该省会城市和全省主要地级市设有多个该长途汽车票销售网点,各售票网点使用相同的售票程序。假设售票程序中用到的伪指令如表所示。
伪指令含义
伪指令 说明
R(A,x) 返回长途汽车班次A当前的剩余汽车票数给变量x
W(A,x) 将当前数据库中长途汽车班次A的剩余汽车票数置为x
假设某售票网点一次售出n张长途汽车班次A的汽车票,则售票程序的伪指令序列为:
R(A,x),W(A,x~n)
根据上述业务及规则,完成下列问题。
若两个售票网点同时销售长途汽车班次A的汽车票,在数据库服务器端可能出现如下的调度。
A:R1(A,x),R2(A,x),W1(A,x-3),W2(A,x-2)
B:R1(A,x),W1(A,x-3),R2(A,x),W2(A,x-2)
C:R1(A,x),R2(A,x),W2(A,x-2),W1(A,x-3)
其中Ri(A,x),Wi(A,x)分别表示第i个销售网点的读写操作,其余类同。
假设当前长途汽车班次A剩余15张汽车票,分析上述3个调度各自执行完后的剩余票数,并指出其中错误的调度,简要分析产生错误的主要原因。

【参考答案】

调度A结果:13
调度B结果:10
调度C结果:12
调度A和C结果错误,因为破坏了事务的......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)