摘要: 1. 原子性(ATOMICITY): 一个事务要被完全的无二义性的做完或撤消。在任何操作出现一个错误的情况下,构成事务的所有操作的效果必须被撤消,数据应被回滚到以前的状态。
2. 一致性(CONSISTENCY): 一个事务应该保护所有定义在数据上的不变的属性(例如完整性约束)。在完成了一个成功的事务时,数据应处于一致的状态。换句话说,一个事务应该把系统从一个一致状态转换到另一个一致状态。举个例子,在关系数据库的情况下, 一个一致的事务将保护定义在数据上的所有完整性约束。
3. 隔离性(ISOLATION): 在同一个环境中可能有多个事务并发执行,而每个事务都应表现为独立执行。串行的执行一系列事务的效果应该同于并发的执行它们。这要求两件事:
* 在一个事务执行过程中,数据的中间的(可能不一致)状态不应该被暴露给所有的其他事务。
* 两个并发的事务应该不能操作同一项数据。数据库管理系统通常使用锁来实现这个特征。
4. 持久性(DURABILITY): 一个被完成的事务的效果应该是持久
阅读全文