数据库的事务是数据库中一系列(增删查改)操作的集合。

一般来说,事务的范围根据业务而定,比如转账、修改个人信息

转账:从A账户将200元转移到B账户

  • 从A账户中扣除200元
  • 将200元加入到B账户中

修改个人信息:比如个人信息由2部分组成,分别存于两张表“基本信息表”、“缴费信息表”

  • 更新“基本信息表”信息
  • 更新“缴费信息表”信息

其中为了保证事务是正确的,需具备4个特性,就是传说中的ACID:

  • Atomicity-原子性:事务的这一系列操作,要么全部执行完成(提交),要么中途发生异常(回滚)。也就是说事务的这一系列操作,是不可再分的最小粒度,呈现原子性。
  • Consistency-一致性:数据库的数据是一致的。事务的执行必须使数据库从一个一致性的状态转换到另一个一致性的状态。比如上述原子操作必须提交或回滚,而不允许出现中间的状态(这样,数据不一致)。原子性与一致性有密切的关系。
  • Isolation-隔离性:当多个事务对同一组数据并发执行时,事务之间影响的隔离程度,为隔离性,可分为不同级别。
  • Durability-持久性:当事务执行完成后,数据被持久地保存在数据库当中。

数据库事务的特性(ACID)的更多相关文章

  1. 数据库 事务的特性ACID

    数据库 事务的特性ACID 事务(Transaction)是并发控制的基本单位. 所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转帐工作:从一个帐 ...

  2. 事务及其特性ACID

    一.事务的定义 事务是一组单元化的操作,这组操作可以保证要么全部成功,要么全部失败(只要有一个失败的操作,就会把其他已经成功的操作回滚). 一般所说的数据库事务,它是访问并可能更新数据库中各种数据项的 ...

  3. 对事务的特性ACID的理解

    对事务的特性ACID的理解 数据库的事务必须具备ACID特性,ACID是指 Atomicity(原子性).Consistensy(一致性).Isolation(隔离型)和Durability(持久性) ...

  4. mysql进阶(二十三)数据库事务四大特性

    数据库事务四大特性       原子性.一致性.分离性.持久性 原子性  事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改操作要么全部执行,要么完全不执行.这种特性称为 ...

  5. 事务的特性(ACID)

    一.事务 定义:所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位. 准备工作:为了说明事务的ACID原理,我们使用银行账户及资金管理的案例进行分析. // 创建 ...

  6. Java数据库事务四大特性以及隔离级别

    四大特性ACID 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚.失败回滚的操作事务,将不能对数据库有任何影响 一致性(Consistency) 一致性是指事 ...

  7. 事务的特性ACID、隔离级别

    1.事务特性ACID 1.1 事务的四大特性 1.原子性(Atomicity) 事务包装的一组sql,要么都执行成功,要么都失败.这些操作是不可分割的. 2.一致性(Consistency) 数据库的 ...

  8. MySQL数据库事务及其特性

    一.事务概念 事务就是一个程序执行单元,里面的操作要么都做,要么都不做. 二.事务特性 事务有四个非常重要的特性(ACID): 原子性(Atomicity):事务是不可分割的整体,所有操作要么全做,要 ...

  9. 数据库事物四大特性-ACID

    事务的:原子性.一致性.分离性.持久性 事物(transaction)是由一些列操作序列构成的执行单元,这些单元要么都做,要么不做,是一个不可分割的工作单元. 数据库事物的四个基本性质(ACID) 1 ...

随机推荐

  1. javascript阻止事件冒泡的兼容写法及其相关示例

    //阻止事件冒泡的兼容写法 function stopBubble(e){ //如果提供了事件对象,则是一个非IE浏览器 if(e && e.stopPropagation) //因此 ...

  2. hdu1201-18岁生日

    Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从 ...

  3. windows7远程桌面连接unbuntu12.04

    参考:http://mawenjian.net/p/1221.html http://blog.csdn.net/chengfei112233/article/details/6623672 http ...

  4. IOS第四天(1:图片的方法和缩小,遮罩层)

    @interface HMViewController () @property (nonatomic, strong) UIButton *cover; //阴影 @end @implementat ...

  5. 【iCore3 双核心板_ uC/OS-III】例程二:任务的建立与删除

    实验指导书及代码包下载: http://pan.baidu.com/s/1bD7ulK iCore3 购买链接: https://item.taobao.com/item.htm?id=5242294 ...

  6. 通过方法名(字符串)执行Objective-C方法

    SEL selector = NSSelectorFromString(@"方法名"); if ([self respondsToSelector:selector]){ //判断 ...

  7. maven项目导入,包名出现异常-多出一个java的前缀

    maven工程导入项目的时候,整个结构出现混乱,如下图所示,包名前面莫名其妙的出现了java的前缀: 原因是导入错误,重新导入即可.

  8. 为ASP.NET MVC视图输出json

    做个小小练习,为asp.net mvc视图输出json字符串: 创建JsonResult操作: 创建此视图: 浏览结果:

  9. iOS 两个App之间调起通信

    前言 假设需求是这样的:由一个app1跳转到app2之后,app2完成某项任务之后,怎么把app2的完成信息传到app1(自己的程序是app1),传的是什么类型的数据,怎么进行解析? 逻辑 本文章使用 ...

  10. 【Android测试】【第十三节】Uiautomator——如何组织好你的测试代码(项目实战)

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4996000.html 前言 前面我们已经了解Uiautom ...