事务的原子性,一致性,隔离性,持久性

事务的原子性
事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据改操作要全部执行,要么全部不执行。这种特性称为原子性。  事务的原子性要求,如果把一个事务看作是一个程序,它要么完整的被执行,要么完全执行。就是说事务的操纵序列或者完全应用到数据库或者完全不影响数据库。这种特性称为原则性  假如用户在一个事务内完成了对数据库的更新,这时所有的更新对外部世界必须是可见的,或者完全没有更新。前者称事务已提交,后者称事务撤销。DBMS必须确保由成功提交的事物完成的所有操作在数据库内有完全的反映,而失败的事务对数据库完全没有影响

事务的一致性
 指在一个事务执行之前和执行之后数据库都必须处于一致性状态。这种特性称为事务的一致性。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。
  一致性处理数据库中对所有语义约束的保护。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。例如,当数据库处于一致性状态S1时,对数据库执行一
个事务,在事务执行期间假定数据库的状态是不一致的,当事务执行结束时,数据库处在一致性状态S2

分离性
 分离性指并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被企图进行修改的事务看到  分离性是DBMS针对并发事务间的冲突提供的安全保证。DBMS可以通过加锁在并发执行的事务间提供不同级别的分离。假如并发交叉执行的事务没有任何控制。操纵相同的共享对象的多个并发事务的执行可能引起异常情况
  DBMS可以在并发执行的事务间提供不同级别的分离。分离的级别和并发事务的吞吐量之间存在反比关系。较多事务的可分离性可能会带来较高的冲突和较多的事务流产。流产的事务要消耗资源,这些资源必须要重新被访问。因此,确保高分离级别的DBMS需要更多的开销

持久性
 持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据库数据的改变应该是永久性的,耐得住任何系统故障
。持久性通过数据库备份和恢复来保证  持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即对已提交事务的更新恢复。一旦一个事务被提交,DBMS必须保证提供适当的冗余,使其耐的住系统故障。所以,持久性主要在于DBMS的恢复性能

时间: 09-02

事务的原子性,一致性,隔离性,持久性的相关文章

事务四大特征:原子性,一致性,隔离性和持久性(ACID)

一.事务 定义:所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位. 准备工作:为了说明事务的ACID原理,我们使用银行账户及资金管理的案例进行分析. [sql] view plaincopyprint? // 创建数据库 create table account( idint primary key not null, namevarchar(40), moneydouble ); // 有两个人开户并存钱 insert into account valu

事务的四大属性ACID即事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability.。

事务的四大属性ACID即事务的原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability.. 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. 一致性(Consistency) 事务必须使数据库从一个一致性状态变换到另外一个一致性状态. 隔离性(Isolation) 事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并

acid-事务的原子性、一致性、隔离性、持久性

原子性  多个事情组成一个单元,要么同时成功或失败,不能只运行其中一个 一致性  事务处理要将数据库从一种状态转变为另一种状态. 一旦提交了修改数据,那么其它人读取这个数据,也是被修改后的数据 隔离性  在事务处理提交之前,事务处理的效果不能由系统中其它事务处理 多个用户,不能同时读写同一个数据,应该有先后顺序,在数据库中是一个一 个事件地运行,如果事 的条件不满足,后续事件就回滚 持久性  事件一旦提交成功,数据就发生了变化 例如: 网上定票系统,扣钱和定票是一个事务,它需要有原子性即不能只运

<事务隔离性>

Overview 事务的隔离性是指在并发环境中,并发的事务是隔离的.一个事务的执行不能被其他事务干扰. 也即,不同的事务并发操作相同数据时,每个事务都有各自完整的数据空间. 隔离性 在标准SQL规范中,定义了4个事务隔离级别,不同的隔离级别对事务的处理不同,包括: 未授权读取,也称为读未提交(Read Uncommitted).该级别允许脏读取,其隔离级别最低.[关于脏读,幻读,blabla...请往下拉].如果一个事务正在处理某一数据,并对其进行了更新,但同时尚未完成事务,因此还未进行事务提交

[转载] 你真的明白事务的隔离性吗?

原文: http://mp.weixin.qq.com/s?__biz=MjM5MjIxNDA4NA==&mid=400262409&idx=1&sn=827bdcde075ef2f96c82a3f11fa422d4&scene=0&key=b410d3164f5f798ea52ee30c99dcb9c7e079c79659c2ffd9927976ab0093eb3003db7a80ff517fb25e7d1f4d95c602ad&ascene=0&

spring事务的传播机制和隔离性

1.事务的传播机制: 指多个事务方法在相互调用时,事务如何在这些方法中传播. Spring支持7种事务传播行为: PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中.这是最常见的选择. PROPAGATION_SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式执行. PROPAGATION_MANDATORY 使用当前的事务,如果当前没有事务,就抛出异常. PROPAGATION_REQUIRES_NEW 新建事务,

事务的特征、隔离级别以及事务的传播

事务 一组具有明确边界的,并且是有一定顺序的执行过程.是企业开发过程中必不可少的一门技术.通常用来确保一组执行过程的完整性与一致性. 例如:张三给李四转钱,这就是一个完整的过程,任何一部出问题,事务都是不完整的. 事务的四大特征:原子性(Atomicity):事务是一个完整的过程,不可以再次划分.具有原子的特征. 一致性(Consistency):一旦事务进行,无论有多少个事务,处理事务的过程中,数据总是满足质量守恒定律.入多少---出多少. 隔离性(Isolation):事务与事务执行过程中,

事务的特性与隔离级别

事务的定义: 简单的说事务就是一组原子性的SQL语句.我们可以将这组语句理解为一个工作单元,要 么全都执行,要不都不执行. 事物的四大特性(简称ACID): 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部提交成功,要么全部失败回滚. 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致. 隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的.一个事务所做的修改在提交之前

事务的特点和隔离级别

Atomic,同一个事务里,要么都提交,要么都回滚 Consistency,即在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏 Isolation,并发事务间的数据是彼此隔离的 Durabiliy,事务提交后,所有结果务必被持久化 原子性,一致性,隔离性,持久性 并发事务带来的问题 dirty read(脏读) unrepeatable read(不可重复读) phantom read(幻读) 事务的隔离级别 Atomic,同一个事务里,要么都提交,要么都回滚 Consistency,

2014/7/27------数据库的隔离性

演示不同隔离级别下的并发问题 1.当把事务的隔离级别设置为read uncommitted ,会引发脏读,不可重复读,虚读 A窗口 start transaction isolation  level  read uncommitted; start transaction; select * from account; =======这个时候发现aaa的账户是1000元,转到B窗口 select * from acount where name=='aaa'; =======发现aaa的账户多