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