事务是什么,以及事务四个特性

一.什么是事务 
事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。 
事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。 
二.事务的 ACID 
事务具有四个特征:原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )和持续性( Durability )。这四个特性简称为 ACID 特性。 
1 、原子性 
事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做 
2 、一致性 
事 务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统 运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是 不一致的状态。 
3 、隔离性 
一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 
4 、持续性 
也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。

数据库系统必须维护事务的以下特性 ( 简称 ACID) :

原子性 (Atomicity)

一致性 (Consistency)

隔离性 (Isolation)

持久性 (Durability)

原子性 (Atomicity)

事务中的所有操作要么全部执行,要么都不执行;

如果事务没有原子性的保证,那么在发生系统

故障的情况下,数据库就有可能处于不一致状

态。

时间: 2024-10-13 02:24:13

事务是什么,以及事务四个特性的相关文章

事务的四个特性和事务的隔离级别

什么是事务? 一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit). 一个事务可以是一条SQL语句,一组SQL语句或整个程序. 所以说事务是和数据库相关联的,事务的四个特性和事务的隔离级别也是关于数据库的. 事务的四个特性的理解(ACID) 1.原子性(Atomicity) 如果开启一个事务,那么这个事务所包含的sql语句要么全部执行,要么全部不执行,前面说过一个事务可以是一条SQL语句,一组SQL语句或整个程序. 例子:转账事务:A向B转

什么是事务?事务的四个特性以及事务的隔离级别

什么是事务 事务是指是程序中一系列严密的逻辑操作,而且所有操作必须全部成功完成,否则在每个操作中所作的所有更改都会被撤消.可以通俗理解为:就是把多件事情当做一件事情来处理,好比大家同在一条船上,要活一起活,要完一起完 . 事物的四个特性(ACID) ● 原子性(Atomicity):操作这些指令时,要么全部执行成功,要么全部不执行.只要其中一个指令执行失败,所有的指令都执行失败,数据进行回滚,回到执行指令前的数据状态. eg:拿转账来说,假设用户A和用户B两者的钱加起来一共是20000,那么不管

数据库事务的四个特性及含义

数据库事务transanction正确执行的四个基本要素. ACID 原子性(Atomicity) 原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节.事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样. 一致性(Correspondence) 一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏. 隔离性(Isolation) 隔离性:隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操

mysql的事务四个特性以及事务的四个隔离级别

一.事务四大属性 分别是原子性.一致性.隔离性.持久性. 1.原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. 2.一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态.举例来说,假设用户A和用户B两者的钱加起来一共是1000,那么不管A和B之间如何转账.转几次账,事务

Spring笔记(四): spring的编程式事务与声明式事务

一.Spring 事务属性分析 事务管理对于企业应用而言至关重要.它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性.就像银行的自助取款机,通常都能正常为客户服务,但是也难免遇到操作过程中机器突然出故障的情况,此时,事务就必须确保出故障前对账户的操作不生效,就像用户刚才完全没有使用过取款机一样,以保证用户和银行的利益都不受损失. 在 Spring 中,事务是通过 TransactionDefinition 接口来定义的.该接口包含与事务属性有关的方法.在

谈谈分布式事务之三: System.Transactions事务详解[上篇]

在.NET 1.x中,我们基本是通过ADO.NET实现对不同数据库访问的事务..NET 2.0为了带来了全新的事务编程模式,由于所有事务组件或者类型均定义在System.Transactions程序集中的System.Transactions命名空间下,我们直接称基于此的事务为System.Transactions事务.System.Transactions事务编程模型使我们可以显式(通过System.Transactions.Transaction)或者隐式(基于System.Transact

spring 中常用的两种事务配置方式以及事务的传播性、隔离级别

转载:http://blog.csdn.net/qh_java/article/details/51811533 一.注解式事务 1.注解式事务在平时的开发中使用的挺多,工作的两个公司中看到很多项目使用了这种方式,下面看看具体的配置demo. 2.事务配置实例 (1).spring+mybatis 事务配置 [html] view plain copy <!-- 定义事务管理器 --> <bean id="transactionManager" class="

重新理解mysql的锁、事务隔离级别及事务传播行为

数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行.ACID,是指在可靠数据库管理系统(DBMS)中,事务(Transaction)所应该具有的四个特性:原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability). 原子性原子性是指事务是一个不可再分割的工作单位,事务中的操作要么都发生,要么都不发生.如,A向B转钱,在事务中的扣款和加款两条语句,要么

数据库事务之声明式事务

一.事务概述 1.在JavaEE企业级开发的应用领域,为了保证数据的完整性和一致性,必须引入数据库事务的概念,所以事务管理是企业级应用程序开发中必不可少的技术. 2.事务就是一组由于逻辑上紧密关联而合并成一个整体(工作单元)的多个数据库操作,这些操作要么都执行,要么都不执行. 3.事务的四个关键属性(ACID) 3.1.原子性(atomicity):"原子"的本意是"不可再分",事务的原子性表现为一个事务中涉及到的多个操作在逻辑上缺一不可.事务的原子性要求事务中的所