所谓事物,就是将一组相关操作组合为一个要么全部成功要么全部失败的单元,确保除非事物性单元的所有操作都成功完成,否则不会永久更新面向数据的资源,可以简化错误恢复并使应用程序更加可靠。(用转账来举例:当A执行一个向B转账500元钱的操作时,数据库中要执行的是A总钱减少500元并加以显示,而B的数据库要增加500元并显示出增加后的结果,这样才能说该事物的完成)。一个逻辑工作单元要完成事物,往往必须满足事物的四大特性(ACID原则)。
- 原子性(Atomicity):
事物的完成要么完全成功,要么就回滚。只有事物中所有的数据库操作都执行成功,才算整个事物成功。对数据库要么是完全正确的,要么就不记录任何数据。
- 一致性(Consistency):
事物发生前后,数据库只能此从一致性的一个状态转换为另一个一致性的状态;在事物开始之前和结束之后,数据库的完整性约束没有被破坏。
- 隔离性(lsolation):
多个事物并发操作时,事物之间不会相互影响;每一个读写事物的对象对其他事物的操作对象相互分离,即事物提交之前,对其他事物都不可见(实现方法:锁)
- 持久性(Durability):
一旦事物提交,数据就会持久化在数据库中,不可能再被回滚的,执行成功后就会全部写入磁盘。