2.不可重复读 不可重复读是指事务1读取数据后,事务2 执行更新操作,使事务1无法再现前一次读 取结果。 An Introduction to Database System
An Introduction to Database System 2. 不可重复读 不可重复读是指事务1读取数据后,事务2 执行更新操作,使事务1无法再现前一次读 取结果
三类不可重复读 誓务1读取某一数据后: 1。事务2对其做了修改,当事务1再次读该 数据时,得到与前一次不同的值 2.事务2删除了其中部分记录,当事务1再次 读取数据时,发现某些记录神密地消失了 3.事务2插入了一些记录,当事务1再次按相 同条件读取数据时,发现多了一些记录 后两种不可重复读有时也称为幻影现象( phantom row An Introduction to Database System
An Introduction to Database System 三类不可重复读 事务1读取某一数据后: 1。事务2对其做了修改,当事务1再次读该 数据时,得到与前一次不同的值。 2. 事务2删除了其中部分记录,当事务1再次 读取数据时,发现某些记录神密地消失了。 3. 事务2插入了一些记录,当事务1再次按相 同条件读取数据时,发现多了一些记录。 后两种不可重复读有时也称为幻影现象(phantom row)
3.读“脏”数据 事务1修改某一数据,并将其写回磁盘 事务2读取同一数据后 事务1由于某种原因被撤消,这时事务1已修改过 的数据恢复原值 事务2读到的数据就与数据库中的数据不一致, 是不正确的数据,又称为“脏”数据 An Introduction to Database System
An Introduction to Database System 3. 读“脏”数据 事务1修改某一数据,并将其写回磁盘 事务2读取同一数据后 事务1由于某种原因被撤消,这时事务1已修改过 的数据恢复原值 事务2读到的数据就与数据库中的数据不一致, 是不正确的数据,又称为“脏”数据
图81三种数据不一致性 ①读A=16 读A=16 ③A←A-1 写回 A=15 A←A-1 写回A=15 (a)丢失修改 An Introduction to Database System
An Introduction to Database System 图8.1 三种数据不一致性 T1 T2 ① 读A=16 ② ③ A←A-1 写回 A=15 ④ 读A=16 A←A-1 写回A=15 (a) 丢失修改
图81三种数据不一致性(续) ①读A=50 读B=100 求和=150 读B=100 B←B*2 写回B=200 ③读A=50 读B=200 求和=250 验算不对) (b)不可重复读 An Introduction to Database System
An Introduction to Database System 图8.1 三种数据不一致性(续) 读B=100 B←B*2 写回B=200 ① 读A=50 读B=100 求和=150 ② ③ 读A=50 读B=200 求和=250 (验算不对) T1 T2 (b) 不可重复读