MySQL ACID和范式

本文介绍了数据库事务的四大特性(ACID),即原子性、一致性、隔离性和持久性,并通过具体示例进行说明。此外,还阐述了一范式(1NF)、二范式(2NF)和三范式(3NF)的概念及其相互之间的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

事务正确执行的4要素:

事务是数据库中的执行基本单元

ACID分别是原子性/一致性/隔离性/持久性

原子性:一个事务要么全部执行成功,要么全部回滚;

一致性:在事务执行前后不会破坏数据的完整性;例如从账号A转到账号B ¥100,相应的A-100,B+100,总额不会变,事务前后保持一致;

隔离性:完成前不会被其他事务看到当前执行的事务;例如未提交前,其他事务查询到的balance仍是当前事务执行前的balance;

持久性:事务提交之后则永久性更新了数据,无法回滚;

例子:

start transaction;

update account set balance = balance - 20 where name = 'erika';

update account set balance = balance + 30 where name = 'erika';

commit;

隔离级别


范式 

超关键字:一个实体集中可以唯一的标识实体的属性或者属性组,可能有多余的属性

候选关键字:一个实体集中可以唯一的标识实体的属性或者属性组,没有多余的属性

主关键字:当作表行唯一标识的候选关键字

函数依赖:A依赖B(AB为属性或者属性组,记B->A),则根据B可以决定A

完全依赖:B中没有多余的属性

部分依赖:B中有多余的属性

传递依赖:A依赖B,B依赖C,则A依赖C,B->A, C->B, 则C->A


1NF: 数据库表的每一项都是不可再分的原子数据项

2NF:首先1NF, 且非主属性完全依赖于主属性

3NF:首先2NF,且属性不依赖于其他非主属性

BCNF:首先1NF,且所有属性都不部分依赖于主属性也不传递依赖于主属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值