试题详情
- 简答题试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。
-
证明:首先以两个并发事务Tl和T2为例,存在多个并发事务的情形可以类推。根据可串行化定义可知,事务不可串行化只可能发生在下列两种情况:
(l)事务Tl写某个数据对象A,T2读或写A;
(2)事务Tl读或写某个数据对象A,T2写A。
下面称A为潜在冲突对象。
设Tl和T2访问的潜在冲突的公共对象为{A1,A2…,An}。不失一般性,假设这组潜在冲突对象中X=(A1,A2,…,Ai}均符合情况1。Y={Ai+1,…,An}符合所情况(2)。
VX∈x,Tl需要XlockX①
T2需要Slockx或Xlockx②
1)如果操作①先执行,则Tl获得锁,T2等待
由于遵守两段锁协议,Tl在成功获得x和Y中全部对象及非潜在冲突对象的锁后,才会释放锁。
这时如果存在w∈x或Y,T2已获得w的锁,则出现死锁;否则,Tl在对x、Y中对象全部处理完毕后,T2才能执行。这相当于按Tl、T2的顺序串行执行,根据可串行化定义,Tl和几的调度是可串行化的。
2)操作②先执行的情况与(l)对称因此,若并发事务遵守两段锁协议,在不发生死锁的情况下,对这些事务的并发调度一定是可串行化的。证毕。 关注下方微信公众号,在线模考后查看
热门试题
- 在数据库的三级模式中,描述数据库中全部数
- 某科技管理部门欲开发一个科研项目申报与评
- 一般不将扩展DOS分区设为活动分区。
- 结构数据模型
- 试述DBMS在用户访问数据库过程中所起的
- 在access数据库中包括那些对象()。
- 下列不属于并发操作带来的问题是()
- FDT在FAT12/16中采用()方式,
- 字符运算符是()。
- 有关作业管理的下述描述中,()是正确的。
- 在VB中,下列表达式中,正确的Visua
- 某企业需要在一个SQL Server 2
- 在Transact-SQL语法中,SEL
- 在()结构中,客户机有查询处理能力,没有
- 利用GHOST软件可以对WINDOWS&
- 实体模型(信息模型)
- 在SQL语言中,投影运算对应的子句是()
- 两个串相等必须有()。
- 企业管理器中只能查看连接的SQL Ser
- 设有关系R和S,与R—S等价