当前位置: 首页 > news >正文

【数据库】事务(概念和特点)

一、 什么是事务

事务是在数据库中执行的一系列操作单元,这些操作要么全部成功提交,要么全部失败回滚。

二、事务的特点:

  • 原子性(Atomicity):事务是一个不可分割的操作单元,要么全部执行成功,要么全部执行失败。如果事务中的任何一部分操作失败,将回滚到事务开始前的状态,保证数据的完整性。
  • 一致性(Consistency):事务执行的结果,须使数据从一个一致性状态到另一个一致性状态
  • 隔离性(Isolation):事务的执行互不干扰,任何事务内部操作对其他事务都是隔离的。并发执行的多个事务之间应该互相隔离,以防止数据争用和不一致的问题。
  • 持久性(Durability):一旦事务提交成功,它对数据库的改变应永久保存,即使系统发生故障也不会丢失。数据库系统通过将事务的操作记录写入持久存储介质(如磁盘)来保证数据的持久性。

三、一个例子说明事物

假设有一个银行系统,其中有两个账户:账户A和账户B。现在有一个转账操作需要将一定金额从账户A转移到账户B。

在这个转账操作中,可以将其作为一个事务来处理。事务包含以下步骤:

  1. 开始事务。
  2. 从账户A扣除一定金额。
  3. 向账户B添加同样的金额。
  4. 提交事务。

如果在整个过程中没有出现错误,即成功执行了步骤 2 和步骤 3,并且事务成功提交,那么账户A和账户B的余额将会根据转账操作进行更新,保持总额不变。

然而,如果在执行过程中出现了错误,比如步骤 3 遇到了问题,无法向账户B添加金额,那么事务将会回滚(Rollback),取消之前的步骤,账户A的金额也不会被扣除。

http://www.lryc.cn/news/147911.html

相关文章:

  • LA@齐次线性方程组解的结构
  • Docker修改容器ulimit的全部方案及各方案的详细步骤
  • 进程间通信-Binder
  • 一个简单的vim例子
  • sql server 备份到网络共享
  • 程序与进程
  • 大模型从入门到应用——LangChain:链(Chains)-[链与索引:图问答(Graph QA)和带来源的问答(QA with Sources)]
  • spark sql 数据倾斜--join 同时开窗去重的问题优化
  • lv3 嵌入式开发-linux介绍及环境配置
  • RabbitMQ工作模式-路由模式
  • StringIO BytesIO
  • 通讯录管理系统(个人学习笔记黑马学习)
  • [SpringBoot3]远程访问@HttpExchange
  • Linux安装ntp并使用阿里云配置ntp服务器
  • js常用方法总结
  • 在PHP中安装Composer并管理Vue前端依赖包
  • 03-前端基础CSS-第一天
  • 多张图片转为pdf怎么弄?
  • jdk新版本特性
  • 进程Start
  • SpringCloud学习笔记(六)_Ribbon服务调用
  • 系统架构设计师考试论文:论无服务器架构及其应用
  • linux下安装Mycat
  • OpenCV(八):图像二值化
  • 《Flink学习笔记》——第十一章 Flink Table API和 Flink SQL
  • 电脑提示缺少d3dx9_43.dll的问题及5个解决方法
  • Linux stat 命令及示例
  • 06-基础例程6
  • 【附安装包】Eplan2022安装教程
  • 大数据-玩转数据-Flink窗口