2MUCH

软考-中级数据库系统分析师-07 事务

2023-05-14


事务概念

定义:事务是一系列的数据库操作,是数据库应用程序的逻辑单位。要么都做,要么都不做。

语句:

begin transaction
end transaction

commit / commit work
rollback / rollback work

事务特性

事务的状态

image.png

并发控制(重要)

事务调度

并发调度是否正确:结果和任意一次串性执行结果一致即可,则可以认为是可串行化的调度。可串行性是并发事务正确性的准则。

并发操作的不一致性:

并发控制技术

  1. 排它锁(X锁):其他事务无法进行读或写
  2. 共享锁(S锁,读锁):其他事务可以读,不能写

封锁协议

两段锁协议(2PL)

定义:同一事务对任何数据进行读写之前必须对该数据加锁,在释放一个封锁之后,该事务不再申请和获得任何其他封锁。第一阶段获得封锁,即扩展阶段;第二阶段是释放封锁,即收缩阶段。(含义要背下来!)

特点:

事务的隔离级别

幻读:事务A查询到N条数据,然后事务B又插入M条数据,导致事务A再次搜索发现有N+M条数据,产生幻读(与不可重复读区别,幻读是第二次读取到更多条数据,脏数据是同一个数据值变了)

image.png

数据库备份与恢复

故障种类

数据库备份

数据库恢复

要能够恢复,必须建立冗余数据。

恢复操作:

恢复策略:

检查点机制 checkpoint

反向扫描日志文件,找到检查点。对于检查点后提交的事务,执行redo;对于检查点后未提交的事务,执行undo