事务的概念

事务(Transaction)是用户定义的一个单一逻辑工作单位的数据库操作序列。这些操作要么全做,要么全不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位

事务和程序是两个概念:

  • 在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句、或整个程序

  • 一个应用程序通常包含多个事务

事务是恢复和并发控制的基本单位。

事务的开始与结束都可以由用户显式控制,在SQL语言中,显示定义事务的语句有三条:

begin transaction      //事务开始
<对数据库的更新操作SQL语句>
commit         //事务提交
rollback       //事务回滚

隐式定义方式

当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务

事务的结束

commit :事务正常结束,提交事务的所有操作(读+更新),事务中所有对数据库的更新永久生效

rollback :事务异常终止,事务运行的过程中发生了故障,不能继续执行。回滚事务的所有更新操作,事务滚回到开始时到状态。

事务模型

事务由作为一个单独单元的一个或多个SQL语句组成。这个单元中的每个SQL语句是互相依赖的,而且单元作为一个整体是不可分割的。如果单元中的一个语句不能完成,整个单元就会回滚(撤销),所有影响到的数据将返回到事务开始以前的状态。

因而,只有事务中的所有语句都成功地执行才能说这个事务被成功地执行

Last updated