特性 | 说明 | 备注 | |
1 | 原子性 (Atomicity) | 事务所有操作在数据库中,要么全做要么全不做 | 银行转账的两个操作必须作为一个单位来处理 |
2 | 一致性 (Consistency) | 数据不会因为事务执行而被破环 一致性是对现实世界真实状态的描述 一致性由DBMS完整性约束机制自动完成,复杂事务由程序完成 | 银行转账业务一旦执行,最终应该账目平衡。 执行过程中会出现瞬间的不一致状态(A转给B,A已扣款B尚未收到),不能被其他事务访问 |
3 | 隔离性 (Isolation) | 一个事务的执行不能被其他事务干扰。 | 事务执行中数据不一致性状态出现时,不能让其他事务读取到不一致的数据 |
4 | 持久性 (Durability) | 事务一旦提交,对数据库的改变必须是永久的(即便系统故障) | 转账事务执行成功后,A、B账户余额就是新值,在没有对其修改前保持不变;即使系统出现故障,也应恢复到原始值。 |