事务

发布时间 2023-11-01 11:35:11作者: 懒虫的小老弟
  • 事务基础

     

    事务:代表一个业务边界(业务逻辑的多条语句组成)
    比如:博客管理系统(用户实体,板块实体,主贴实体,回帖实体)回帖业务
      
      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):事务提交后,对数据库数据的影响是持久性(永久的)