1、武汉科技大学计算机科学与技术学院数据库系统概论An Introduction to Database System第十章 数据库恢复技术An Introduction to Database System第十章 数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像10.8 小结An Introduction to Database System10.1 事务的基本概念一、什么是事务二、如何定义事务三、事务的特性An Introduction to Database Syst
2、em一、什么是事务p事务 (Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位p事务和程序是两个概念n 在关系数据库中,一个事务可以是一条 SQL语句,一组 SQL语句或整个程序n 一个应用程序通常包含多个事务p事务是恢复和并发控制的基本单位An Introduction to Database System二、如何定义事务p显式定义方式BEGIN TRANSACTION BEGIN TRANSACTIONSQL 语句 1 SQL 语句 1SQL 语句 2 SQL 语句 2。 。COMMIT ROLLBACKp隐式方式当用户没有显式地
3、定义事务时,DBMS按缺省规定自动划分事务An Introduction to Database System事务结束COMMIT事务正常结束 提交 事务的所有操作( 读 +更新 )事务中所有对数据库的更新 永久 生效ROLLBACK事务异常终止n 事务运行的过程中发生了故障,不能继续执行回滚事务的所有 更新 操作n 事务滚回到 开始 时的状态An Introduction to Database System三、事务的特性 (ACID特性 )事务的 ACID特性:p原子性( Atomicity)p一致性( Consistency)p隔离性( Isolation)p持续性( Durabilit
4、y )An Introduction to Database System1. 原子性p事务是数据库的逻辑工作单位n 事务中包括的诸操作要么都做,要么都不做An Introduction to Database System2. 一致性事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态一致性状态 :数据库中只包含成功事务提交的结果不一致状态 :数据库中包含失败事务的结果An Introduction to Database System一 致性与原子性银行转帐:从帐号 A中取出一万元,存入帐号 B。n 定义一个事务,该事务包括两个操作n 这两个操作要么全做,要么全不做p 全做或者全不做,数据库都处于一致性状态。p 如果只做一个操作,数据库就处于不一致性状态 。B=B+1A=A-1BAAn Introduction to Database System