美文网首页
数据库事务

数据库事务

作者: 墨_0b54 | 来源:发表于2020-05-06 08:42 被阅读0次

定义:事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些 操作要么都执行,要么都不执行,它是一个不可分割的工作单位。所以,事务是数据库 维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。
事务是DBMS的基本单位,是构成单一逻辑工作单元的操作集合.

事务的四个基本特征:

① Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操 作要么全部成功,要么全部失败。

② Consistency(一致性):事务完成时,数据必须处于一致状态,数据的完整性约束没有被破坏,事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

③ Isolation(隔离性):事务允许多个用户对同一个数据进行并发访问,而不破坏数据 的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立。

④ Durability(持久性):事务结束后,事务处理的结果必须能够得到固化。

事务的SQL操作语句:

① 开始事务:begin TRANSACTION;

② 提交事务:commit TRANSACTION;

③ 回滚事务:rollback TRANSACTION;

事务的并发问题:

一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库。数据库中的相同数据可能同时被多个事务访问,如果没有采取必要的隔离措施,就会导致各种并发问题,破坏数据的完整性。这些问题可以归结为5类,包括3类数据读问题(脏读、幻象读和不可重复读)以及2类数据更新问题(第一类丢失更新和第二类丢失更新)。

① 脏读:A事务读取B事务尚未提交的更改数据

② 不可重复读:A事务读取了B事务已经提交的数据,导致两次读不一致

③ 幻象读:A事务读取了B事务新增的数据,幻象读和不可重复读是两个容易混淆 的概念,前者是指读到了其它已经提交事务的新增数据,而后者是指读到了已经提交事 务的更改数据(更改或删除)

④ 第一类丢失更新:A事务撤销时,把已经提交的B事务的更新数据覆盖了

⑤ 第二类丢失更新:A事务提交时覆盖了B事务提交的数据

事务日志

事务日志主要用于记录对事务的更新操作,包括增加,删除,修改.


原文链接:https://blog.csdn.net/zdplife/java/article/details/48032141

相关文章

  • Django之数据库事务编程

    在了解 Django 数据库事务编程前有必要先了解下数据库事务。 数据库事务(transaction) 数据库事务...

  • 数据库笔记

    数据库 数据库⭐MySQL 默认存储引擎InnoDB(事务性存储引擎)一、事务 数据库事务? 数据库事务有什么作用...

  • 数据库事务简介(一)--- 所谓事务

    事务的概念 数据库事务简介(一)--- 所谓事务数据库事务简介(二)--- 故障恢复(未完成)数据库事务简介(三)...

  • Spring学习之事务管理基础

    Spring学习之事务管理基础 数据库事务相关概念 事务的定义 事务,一般指的是数据库事务,是指数据库操作的时候,...

  • 事务及事务隔离级别

    事务及事务隔离级别 什么是事务 事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务...

  • 搞懂Redis(四)-Redis事务

    事务本质:一组命令的集合 数据库事务与Redis事务 数据库事务数据库事务通过ACID(原子性.一致性.隔离性.持...

  • SpringBoot 数据库事务

    SpringBoot 数据库事务 事务: 数据库事务是 访问并可能更新 数据库中各种数据项的一个程序执行单元 事务...

  • SPRING的事务详解

    一、什么是事务 事务的概念 事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务的正...

  • 4.MySQL的事务与锁(1)

    本章要点 1.数据库事务2.MVCC 1 数据库事务 1.1 事务特性 事务具有的特性:ACID(Atomicit...

  • spring事务

    1、什么是事务事务和数据库操作有关,commit事务提交,rollback事务回滚事务作用:保证一组和数据库有关的...

网友评论

      本文标题:数据库事务

      本文链接:https://www.haomeiwen.com/subject/cmfightx.html