数据库事务

来源:互联网 发布:java开发 常用代码 编辑:程序博客网 时间:2024/06/10 22:39

事务

1.  事务的定义

所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。例如,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。

定义事务的三条语句:

begin transactioncommitrollback

2.  事务的特性(ACID properties)

    1. 原子性(Atomicity)[不可再分]:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。

    2. 一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

如何理解数据库事务中的一致性的概念? - 回答作者: 纳兰 http://zhihu.com/question/31346392/answer/61742840

一个查询发起后,不管数据发生了多少变化 多少事务,查询结果应当为发起查询时间一致的数据。 - https://zhidao.baidu.com/question/240070824972929204.html

    3. 隔离性(Isolation):一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

    4. 持续性(Durability):一个事务一旦提交,他对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。

0 0