SQL 07 - ACID
ACID
原子性(Atomicity)
事务被分割为不可分割的最小单元, 事务的所有操作要么全部提交成功, 要么全部回滚失败.
一致性(Consistency)
数据库在事务执行前后都保持一致性状态. 在一致性状态下, 所有事务对一个数据的读取结果都是相同的.
隔离性(Isolation)
一个事务所做的修改在最终提交之前, 对其他事务不可见.
持久性(Durability)
一旦事务提交, 则其所做的修改将会永远修改到数据库中. 即使系统发生崩溃, 事务执行的结果也不能丢失. 可以通过数据库备份和恢复来实现, 在系统发生崩溃时, 使用备份的数据库进行数据恢复.
注意
- 只有满足一致性, 事务的执行结果才是正确的.
- 在无并发的情况下, 事务串行执行, 隔离性一定能够满足. 此时只要能满足原子性, 就一定能满足一致性.
- 在并发的情况下, 多个事务并行执行, 事务不仅要满足原子性, 还需要满足隔离性, 才能满足一致性.
- 事务满足持久化是为了能够应对数据库崩溃的情况.