文档介绍:(Transcation):用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。在关系数据库中,一个事务可以是一条SQL语句,也可以是一组SQL语句或者整个程序。注意:事务和程序是两个不同的概念。通常,一个程序中会包含有多个事务。事务的开始与结束可以由用户显示控制,如果没有显示地定义事务,则由DBMS按照缺省规定自动划分事务。SQL中定义事务的语句在SQL-92规范中,定义事务的三条语句如下:MITROLLBACK在SQLServer2000中,定义事务的相关语句如下:BEGINTRAN(MITTRAN(事物名)ROLLBACKTRAN(事物名)在SQLServer2000中,也支持SQL-92规范中的说明方式。关于事务定义的几点说明事务通常是以BEGINTRANSACTION开始,以COMMIT或ROLLBACK结束。MIT表示提交事务的所有操作,即:将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事物才算正常结束。ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作(指更新操作)全部撤销,回滚到事务开始时的状态。事务的ACID特性事务的ACID特性是指:任何一个事务都具有如下的四个基本特点:原子性(Atomicity);一致性(Consistency);隔离性(Isolation);持续性(Durability);原子性和一致性原子性:事务是数据库的逻辑工作单位,事务中包括的相关操作要么都做,要么都不做。一致性:事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态。因此,当数据库只包含成功事务提交的结果时,就认为数据库是处于一致性状态的。如果数据库系统运行过程中发生故障,有些事务尚未完成就中断,这些未完成的事务对数据库所做的修改有一部分已写入物理数据库,这时就认为数据库处于一种不正确的状态,或者说是不一致的状态。(请参考教材中249给出的关于银行转账的实例)隔离性和持续性隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是相隔离的,并发执行的各个事务之间不能互相干扰。持续性(又称为永久性):一个事务一旦提交,它对数据库中数据的改变就是永久性的。后续的其他操作或者故障不应该对该事务的执行结果有任何影响。关于事务的几点说明事务是数据库恢复和并发控制的基本单位。保证事务的ACID特性是事务处理的重要任务。事务ACID特性可能遭到破坏的因素有:(1)多个事务并发运行时,不同事务的操作交叉执行;(2)事务在运行过程中被停止。在第一种情况下,DBMS必须保证多个事务的交叉执行不影响这些事务的原子性。在第二种情况下,DBMS必须保证被停止的事务对数据库和其他事务没有任何影响。,保证并发事务的正确执行,但是计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,这些故障可能造成运行事务非正常中断,影响数据库中数据的正确性,严重时可能破坏数据库,使数据库中全部或部分数据丢失,因此DBMS必须具有把数据库从错误状态恢复到某一已知的正确状态(指一致状态或完整状态)的功能,这就是数据库的恢复。数据库系统采用的恢复技术是否有效,将直接决定系统的可靠性,而且还将影响系统的运行效率。是衡量系统性能的重要指标。,大致可以分为以下几类:事务内部的故障;系统故障;介质故障;计算机病毒故障;