什么是事务?事务的ACID特性
发布日期:2021-06-29 16:00:44
浏览次数:3
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月04日 21时05分51秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
vue使用typescript / uniapp 使用typescript
2019-04-30
webpack打包html里面img后src为“[object Module]”
2019-04-30
使用webpack打包发现css单行注释报错
2019-04-30
webpack 打包拆分原则和理解(SplitChunksPlugin)
2019-04-30
Object.fromEntries方法报错
2019-04-30
MyEclipse10 加载慢内存消耗严重优化方案
2019-04-30
二叉排序树、二叉平衡树
2019-04-30
21、栈的压入、弹出序列
2019-04-30
如何利用平台的不同去推广?
2019-04-30
如何在 MacOS 中删除 Time Machine 本地快照?
2019-04-30
如何使用 SSD 升级 MacBook Pro
2019-04-30
Windows 11无法支持 Mac 安装?用这招轻松绕过 TPM 限制
2019-04-30
MacBook 键盘出现故障,如何修复?
2019-04-30
M1 Mac专用utm虚拟机安装Windows 11教程
2019-04-30
无需升级 macOS Monterey 使用新版本 safari 浏览器的方法
2019-04-30
macOS 12 Monterey beta 2
2019-04-30
苹果Mac如何限制进程 CPU 资源占用?
2019-04-30
数字货币是什么?和贵金属及法定货币有什么区别?
2019-04-30