数据库事务的四大特性ACID
数据库事务(Transaction)是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个或多个SQL语句组成,这些语句作为一个整体一起向系统提交,要么全部执行,要么全部不执行。事务的四大特性,即ACID,是评估一个数据库系统是否满足事务处理要求的重要指标,具体包括:
-
原子性(Atomicity)
:
- 原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部完成,要么全部不执行,如果事务中的某个操作失败了,系统必须撤销事务中已经完成的所有操作,恢复到事务执行前的状态。
- 原子性通过“回滚”(Rollback)和“提交”(Commit)来实现,确保事务的完整性和一致性。
-
一致性(Consistency)
:
- 一致性是指事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态。事务在执行前后,数据库中的数据必须保持一致性和业务规则。
- 换句话说,事务的执行不能破坏数据的完整性和业务逻辑的一致性约束。
-
隔离性(Isolation)
:
- 隔离性是指多个用户并发访问数据库时,数据库系统能隔离各个用户的事务,以防止多个事务并发执行时由于交叉执行而导致数据的不一致。
- 隔离性通过数据库锁(Locks)、事务日志(Transaction Logs)等技术实现,确保每个事务在完全提交之前对其他事务是不可见的。
- 隔离级别包括:读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable)。
-
持久性(Durability)
:
- 持久性是指一旦事务被提交,它对数据库的改变就是永久性的,即使数据库系统发生故障也不会丢失所提交事务的修改。
- 持久性通过数据库的恢复机制(如日志和检查点机制)来实现,确保在系统崩溃等异常情况下,已提交的事务仍然能够被恢复。
ACID特性共同保证了数据库事务的可靠性和数据的一致性,是数据库事务处理的基础。
简而言之
1、原子性 --> 指在事物操作的情况下,事物包裹的sal语句要么全部执行,要么全部回滚
2、一致性 --> 数据操作前后,发生的变化是一致的。
3、隔离性 --> 不同事务之间是不会产生干扰的,是独立的
4.、特久性 --> 事务一但提交数据库发生改变是永久的