数据库关于候选键、范式证明、并发控制、事务的证明题有什么 谢谢!

数据库关于候选键、范式证明、并发控制、事务的证明题有什么 谢谢!,第1张

试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。

证明:首先以两个并发事务

Tl

和T2为例,存在多个并发事务的情形可以类推。根据可串行化定义可知,事务不可串行化只可能发生在下列两种情况:

(

l

)事务

Tl

写某个数据对象

A

,T2读或写

A

(

2

)事务

Tl

读或写某个数据对象

A

,T2写

A

下面称

A

为潜在冲突对象。

Tl

和T2访问的潜在冲突的公共对象为{A1,A2

An

}。不失一般性,假设这组潜在冲突对象中

X

=(A

1

,

A2

Ai

}均符合情况

1

Y

={A

i

+

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

)对称因此,若并发事务遵守两段锁协议,在不发生死锁的情况下,对这些事务的并发调度一定是可串行化的

1.{1}A→B P

2.{2}CD→A P

3.{3}B→D P

4.{4}CD→E P

5.{5}CE→A P/∴AC→BE

6.{6}AC P

7.{6}A∧-6

8.{16}B →-1.7

9.{136}D →-3.8

10{6}C ∧-6

11{136}CD ∧+9.10

12{1246}E→-4.11

13{1246}BE ∧+8.12

14{124}AC→BE→+6.13

证毕

蕴涵(“→”)是一种命题运算的二元算子,其前域是后域的充分条件。充分条件句就是蕴涵句。p是q的充分条件,意味着有p必定有q;但,无p未必无q。这样p就是q的充分条件。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6697012.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存