数据库原子性一致性

Ram*_*tal 17 database acid

原子性和一致性有什么区别?在我看来,两个人用不同的词说同样的话.

原子性

执行事务的所有任务或不执行任何任务.没有部分交易.例如,如果事务开始更新100行,但系统在20次更新后失败,则数据库将更改回滚到这20行.

一致性

事务将数据库从一个一致状态转换为另一个一致状态.例如,在借记储蓄账户并贷记支票账户的银行交易中,故障不得导致数据库仅贷记一个账户,这将导致数据不一致.

小智 17

原子性确实说每个事务都是全部或全部,意味着它的所有动作都没有被执行,也没有部分动作.

但是,一致性讨论了确保任何事务将数据库从一个有效状态转移到另一个有效状态.写入数据库的任何数据必须根据所有定义的规则有效,包括但不限于约束,级联,触发器及其任何组合 (取自维基百科).这基本上意味着只有有效的状态被写入数据库,并且如果事务不违反数据一致性就会被执行,如果没有,则会被回滚.

希望它能为你解决问题.


M.N*_*mjo 5

简单解释 为了一致性:如果数据库中的字段类型是整数,它应该只接受整数值而不接受其他类型。如果要在该字段中存储其他类型,则违反了一致性。在这种情况下,事务将回滚。