数据库事务四大特性
ACID四大特性:
1.原子性(Atomicity)
- 一个事务执行的操作要么全部成功,要么全部失败回滚;
- 即事务操作若成功就要完全应用到数据库;
- 若失败则不能对数据库产生任何影响。
2.一致性(Consistency)
- 事务必须使数据库从一个一致性状态转移到另一个一致性状态;
- 即事务执行前后都必须处于一致性状态。
- eg. 甲乙一共有1000块钱,无论甲乙之间进行多少次转账,他们的总金额必须始终是1000。
3.隔离性(Isolation)
- 当多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离;
- eg. 对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。
- 隔离性及隔离级别在下一篇中
4.持久性(Durability)
- 一个事务一旦被提交了,他对数据库的改变是永久性的;
- 即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。
- eg. 使用JDBC操作数据库时,在提交事务方法后,提示用户事务操作完成,当我们程序执行完成直到看到提示后,就可以认定事务已经正确提交,即使这时候数据库出现了问题,也必须要将我们的事务完全执行完成,否则就会造成我们看到提示事务处理完毕,但是数据库因为故障而没有执行事务的重大错误。
参考:
https://www.cnblogs.com/xrq730/p/5087378.html
https://www.cnblogs.com/fjdingsd/p/5273008.html