事务及ACID四大特性
事务及ACID四大特性 1. 事务 事务(Transaction)是并发控制单位,是用户定义的一个操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。 在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。 事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。 1.1 概念 在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。 1.2 特性 事务是恢复和并发控制的基本单位。 事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。 2. ACID特性 2.1 原子性(atomicity) 一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。 2.2 一致性(consistency) 事务必须是使数据库从一个一致性状态变到另一个一致性状态。 比如,当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统在运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。 如果事务没有原子性的保证,那么在发生系统 故障的情况下,数据库就有可能处于不一致状态。 因而,事务的原子性与一致性是密切相关的。 2.3 隔离性