跟小博老师一起学习数据库 ——ACID规则

现代的数据库基本都支持多用户的并发操作,为保证操作过程中数据的正确性,一定要包含原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),简称为ACID原则。

跟小博老师一起学习数据库 ——ACID规则_第1张图片

l原子性

事务由若干SQL语句构成,执行过程极有部分SQL发生错误。原子性指当发生错误时,把以执行成功SQL操作撤销,就当什么事情也没有发生过。

比如我们在保存一张出存单时,一般分成三步。先向出库表插入订单摘要数据,再保存商品明细到订单项目表,接着减少商品表的对应商品库存数据量,这三个操作都成功才能视为操作成功。

如第一、二步操作成功,但减少库存时发生了错误而没有减少库存数量,必须自动把第一、二步操作取消,否则就产生了无效数据,原子性能做到。

l一致性

当同时时刻并发了多个事务,必须保证系统的一致性。

比如系统中A商品现有库存为100,三个帐户同时对A进行操作,张三对A商品出库50,李四对A入库20,赵六对A商品出库10,系统A库存的最终数据应是60。

l隔离性

所谓的隔离性是指一个事务正在操作某些数据时,另一个事务也要操作此数据,必须等第一个事务完成后第二个事务能继续执行。

例如你从A帐户在转帐1000元到B帐户,在这个交易还没完成的情况下,查询B帐户是看不到新加的1000元的。

l持久性

事务一旦操作成功,数据以保存到了存储介质,就算系统重启、掉电也不会丢失,除非存储介质发生了物理损坏。

ACID是数据库事务正确执行的4个基本要素,现代数据库都遵循这些规则,否则极有可能产生无效数据。

你可能感兴趣的:(跟小博老师一起学习数据库 ——ACID规则)