您的位置:首页 > 数据库

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

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



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个基本要素,现代数据库都遵循这些规则,否则极有可能产生无效数据。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息