数据库事务的四大特性(ACID)
ACID
ACID 是数据库事务的四个关键特性,分别是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
-
原子性(Atomicity):
-
解释: 事务是一个原子操作单元,要么全部执行成功,要么全部失败回滚,不存在部分执行的情况。
-
例子: 考虑银行转账操作,从一个账户扣除一定金额并将相同金额添加到另一个账户。如果扣款成功但添加失败,整个事务应该回滚,确保数据的一致性。
-
-
一致性(Consistency):
-
解释: 事务使数据库从一个一致性状态转移到另一个一致性状态,保证数据的完整性。
-
例子: 在图书馆管理系统中,借书和还书操作是一个事务。如果某人借了一本书,系统必须确保在还书前其他人无法借到相同的书,以保持图书馆的一致性状态。
-
-
隔离性(Isolation):
-
解释: 多个事务并发执行时,每个事务都应该感觉就像是系统中唯一运行的事务,相互之间不会产生影响。
-
例子: 考虑一个在线购物网站,两个用户同时购买同一商品。系统必须确保两个事务(购买操作)之间相互隔离,以防止一个用户的购买操作影响另一个用户。
-
-
持久性(Durability):
-
解释: 一旦事务提交,对数据库的修改应该是永久性的,即使系统崩溃也不应该丢失。
-
例子:
-