`
xubaoguo
  • 浏览: 79763 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

事物四个特性原子,一致,隔离,持久

阅读更多

为什么研究事务


程序中很多地方要用。有的时候想到事务容易忘掉里面的一些细节,所以总结出来。


什么叫事务


咬文嚼字一下,事,就是具体的事,务就是一个任务。这一个任务可以有一件事,也可能有多件事情组合起来做完,才叫一个任务。 这一个由一件或多件事组合起来的一个任务,就叫一个事务。


为什么学习事务?  


程序就是去做事。就是去完成任务,那完成这个任务,可能需要多个步骤。如果中间哪个步骤出了错误。那整个任务都是没有完成的。这其实就是一个事务。
但是,基本上如果是中间出了错,提示一下就过了,因为你要做的事也没有保存成什么,但是如果你这个事务中,有一些数据已经保存起来了。那么就应该把
这些数据在清理掉。因为你的事务没有成功。举个最常见的例子就是就银行转帐,从A帐号减去50,往B帐号加50。这个任务叫转帐。那么这个就是一个事务。
那如果程序执行到A减去了50,B还没有加的时候,突然出错了。程序没法往下执行了,这个时候,要回退。这个任务没有完成,你要把之前做的事全撤消。这样才
符合常规。一切都得按规矩办事。那事务的规矩刚刚提到的都太粗了。那事务要求最严格的肯定是存储数据部分。那么数据库就更专业了,专业一些给事务下定义。


事务的专业定义与特点:


事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为原子性、一致性、隔离性和持久性 (ACID) 属性,只有这样才能成为一个事务。
这里面的关键点就是这四个统称为ACID的属性(面试的时候经常问)。主要依赖于数据库的具体实现。

Atomic(原子性)


指整个数据库事务是不可分割的工作单位。只有使据库中所有的操作执行成功,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的SQL语句也必须撤销,数据库状态应该退回到执行事务前的状 态。


Consistency(一致性)


指数据库事务不能破坏关系数据的完成性以及业务逻辑上的一致性。例如对银行转帐事务,不管事务成功还是失败,应该保证事务结束后A帐号与B帐号加起来还是那些钱。


Isolation(隔离性)


指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。这个也是后面咱们研究的一个重点。


    Durability(持久性)


指的是只要事务成功结束,它对数据库所做的更新就必须永久保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。
这些在据库都有实现,数据库是怎么实现事务的的呢?


     数据库管理系统采用日志来保证事务的原子性、一致性和持久性。日志记录了事务对数据库所做的更新,如果某个事务在执行过程中发生错误,就可以根据日志,撤销事务对数据库已做的更新,使数据库退回到执行   事务前的初始状态。
    这些都是可以模仿的。咱们以后如果想实现事务,就可以直接借用这个思路了。

事务的理论知识大块的讲过了,咱们来一起感受一下这个数据库事务。

分享到:
评论

相关推荐

    数据库事物

    一致性:执行事物前后,数据保持一致,多个事物对同一个数据读取的结果是相同的。 隔离性:并发访问数据库时,一个用户的事物不能被其它事物干扰,各并发事物之间数据库是独立的。 持久性:一个事物被提交之后,对...

    (事物学习笔记一) 对于数据库事物的理解

    这篇“事物学习笔记一”主要聚焦于对数据库事务的理解,通过深入探讨其基本概念、特性以及在实际操作中的应用,帮助读者构建对这一核心概念的全面认识。 首先,我们需要理解什么是数据库事务。在数据库管理中,事务...

    (事物学习笔记二) 对Java事物的理解

    - **ACID属性**:事务必须满足原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)这四大特性,以确保数据的正确性。 - 原子性:事务中的所有操作要么全部完成,要么全部不...

    MySQL的四种事务隔离级别

    事务具有四个基本特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),简称ACID属性。 1. 原子性:原子性保证了事务中的操作要么全部完成,要么全部不完成。如果事务...

    sky-事物文档

    2. **ACID属性**:事务应满足四个特性——原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。原子性确保事务要么全部完成,要么全部不完成;一致性确保事务结束后,系统状态仍然有效...

    DB事物案例

    在数据库管理中,事务是确保数据一致性、完整性和原子性的核心概念。事务处理是数据库操作的基本单位,它封装了一系列的数据库操作,这些操作要么全部执行,要么全部不执行。本案例"DB事物案例"旨在帮助新人理解并...

    事物体系,看不懂你打我

    在MySQL中,事务主要用于InnoDB存储引擎,因为它提供了ACID(原子性、一致性、隔离性、持久性)特性。事务处理了数据库中的多条SQL语句作为一个整体,要么全部执行,要么全部回滚。 在MySQL中,事务有两种类型:...

    spring中事物管理1

    在 Spring 框架中,事务管理是确保应用程序在处理数据库操作时遵循 ACID(原子性、一致性、隔离性和持久性)原则的关键组件。ACID 是事务处理的基本准则,保证了数据的一致性和完整性。 1. 原子性(Atomicity):...

    SpringHibernate事务及传播特性

    事务有四个基本特性,即ACID(原子性、一致性、隔离性和持久性)。在Spring中,事务管理可以通过编程式和声明式两种方式实现。编程式事务管理需要手动调用开始、提交、回滚等方法,而声明式事务管理则更易于使用,只...

    事物管理javaweb.zip

    5. **事务的ACID属性**:事务必须满足原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)这四大特性。这些特性保证了事务执行的正确性。 6. **事务隔离级别**:包括READ ...

    postgresql事物处理

    ##### 事务的四个特性(ACID) - **原子性(Atomicity)**:事务中的所有操作要么全部完成,要么全部不完成。如果事务中的任何一部分失败,则整个事务都将回滚。 - **一致性(Consistency)**:事务完成后,数据库必须...

    Oracle并行性完整性一致性总结报告

    事务具有ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。 **4.2 事物隔离级别** Oracle支持四种事务隔离级别: 1. **READ UNCOMMITTED**:最低的隔离级别,事务可以...

    一个关于mysql 事务管理的介绍

    事务提供了原子性、一致性、隔离性和持久性的保障,这四个特性通常被简称为ACID属性。 原子性(Automic):这意味着事务中的所有操作要么全部成功,要么全部失败,不允许部分完成。如果在执行过程中发生错误,事务...

    事物回滚文档

    事务具有四个重要的属性,通常被称为ACID特性: 1. **原子性(Atomicity)**:事务被视为一个不可分割的工作单位,事务中的所有操作要么全部完成,要么全部不完成。 2. **一致性(Consistency)**:事务的执行必须...

    数据库基础知识.docx

    事务具有四个特性:原子性、一致性、隔离性和持久性。原子性指事务要么全部被执行,要么就全部不被执行;一致性指事务的执行使得数据库从一种正确状态转换成另一种正确状态;隔离性指在事务正确提交之前,不允许把该...

    JDBC事物应用源码文件

    事务必须满足ACID(原子性、一致性、隔离性和持久性)属性,以保证数据的一致性。 2. **JDBC中的事务管理**:在JDBC中,可以通过两种方式管理事务:自动提交模式和手动提交模式。默认情况下,JDBC处于自动提交模式...

    关于SQL事物的简单介绍

    事务的四个基本属性,即ACID特性,是保证数据库系统稳定和可靠的关键。 1. 原子性(Atomicity):原子性确保事务中的每一步操作都是不可分割的。如果事务中的任何一部分失败,整个事务都将被回滚,这意味着事务的...

    数据库中事物与锁的课件

    - 隔离性(Isolation):并发事务之间应互相隔离,防止一个事务看到其他事务未完成的操作。 - 持久性(Durability):一旦事务提交,其结果将是永久的,即使系统出现故障也能恢复。 9.1.3 事务控制语句 SQL Server...

    PostgreSQL技术内幕:事务处理深度探索.docx

    事务具有原子性、一致性、隔离性和持久性四个特征。 原子性:事务要么全部执行,要么全部回滚,不会存在部分执行的情况。 一致性:事务执行前后数据的状态符合预期,即事务的更改操作不会破坏数据库的一致性约束...

    韩顺平oracle视频笔记四(事务)

    本视频笔记可能详细讲解了事务的四大特性:原子性、一致性、隔离性和持久性,以及如何在Oracle环境中实现这些特性。 【描述】:虽然描述部分为空,但根据标题我们可以推测,这可能是韩顺平老师关于Oracle数据库系列...

Global site tag (gtag.js) - Google Analytics