数据库ACID特性

本文详细介绍了数据库事务的四大特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),并通过实例解释了这四个特性如何保证数据的完整性和一致性。重点讨论了并发执行事务时可能遇到的问题及解决策略。
摘要由CSDN通过智能技术生成

A(Atomicity)原子性,事务中的一个或多个操作,要么全执行,要么全不执行,它们是一个整体,不可部分执行;

A账户到B账户转账100元 ,将有下方两个操作,要么都执行,要么都不,不能只执行第1条,A账户扣钱了,而B账户没收到钱,也不能B账户收到了钱,而A账户没扣钱;

A=A-100

B=B+100

C(Consistency)一致性,数据变化前后满足预设规则,符合逻辑;

1、A账户余额100元,向B账户转200元,违反余额不足,不符合逻辑;

2、表中主键字段,被加入相同数据,违反主键唯一性约束,不满足预设规则;

I(Isolation)隔离性,并发执行的事务,不能有交叉干扰影响数据不一致;

A账户余额500元,B账户0元,并发事务①和事务②所有操作相同,执行A账户向B账户转账100元,如下过程,假如没隔离性,A=300,B=100,A账户少200元,而B账户只增加了100元;

①begin

②begin

①A=A-100 #A写入磁盘,A=400

①B=B+100 #从磁盘读取B=0

②A=A-100 #从磁盘读取,计算后,A=300

②B=B+100 #从磁盘读取B=0

①commit #A=300,B=100

②commit #A=300,B=100

D(Durability)持久性,事务执行结束,数据变化是永久性的,不能再反悔,修改回去,是另一次新的事务了;

A账户向B账户转账户100元,产生结果A、B余额写入磁盘;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值