什么是事务?事务的ACID特性
发布日期:2021-06-29 16:00:44
浏览次数:2
分类:技术文章
本文共 719 字,大约阅读时间需要 2 分钟。
事务
事务(Transaction)是一个数据库操作序列, 这些操作要么全做,要么全不做,是一个不可分割的工作单位。
事务是恢复和并发控制的基本单位。 事务既可以显式定义,也可以由DBMS自动定义。事务和程序
在关系数据库中,一个事务可以是一条SQL语句,一组 SQL语句或整个程序,一个程序通常包含多个事务。
牢记事务是一个原子操作即可,类比OS中的原语。⭐️事务的ACID特性
- 原子性(Atomicity) 事务中包括的诸操作要么都做,要么都不做。
- 🤔一致性(Consistency) 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 举例:银行转账,从A账户取出1W元存入B账户,即
A=A-1, B=B+1
如果只做了一个操作,就会产生错误,数据库处于不一致状态。 - 隔离性(Isolation) 一个事务的执行不能被其他事务干扰,一个事务内部的操作及使用的数据对其他并发事务是隔离的。且并发执行的各个事务之间不能互相干扰。
- 持续性(Durability ) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,接下来的其他操作或故障不应该对其执行结果有任何影响。
保证事务ACID特性是事务处理的任务。
破坏事务ACID特性的因素
- 多个事务并行运行时,不同事务的操作交叉执行 数据库管理系统必须保证多个事务的交叉运行不影响这些事务的隔离性,即一个事务不会影响另一个事务。
- 事务在运行过程中被强行停止 数据库管理系统必须保证被强行终止的事务对数据库和其他事务没有任何影响。
数据库的恢复
如果确实发生了错误,数据库还要保证恢复,即必须具有把数据库从错误状态恢复到某 一已知的正确状态,称为数据库的恢复功能。
转载地址:https://suprit.blog.csdn.net/article/details/115217135 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月28日 23时29分04秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
论坛热贴 | RT-Thread音频驱动开发(一)
2019-04-29
基于 Keil MDK 移植 RT-Thread Nano
2019-04-29
【报名截至今晚】12月14日深圳嵌入式与音频开发专题会议预告
2019-04-29
移植 RT-Thread Nano 到 RISC-V
2019-04-29
软件包应用分享|基于RT-Thread的百度语音识别(二)
2019-04-29
在 RT-Thread Nano 上添加控制台与 FinSH
2019-04-29
一站式开发工具:RT-Thread Studio 正式发布
2019-04-29
留言有礼|谢谢你悄悄点了小星星,让我们跃居GitHub RTOS Star榜第一
2019-04-29
功能更新!C 函数也能在 MicroPython 中被调用啦
2019-04-29
东软载波携ES32+RT-Thread走进海尔集团
2019-04-29
今晚8点直播预告:RT-Thread Studio等相关主题答疑
2019-04-29
物联网 20 年简史大揭秘!
2019-04-29
开源项目|RT-Thread 软件包应用作品:水墨屏桌面台历
2019-04-29
珠联璧合!基于i.MX RT和RT-Thread的物联网云接入方案
2019-04-29
基于RTT-MicroPython制作自带BGM的新型肺炎晴雨表
2019-04-29
开源项目|RT-Thread 软件包应用作品:小闹钟
2019-04-29
在 RT-Thread Studio 上使用 RT-Thread Nano
2019-04-29
开源项目|软件包应用作品:通用物联网系统平台
2019-04-29