2.一致性 事务执行的结果必须是使数据库从一个 致性状态变到另一个一致性状态 致性状态: 数据库中只包含成功事务提交的结果 不一致状态 数据库中包含失败事务的结果
2. 一致性 事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态 一致性状态: 数据库中只包含成功事务提交的结果 不一致状态: 数据库中包含失败事务的结果
致性与原子性 银行转帐:从帐号A中取出一万元,存入帐号B 定义一个事务,该事务包括两个操作 六 B A=A B=B+1 这两个操作要么全做,要么全不做 全做或者全不做,数据库都处于一致性状态。 如果只做一个操作,数据库就处于不一致性状 态
一致性与原子性 银行转帐:从帐号A中取出一万元,存入帐号B。 – 定义一个事务,该事务包括两个操作 – 这两个操作要么全做,要么全不做 • 全做或者全不做,数据库都处于一致性状态。 • 如果只做一个操作,数据库就处于不一致性状 态。 B=B+1 A=A- 1 A B
3.隔离性 对并发执行而言 个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发 事务是隔离的 并发执行的各个事务之间不能互相干扰
3. 隔离性 对并发执行而言 一个事务的执行不能被其他事务干扰 • 一个事务内部的操作及使用的数据对其他并发 事务是隔离的 • 并发执行的各个事务之间不能互相干扰
①读A=16 读A=16 ③A←A-1 写回 A=15 A←A-3 写回A=13 T1的修改被T2覆盖了
T1的修改被T2覆盖了! 读A=16 A←A-3 写回A=13 ① 读A=16 ② ③ A←A-1 写回 A=15 ④ T1 T2
4.持续性 持续性也称永久性( Permanence) 一个事务一旦提交,它对数据库中数据的 改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行 结果有任何影响
4. 持续性 • 持续性也称永久性(Permanence) – 一个事务一旦提交,它对数据库中数据的 改变就应该是永久性的。 – 接下来的其他操作或故障不应该对其执行 结果有任何影响