数据库原理:第十一章作业

Posted 柳小茶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库原理:第十一章作业相关的知识,希望对你有一定的参考价值。

1.设T1、T2、T3,是如下的三个事务,设A的初值为0。
T1:A:=A+2;
T2:A:=A*2:
T3:A:=A**2; (即 A←A^2)
(1)若这三个事务允许并发执行,则有多少种可能的正确结果?请一一列举出来。

设A初始为 A=0;

当并行的结果和某一个串行的结果一致时,证明并行结果正确。

则有以下几种情况

1.T1T2T3 ------A=16

2.T1T3T2 ------A=8

3.T2T1T3 ------A=4

4.T2T3T1 ------A=2

5.T3T1T2 ------A=4

6.T3T2T1 ------A=2

即可能的结果有:16 8 4 2

(2)请给出一个可串行化的调度,并给出执行结果。

(3)请给出一个非串行化的调度,并给出执行结果。


(4)若这三个事务都遵守两段锁协议,请给出一一个不产生死锁的可串行化调度。


(5)若这三个事务都遵守两段锁协议。请给出一个产生死锁的调度.

2.今有三个事务的一个调度r3(B)r1(A)w3(B)r2(B)r2(A)w2(B)r1(B)w1(A),该调度是冲突可串行化的调度吗?为什么?

3.考虑T1和T2两个事务。
T1: R(A); R(B);B=A+B; W(B) T2:R(B); R(A);A=A+B; W(A)
(1)改写T1和T2,增加加锁操作和解锁操作, 并要求遵循两阶段封锁协议。
(2)说明T1和T2的执行是否会引起死锁,给出T1和T2的一个调度并说明之。

以上是关于数据库原理:第十一章作业的主要内容,如果未能解决你的问题,请参考以下文章

数据库原理与应用(SQL Server)笔记 第十一章 游标

第十一章 Redis分布式主从搭建

20169217 《Linux内核原理与分析》 第十一周作业

2017-2018-1 20179202《Linux内核原理与分析》第十一周作业

20179209《Linux内核原理与分析》第十一周作业

2017-2018-2 20179205《网络攻防技术与实践》第十一周作业 SQL注入攻击与实践