并发控制概述(续) 令并发操作带来的数据不一致性 丢失修改( Lost Update) 不可重复读(Non- repeatable Read) 读“脏”数据( Dirty Read) 记号 R(x):读数据X Wx×:写数据 An Introduction to Database System
An Introduction to Database System 并发控制概述(续) ❖并发操作带来的数据不一致性 ▪ 丢失修改(Lost Update) ▪ 不可重复读(Non-repeatable Read) ▪ 读“脏”数据(Dirty Read) ❖记号 ▪ R(x):读数据x ▪ W(x):写数据x
1.丢失修改 两个事务T1和T2读入同一数据并修改,T2的提交 结果破坏了T1提交的结果,导致T1的修改被丢失 令上面飞机订票例子就属此类 An Introduction to Database System
An Introduction to Database System 1. 丢失修改 ❖两个事务T1和T2读入同一数据并修改,T2的提交 结果破坏了T1提交的结果,导致T1的修改被丢失。 ❖上面飞机订票例子就属此类
丢失修改(续) ①R(A)=16 R(A)=16 ③A←A-1 W(A)=15 A←A W(A)=15 丢失修改 An Introduction to Database System
An Introduction to Database System 丢失修改(续) T1 T2 ① R(A)=16 ② R(A)=16 ③ A←A-1 W(A)=15 ④ A←A-1 W(A)=15 丢失修改
2.不可重复读 ☆不可重复读是指事务T读取数据后,事务T2 执行更新操作,使T1无法再现前一次读取结果。 An Introduction to Database System
An Introduction to Database System 2. 不可重复读 ❖不可重复读是指事务T1读取数据后,事务T2 执行更新操作,使T1无法再现前一次读取结果
不可重复读(续) ◆不可重复读包括三种情况: (1)事务T1读取某一数据后,事务T2对其做了修改 当事务T再次读该数据时,得到与前一次不同的 值 An Introduction to Database System
An Introduction to Database System 不可重复读(续) ❖不可重复读包括三种情况: (1)事务T1读取某一数据后,事务T2对其做了修改, 当事务T1再次读该数据时,得到与前一次不同的 值