何为数据库事务?

我们都知道,DBMS的并发控制是以事务为基本的单位进行的,那到底什么是事务呢?事务是数据库系统中执行一个工作单位,它是由用户i定义的一组操作序列。一个事务可以是一组SQL语句、一条SQL语句或整个程序,一个应用程序可以包括多个事务。

事务的开始与结束可以由用户显示控制。如果用户没有显示地定义事务,则由DBMS按照缺省的规定自动划分事务。在SQL中,定义事务的语句有以下三条:

BEGIN TRANSACTION

COMMIT

ROLLBACK

其中,BEGIN TRANSACTION表示事务的开始;COMMIT表示事务的提交,即将事务中所有对数据库的更新写回磁盘上的物理数据库中去,此时事务正常结束;ROLLBACK表示事务的回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已经完成的更新操作全部撤销,再回滚到事务开始时的状态。

这么样来说可能比较枯燥,就举个例子吧:比如说有某一个人A想到银行把自己账户上面的1000元转账给另外的一个人B的账户上面,那么经历的过程就应该是A账户上面-1000,接着B的账户上面+1000,如果整个过程都完成那么就才算作一个事务。假如说在这个过程中,发生什么问题,则事务会回滚。这么说吧假如事务不回滚,可能会导致数据的不同步。

百度百科详解:http://baike.baidu.com/view/1298364.htm

你可能感兴趣的:(数据库)