本章目录
第10章 数据库恢复技术
事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元。事务处理技术主要包括数据库恢复技术和并发控制技术。
10.1 事务的基本概念
- 事务
(1)事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
(2)事务和程序是两个不同的概念。定义事务的语句一般有三条:
begin transaction; commit; rollback
- 事务的ACID特性
(1)原子性(Atomicity)
事务是数据库的逻辑工作单位,事务中包括的操作要么不做,要么全做。
(2)一致性(Consistency)
事务的执行结果必须是使数据从一个一致性状态编导另一个一致性状态(一致性:A-B=C,此操作后A应该减B,C应该加B,如果不是,就不是一致性状态)。可见,一致性和原子性是密切相关的。
(3)隔离性(Isolation)
一个事务的执行不能被其他事务干扰。即一个事务的内部操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
(4)持续性(Durability)
持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。 - 保证事务ACID特性是事务管理的重要任务。事务ACID特性可能遭到破坏的因素有:
(1)多个事物并发运行时,不同事务的操作交叉进行:
此情况下,数据库管理系统必须保证多个事物的交叉运行不影响这些事务的原子性。
(2)事务在运行过程中被强行停止。
此情况下,数据库管理系统必须保证被强行终止的事务对数据库和其他事务没有任何影响。
这就是数据库的恢复机制和并发控制机制。
10.2 数据库恢复概述
事务运行中的故障,轻则影响数据的正确性,