`

什么是事务?事务的特性有哪些?

 
阅读更多
概念

   事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。

例如:在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。

特性

  事务是恢复和并发控制的基本单位。

  事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。

  原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。

  一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

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

  持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
分享到:
评论

相关推荐

    事务传播特性&事务隔离级别

    Java 中有七种事务传播特性,分别是: 1. PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务。如果没有事务则开启新的事务。 2. PROPAGATION_SUPPORTS:如果存在一个事务,支持当前事务。如果没有事务,则非...

    事务传播特性了解事务的几种传播特性

    根据给定的内容,事务传播特性主要有以下七种: 1. **PROPAGATION_REQUIRED**:如果当前存在事务,则加入该事务;如果当前没有事务,则新建一个事务。这是Spring默认的事务传播行为。 2. **PROPAGATION_SUPPORTS**...

    JDBC事务 JTA事务 传播特性 隔离级别

    - **Required New**:总是创建新的事务,如果已有事务,会挂起当前事务。 - **Mandatory**:必须存在事务,否则抛出异常。 - **Never**:不应存在事务,如果已有事务,也会抛出异常。 了解这些事务管理机制对于编写...

    MySQL面试题(记得被问过的一些题目)

    char和varchar两种数据类型的区别与适用场景? 关联查询INNER JOIN、LEFT JOIN 、RIGHT JOIN的区别与适用场景? 索引分类? 索引区别? 什么是MySQL的锁机制?...事务的特性与适用场景? 事务的隔离级别与适用场景?

    Spring事务传播特性解析

    通过代码解析spring传播特性,包括 1、Propagation.REQUIRED 方法被调用时自动开启事务,在事务范围内使用则使用同一个事务,否则开启新事务。 2、Propagation.REQUIRES_NEW 无论何时自身都会开启事务 3、...

    Spring事务管理Demo

    在Spring框架中,事务管理是核心特性之一,它允许开发者以声明式或编程式的方式处理应用中的事务。Spring事务管理的目的是确保数据的一致性和完整性,尤其是在多操作、多资源的环境中。本Demo将深入探讨Spring如何...

    SPRING事务传播特性&事务隔离级别

    ### Spring 事务传播特性和事务隔离级别详解 #### 一、Spring 事务传播特性 在进行多层服务架构设计时,事务的管理尤其重要。为了确保数据的一致性,Spring 提供了一种灵活的方式来控制事务的传播行为。下面详细...

    分布式事务若依框架文档

    在理解分布式事务之前,我们首先需要了解数据库事务的基本属性,即ACID特性。 - **原子性(Atomicity)**:事务中的所有操作要么全部成功,要么全部失败。如果其中任何一部分失败,则整个事务都会被撤销,并且回滚...

    spring事务的传播特性和事务隔离级别

    Spring提供了七种事务传播特性,每一种都有其特定的场景适用性。 1. **PROPAGATION_REQUIRED** - 这是最常用的传播行为。当使用此传播行为时,如果当前存在事务,则在该事务中执行;如果没有,则创建一个新的事务...

    200道Java面试常见题目.pdf

    Java的特点有哪些? * 说一下Java的基本数据类型和包装类。 * 什么是Java的访问修饰符?Java中有哪些访问修饰符? * 什么是Java的接口?接口和抽象类有什么区别? * 什么是Java的多态性?多态的实现方式有哪些? * ...

    spring JDBC事务管理

    2. **声明式事务管理**:这是Spring的一个强大特性,允许开发者在配置文件或注解中声明事务边界,将事务管理与业务代码分离。Spring支持基于XML的配置和基于注解的事务管理。例如,可以使用`@Transactional`注解标记...

    Spring事务的传播特性和隔离级别

    ### Spring事务的传播特性和隔离级别 #### 一、事务的基本概念 在计算机科学中,事务(transaction)是指一系列操作的集合,这些操作要么全部成功完成,要么全部失败回滚,确保数据的一致性和完整性。事务具备四个...

    Spring中事务的传播属性详解

    在使用Spring框架进行应用程序开发时,事务管理是一项非常重要的特性。Spring提供了两种事务管理方式:编程式事务管理和声明式事务管理。其中,声明式事务管理因其简洁性和易用性而更受欢迎。本文将详细介绍Spring中...

    SQLServer存储过程中事务的使用方法

    首先,事务有四个基本特性,即ACID(原子性、一致性、隔离性和持久性): 1. 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成,不会留下部分完成的操作。 2. 一致性(Consistency):事务执行...

    CSharp数据库事务原理及实践.rar_C#事务逻辑_c# ef 事务开发_c# 使用事务_c# 数据库事务_c#什么是事务

    本文将深入探讨C#语言中与数据库事务相关的原理及实践,包括事务的定义、特性、类型,以及如何在C#中利用Entity Framework(EF)进行事务开发和管理。 首先,我们需要理解什么是事务。在数据库系统中,事务是一组...

    深入理解分布式事务,高并发下分布式事务的解决方案

    本文来自于csdn,本文主要从分布式的原因,事务特性,和解决方案中深入理解了分布式事务,希望对您的学习有所帮助。 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的...

    面试官:什么是MySQL 事务与 MVCC 原理?.doc

    事务有四个特性:原子性、隔离性、一致性和持久性。 原子性(Atomicity):一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。 一致性(Consistency):数据库的完整性不会因为事务的...

    Spring事务流程图

    Spring事务管理是Spring框架的核心特性之一,主要用于处理应用程序中的数据一致性问题。在Spring中,事务管理分为编程式和声明式两种方式。本篇文章将详细解释Spring事务管理的流程,以及如何通过时序图来理解这一...

    数据库事务总结 数据库事务总结

    #### 一、事务的基本概念与特性 **事务**是数据库系统中的一个逻辑工作单元,它由一系列的操作组成,这些操作要么都完成,要么都不完成,以此来保证数据的一致性和完整性。 #### 二、事务的四大特性(ACID) 1. *...

    SpringBoot事务和Spring事务详讲

    事务具有四个核心特性,简称 ACID: 1. **原子性 (Atomicity)**:事务中的所有操作要么全部成功,要么全部失败。这意味着事务中的各个操作被视为一个不可分割的整体。 2. **一致性 (Consistency)**:事务完成后,...

Global site tag (gtag.js) - Google Analytics