-
事务基础
事务:代表一个业务边界(业务逻辑的多条语句组成)
比如:博客管理系统(用户实体,板块实体,主贴实体,回帖实体)回帖业务
1、用户向回帖表中插入一条记录INSERT INTO REPLY VALUES ....
2、回帖用户积分+3
UPDATE USER SET SCORE = SCORE + 3 WHERE USERNAME = '回帖用户';
3、发帖用户积分+5
UPDATE USER SET SCORE = SCORE + 5 WHERE USERNAME = '发帖用户';
上述三个步骤(语句)是一个业务整体
- 原子性(Atomicity):事务是一个整体的工作单元,事务对数据库所做的操作要么全部执行,要么全部取消。如果某条语句执行失败,则所有语句全部回滚。
- 一致性(Consistency):事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。如果事务成功,则所有数据将变为一个新的状态;如果事务失败,则所有数据将处于开始之前的状态。
- 隔离性(Isolation):事务与事务之间是相互隔离的
由事务所作的修改必须与其他事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。
- 持久性(Durability):事务提交后,对数据库数据的影响是持久性(永久的)