什么是事务
首先事务是指的一些列操作,这一系列的操作是一个整体,最后通过向系统提交,结果只能是成功或者失败,成功就是提交成功,失败就需要回滚到初始位置。
事务必须满足四个属性,简称为ACID:
1、原子性(Atomicity)
事务是一些列操作的整体,所以是不可分割的,对于结果来说只能是成功或者失败回滚;要么执行,要么失败
2、一致性(Consistency)
所有事务对于数据库读取结果都是一致的,也就是一个事务对一个数据进行操作,结果对于所有的事务读取来说都是一致性的
3、隔离性(Isolation)
一个事务对于数据库进行修改,别的事务来说就不能操作,保证事务的隔离性
4、持久性(Durability)
只要事务结果提交成功,那么提交在数据库中的数据就不可能丢掉,会永久保存
从上图可得到的信息:
- 只要事务满足了一致性要求,那么事务执行的结果就是正确的;
- 如果没有出现并发的情况,此时隔离性一定是满足的,所以一致性的结果满足的;
- 如果出现了并发的情况,那么隔离性和原子性一定要满足,才能得到一致性的结果;
- 持久性一般是为了应对数据库崩溃的情形