本文是《数据库系统概论》的第十一章(并发控制)的部分课后习题,题目来源:【2019-2020春学期】数据库作业21:第十一章: 并发控制
先来对这章的主要内容大概总结一下
1)多事务执行方式
事务串行执行: 每个时刻只有一个事务运行
交叉并发方式(Interleaved Concurrency):并行操作轮流交叉运行
同时并发方式(simultaneous concurrency):真正的并行运行
该书中的 DBS并发控制技术以 单处理机系统为基础的
2)事务并发执行带来的问题
会产生多个事务同时存取同一数据的情况
可能会存取和存储不正确的数据,破坏事务隔离性和数据库的一致性
— — — — — — — — — — — — — — — — — — — — — — — — — —
一、并发控制机制的任务
对并发操作进行正确调度
保证事务的隔离性
保证数据库的一致性
二、并发操作带来的数据不一致性
1.丢失修改(Lost Update)
2.不可重复读(Non-repeatable Read)
3.读“脏”数据(Dirty Read),即:不正确的数据
三、基本封锁类型
- 排它锁(Exclusive Locks,简记为X锁,写锁)
若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁
保证其他事务在T释放A上的锁之前不能再读取和修改A - 共享锁(Share Locks,简记为S锁,读锁)
若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,