问答题
[说明]
现有一个事务集{T1,T2,T3,T4},其中这4个事务在运行过程中需要读写表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)
问答题
[问题1]
试述事务并发调度的正确性准则及其内容。
【正确答案】
【答案解析】事务的可串行化调度。多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同。
问答题
[问题2]
请判断如下调度是否正确。
T3W(Y),TIR(X),T2R(Y),T3W(X),T2W(X),T3W(Z),T4R(Z),T4W(X)
给出调度等价的一个串行调度序列。
【正确答案】
【答案解析】此调度是一个可串行的调度,所以是一个正确的调度。T1,T3,T2,T4
问答题
[问题3]
采用何种加锁策略能够保证事务调度的正确性,简述其内容。
【正确答案】
【答案解析】两段锁协议(或2PL)。把事务分为两个阶段,第一个阶段是获得封锁,但不能解锁;第二个阶段是解除封锁,不能申请新的锁。