数据库的四大原则(ACID)

数据库的四大原则,通常被称为 ACID 原则,是指事务处理的四个基本特性:

  1. 原子性(Atomicity)、
  2. 一致性(Consistency)、
  3. 隔离性(Isolation)、
  4. 持久性(Durability)。

这些特性确保了数据库事务的可靠性和数据的完整性。

1. 细则

1.1 原子性(Atomicity)

  • 定义:事务是一个不可分割的最小工作单位,事务中的所有操作要么全部成功,要么全部失败回滚。
  • 作用:保证事务的完整性,防止部分操作成功导致的数据不一致。
  • 示例:银行转账操作,从账户 A 转账 100 元到账户 B,这个操作必须是原子的,要么两个账户都更新成功,要么都不更新

1.2. 一致性(Consistency)

  •  定义:事务执行前后,数据库必须从一个一致状态转换到另一个一致状态。
  • 作用:确保数据库的状态始终满足所有的约束条件,如主键约束、外键约束等。
  • 示例:在银行系统中,转账操作必须确保账户余额不能为负数,否则事务应被回滚。

 1.3. 隔离性(Isolation)

  • 定义:多个事务并发执行时,一个事务的执行不应受到其他事务的干扰。
  • 作用:确保事务的独立性,防止并发事务之间的数据冲突。
  • 隔离级别:
    1. 未提交读(Read Uncommitted):允许读取未提交的数据,可能导致脏读。
    2. 提交读(Read Committed):只能读取已提交的数据,防止脏读,但可能导致不可重复读和幻读。
    3. 可重复读(Repeatable Read):在一个事务内多次读取同一数据,结果相同,防止脏读和不可重复读,但可能导致幻读。
    4. 可串行化(Serializable):最高的隔离级别,完全隔离并发事务,防止脏读、不可重复读和幻读,但性能最低。

 1.4. 持久性(Durability)

  • 定义:一旦事务提交,其对数据库的更改将是永久的,即使系统发生故障也不会丢失。
  • 作用:确保事务的结果在系统崩溃后仍然存在,数据不会丢失。
  • 实现:通过日志记录、事务日志、数据备份等机制来保证持久性。

2. 总结

原则 描述
原子性(Atomicity) 事务是一个不可分割的最小工作单位,要么全部成功,要么全部失败回滚。
一致性(Consistency) 事务执行前后,数据库必须从一个一致状态转换到另一个一致状态。
隔离性(Isolation) 多个事务并发执行时,一个事务的执行不应受到其他事务的干扰。
持久性(Durability) 一旦事务提交,其对数据库的更改将是永久的,即使系统发生故障也不会丢失。
上一篇:数据库实验四(SQL 数据库更新操作与完整性约束实践)


下一篇:C++50道经典面试(21-50题)