主要内容
事务(transaction)是一系列的数据库操作,是数据库应用程序的基本逻辑单元。事务处理技术主要包括数据库恢复技术和并发控制技术。数据库恢复机制和并发控制机制是数据库管理系统(DBMS)的重要组成部分。
事务的基本概念
事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
在关系数据库中,一个事务可以是一条或一组SQL语句,甚至是整个程序。事务与程序是两个概念,一般一个程序中包含多个事务。
事务的开始和结束可以由用户显式控制。如果用户没有显式定义,DBMS会按默认规定自动划分事务。
定义事务的三条SQL语句:
BEGIN TRANSACTION;
COMMIT; /*提交事务的所有操作,将数据库的更新内容写入物理数据库中*/
ROLLBACK; /*撤回事务的所有操作,将数据库恢复到事务开始时的状态*/
事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。
事务的ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。
(1)原子性:事务中的所有操作,要么全部都做,要么全部不做。
(2)一致性:若事务在执行过程中被中断,就会出现部分更新被写入物理数据库,而部分操作未被执行的情况。事务的不完全执行可能使得数据库处于一种不确定,不一致的状态。例如在甲对乙的转账操作中,甲转账后操作被中断,甲少了一笔钱,乙却没有得到那笔钱,这样就不符合事务执行的理想结果。可见,事务的一致性和原子性是密切相关的。
(3)隔离性:并发执行的各个事务之间不能互相干扰。
(4)持续性:一个事务一旦提交,它对数据库中数据的改变是永久的。
保护事务的ACID特性正是DBMS中数据恢复机制和并发控制机制的责任。
故障的种类
1. 事务内部的故障
事务内部的故障又分为可预期和不可预期的故障。
对于可预期的故障,可以在定义事务的同时定义故障的处理方式。
例如在转账事务中应对转出用户余额不足的情况:

本文详细介绍了数据库恢复技术,包括事务的基本概念、各种故障类型(如事务内部故障、系统故障、介质故障、计算机病毒)以及相应的恢复策略。重点讨论了数据转储、日志文件在恢复中的作用,同时提到了检查点技术和数据库镜像在提高恢复效率方面的重要性。
最低0.47元/天 解锁文章
1735





