跟小博老师一起学习数据库 ——ACID规则
来源:互联网 发布:php接口压力测试工具 编辑:程序博客网 时间:2024/05/21 06:13
现代的数据库基本都支持多用户的并发操作,为保证操作过程中数据的正确性,一定要包含原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),简称为ACID原则。
l 原子性
事务由若干SQL语句构成,执行过程极有部分SQL发生错误。原子性指当发生错误时,把以执行成功SQL操作撤销,就当什么事情也没有发生过。
比如我们在保存一张出存单时,一般分成三步。先向出库表插入订单摘要数据,再保存商品明细到订单项目表,接着减少商品表的对应商品库存数据量,这三个操作都成功才能视为操作成功。
如第一、二步操作成功,但减少库存时发生了错误而没有减少库存数量,必须自动把第一、二步操作取消,否则就产生了无效数据,原子性能做到。
l 一致性
当同时时刻并发了多个事务,必须保证系统的一致性。
比如系统中A商品现有库存为100,三个帐户同时对A进行操作,张三对A商品出库50,李四对A入库20,赵六对A商品出库10,系统A库存的最终数据应是 60。
l 隔离性
所谓的隔离性是指一个事务正在操作某些数据时,另一个事务也要操作此数据,必须等第一个事务完成后第二个事务能继续执行。
例如你从A帐户在转帐1000元到B帐户,在这个交易还没完成的情况下,查询B帐户是看不到新加的1000元的。
l 持久性
事务一旦操作成功,数据以保存到了存储介质,就算系统重启、掉电也不会丢失,除非存储介质发生了物理损坏。
ACID是数据库事务正确执行的4个基本要素,现代数据库都遵循这些规则,否则极有可能产生无效数据。
0 0
- 跟小博老师一起学习数据库 ——ACID规则
- 跟小博老师一起学习数据库 ——表
- 跟小博老师一起学习数据库 ——delete
- 跟小博老师一起学习数据库 ——约束
- 跟小博老师一起学习数据库 ——索引
- 跟小博老师一起学习数据库 ——函数
- 跟小博老师一起学习数据库 ——NoSql
- 跟小博老师一起学习数据库 ——数据库范式
- 跟小博老师一起学习数据库 ——H2内存数据库
- 跟小博老师一起学习数据库 ——H2内存数据库
- 跟小博老师一起学习数据库 ——MySql安装
- 跟小博老师一起学习数据库 ——SQL语言
- 跟小博老师一起学习数据库 ——WHERE子句
- 跟小博老师一起学习数据库 ——order by
- 跟小博老师一起学习数据库 ——GROUP BY
- 跟小博老师一起学习数据库 ——多表查询
- 跟小博老师一起学习数据库 ——连接查询
- 跟小博老师一起学习数据库 ——外连接
- MATLAB interp1
- python--annacoda和mongodb的安装步骤
- RecyclerView判断是否滑动到底
- [机器学习]前向逐步回归
- find()和filter()的区别
- 跟小博老师一起学习数据库 ——ACID规则
- leetcode 38
- MYSQL explain详解
- 使用commons-vfs监听文件系统
- Z字形遍历矩阵
- eclipse(springmvc+spring+mybatis)(上)
- [JZOJ5049] 腐女的生日
- POJ 3177 Redundant Paths(边双连通分量+缩点)
- SPP-Net论文学习(2)