第五章 事务管理(事务基本知识)

第五章 事务管理(事务基本知识)

主要学习目标
事务的概念
事务的特性
事务的状态
事务的隔离级别

一 事务概念

1.1 事务的直观例子
1)为什么使用事务? 

银行转账问题:

image-20211008111007106

用SQL更新语句修改多条记录的问题:

Update instructor 
   set salary =salary*1.05
   Where salary < 70000;
   
问题2:如果运行到中途系统终止执行会怎样?

问题4:如果这些语句成功执行后,系统硬盘突然坏掉会怎样?

2)什么是事务,有何作用? 
3) 事务必须具备什么特性? 
1.事务概念及特性

img事务:构成单一逻辑工作单元的操作集合。

作用:DBMS通过保证要么执行整个事务,要么一个操作也不执行,达到使数据始终处于一个一致状态。 (事务是访问并可能更新各种数据项的一个程序执行单元)

image-20211008112504711

2.事务状态图
4)如何理解事务状态图,有何用途? 
image-20211008112847285

image-20211008112931420

二 可串行化调度

讨论:什么是可串行化调度?
1)什么是调度,串行调度 和并行调度? 
2)什么是可串行化调度? 
3) 串行调度、并行调度和可串行化调度各自的特点? 
1.调度基本概念
调度:一组指令包括指令在系统中执行的特定时间顺序。
(指令可能来自多个事务)
包括commit,abort指令

串行调度:调度中凡属于同一个事务的指令都紧挨着一起,即一个事务的指令都执行完成后再执行下一事务。

并行调度:调度中多个事务的指令在时间上相互交叉地在执行

可串行化调度:虽然可能是一个并行调度,但在执行的效果上等同于某一个串行调度执行结果

image-20211018145828502
2.冲突可串行化
4)什么是冲突指令和冲突可串行化调度? 
图1和图2都是冲突可串行化调度? 

image-20211018145928541

image-20211018150019991

3.调度优先图
5)调度优先图的作用? 
什么是调度优先图,如何绘制? 

image-20211018150353132

该调度的优先图什么样?

image-20211018150656117

4.冲突可串行化的判定方法
5)调度优先图的作用? 
用于判断一个并行调度是否为冲突可串行化调度
image-20211020103544241 image-20211020103629358

三 事务隔离性和原子性

3.1 可恢复调度p.366
如何理解可恢复调度? 
image-20211020103726178
3.2 无级联调度p.366
如何理解无级联调度? 
image-20211020103853114
3.3.事务隔离性级别
隔离性级别有哪些,为何需要分级? 
image-20211020104008118
事务的四个特性是什么?
多个事务并发执行,如何保证执行是正确的?
posted @ 2021-11-09 15:13  Clancy_gang  阅读(183)  评论(0编辑  收藏  举报