位置:首页 > 自考专业

《数据库原理》知识点之数据库的并发控制

  • 发布时间:2024-09-15 16:21:23
  • 来源:本站整理
  • 阅读:
导读:
  数据库的并发控制
  并发控制带来的三类问题
  (1)丢失更新的问题
  (2)不一致分析问题
  (3)“脏数据”的读出。(在数据库技术中,未提交的随后又被撤消的数据为“脏数据”。)
  以上三类问题结合多事务的并行操作进行理解。
  举例
  [例题] 设T1,T2,T3是如下三个事务,其中R为数据库中某个数

(2)不一致分析问题

(3)“脏数据”的读出。(在数据库技术中,未提交的随后又被撤消的数据为“脏数据”。)

以上三类问题结合多事务的并行操作进行理解。

举例

[例题] 设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为0.

T1:R:=R+5

T2:R:=R*3

T3:R:=2

若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题?

答:有6种可能的情况

(1)T1-T2-T3: R=2

(2)T1-T3-T2: R=6

(3)T2-T1-T3: R=2

(4)T2-T3-T1: R=7

(5)T3-T1-T2: R=21

(6)T3-T2-T1: R=11

采用封锁,可以解决并行调度的不一致问题。

为解决并发控制带来的问题,通常要采用封锁(locking)技术,常用的封锁有:排它型封锁(X封锁)和共享型封锁(S封锁)两种。

并发控制中,有许多概念都要掌握:封锁,X封锁,S封锁,PX协议,PXC协议,PS协议,PSC协议,活锁,死锁,可串行化调度,不可串行化调度,两段封锁协议

相关阅读