+ -
当前位置:首页 → 问答吧 → 事务

事务

时间:2011-11-27

来源:互联网

数据库中为何要引用事务?它的作用是干嘛的?要怎样才能熟练运用事务?

作者: qiaoyun14   发布时间: 2011-11-27

应用事务的最终目的,是为了使一段程序一起运行,要么全部运行完成,要么全部不运行(如果某一步出错,或者某个条件要求如此的话).
事务处理得好,可以避免死锁.如果你的一段程序怀疑可能会引起死锁,你就可以把它做成一段事务来执行.

作者: qianjin036a   发布时间: 2011-11-27

数据库中为何要引用事务?
--> 为了确保数据的一致性,经典例子:银行转帐业务,金额转出和转入要么全做,要么全不做.

它的作用是干嘛的?
--> 保证事务前事务后,数据是一致的.经典例子:银行转帐业务,不能只转入不转入.

要怎样才能熟练运用事务?
--> 需熟悉事务的开始,提交,异常捕获及处理,事务回滚,事务隔离等级..

作者: ap0405140   发布时间: 2011-11-27

事务(数据库引擎)

事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为原子性、一致性、隔离性和持久性 (ACID) 属性,只有这样才能成为一个事务。

原子性

事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

一致性

事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。

隔离

由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。事务识别数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是第二个事务修改它之后的状态,事务不会识别中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。

持久性

事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。


参照
http://technet.microsoft.com/zh-cn/library/ms190612(SQL.90).aspx

作者: roy_88   发布时间: 2011-11-27