面试知识点学习1——事务的ACID特性

事务的ACID特性

  • 原子性(Atomicity)
    事务是数据库的逻辑工作单位,事务中包括的操作要么都做,要么都不做
  • 一致性(Consistency)
    事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态
    • 一致性状态:
      在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏,数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。
    • 不一致状态:
      数据库系统运行中发生故障,有些事务尚未完成就被迫中断;
      这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态 ;
      例如银行转账:A金额减少了,但是B金额未增加;
  • 隔离性(Isolation)
    并发执行的各个事务之间不能互相干扰;
    事务内部的操作及使用的数据对其他并发事务是隔离的;
    内部操作完成修改之前,对其他事务是不可见的;
  • 持续性(Durability )
    【面试知识点学习1——事务的ACID特性】只要事务成功结束,它对数据库所做的更新就必须永久保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。

    推荐阅读