Files
chill_notes/实践积累/数据库/关系型数据库遵循ACID规则.md
2026-04-21 17:41:25 +08:00

14 lines
1.7 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**关系型数据库遵循ACID规则**
==事务在英文中是transaction和现实世界中的交易很类似它有如下四个特性==
**1、A (Atomicity) 原子性**
==原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。==
==比如银行转账从A账户转100元至B账户分为两个步骤1从A账户取100元2存入100元至B账户。这两步要么一起完成要么一起不完成如果只完成第一步第二步失败钱会莫名其妙少了100元。==
**2、C (Consistency) 一致性**
==一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。==
==例如现有完整性约束a+b=10如果一个事务改变了a那么必须得改变b使得事务结束后依然满足a+b=10否则事务失败。==
**3、I (Isolation) 独立性**
==所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。==
==比如现在有个交易是从A账户转100元至B账户在这个交易还未完成的情况下如果此时B查询自己的账户是看不到新增加的100元的。==
**4、D (Durability) 持久性**
==持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。==
> 来自 <[http://www.runoob.com/mongodb/nosql.html](http://www.runoob.com/mongodb/nosql.html)>