首页 > 试题广场 >

讲一下数据库ACID的特性?

[问答题]
原子性(atomicity): 一个事物必须被视为一个不可分割的最小工作单元,整个事物中的操作要么全部提交成功,要么全部失败回滚,对于一个事物来说,不可能只执行其中的一部分操作,这就是的原子性。 一致性(consistency): 数据库总是从一个一致性的状态转到另一个事务的一致性状态。 由于事物的一致性,所以如果这时候执行完第三系统突然奔溃,支票账户也不会损失100,因为事物还没提交eg: 1 start transaction ; 2 select * from checking where id=1; 3 update checking set balance=balance-100 where id=1; 4 update savings set balance=balance+100 where id=1; 5 commit; 隔离性(isolation):一个事物所做的修改在最终提交前,对其他事物是不可见的。在前面的例子中,如果执行到第3,此时有另一个账户汇款,则其看见的支票账户得余额并没有被减去100。 持久性(durability): 一旦事物提交,则其所做的修改就会永远保存在数据库中。
编辑于 2019-01-30 15:31:36 回复(0)
  1. 原子性(Atomicity):一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。
  2. 一致性(Consistency):在一个事务执行之前和执行之后数据库都必须处于一致性状态。如果事务成功完成,那么系统中所有变化将正确应用。如果事务出错,那么系统中的所有变化自动回滚。
  3. 隔离性(Isolation):在并发环境中,当不同的事务同时操作相同的数据时,每个事务都有各自的完成数据空间。数据更新时,数据所处的状态要么是更新前的状态,要么是更新后的状态。
  4. 持久性(Durability):只要事务成功结束,它对数据库所做的更新就必须永久保存下来。
编辑于 2019-07-30 07:34:22 回复(0)
准确的讲是事务的ACID特性。
A(),原子性:事务的操作是一个不可再分的整体,要么全做,要么全不做
C(),一致性:事务对数据库的操作,总是使数据库从一个一致性状态变为另一个一致性状态。
I(),隔离性:事务之间的操作是相互独立的,互不干扰
D(),持久性:事务一旦提交,那么它对数据库的修改是永久性的

举例:
一致性:A从银行取出100,那么她的账户上就应该少一百。不能取了后,但是账户没有少。
持久性:A存100元后(假设以后不再有其他操作),那么A账户里面永远都有100。不能说明天100就不见了
编辑于 2020-04-28 15:01:31 回复(0)

事务被视为不可分割的最小单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行。
1 、原子性 Atomicity
事务的所有操作要么全部提交成功,要么全部失败回滚。
2 、一致性 consistency
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
3 、隔离性 Isolation
事务之间的操作是相互独立的,互不干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
4 、持续性 Durability
事务一旦提交,那么它对数据库的修改是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。

发表于 2020-11-07 13:48:51 回复(0)
ACID是指在 数据库管理系统(DBMS)中事物所具有的四个特性:原子性、一致性、隔离性、持久性
发表于 2019-05-02 18:49:15 回复(0)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 一致性指事务前后数据的完整性必须保持一致。 隔离性指多个用户并发访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间数据要相互隔离。 持久性是指一个事务一旦提交,它对数据库中数据的改变就是永久性的,即便数据库发生故障也不应该对其有任何影响。
发表于 2019-04-25 19:19:51 回复(0)
原子性 一致性 隔离性 持久性
发表于 2019-01-09 11:41:10 回复(0)