文档详情

并发控制封锁习题微.pdf

发布:2025-04-02约2.12千字共4页下载文档
文本预览下载声明

并发控制——习题

一、填空题

1、DB并发操作通常会带来三类问题,它们是丢失更新、(不可重复

读)和读脏数据

2、一般分为两种排它型,X和(共享型,S)

3、一级协议可解决(丢失修改)的问题。

4、三级协议可解决(不可重复读)的问题。

6、二级协议是一级协议加上事务在数据A之前必须

先对其加(S锁),读完后即可释放S锁。二级不仅可以解决

“丢失修改”问题,而且可以解决(读“脏“数据问题)。

二、选择题

1、为解决“丢失更新”问题,事务在更新一个数据集合前,必须获得

对它的(B)

A、S锁B、X锁C、S锁和X锁D、S锁或X锁

2、下面哪一级协议既可以解决读脏数据又可以解决重复读问题

(C)

A、一级协议B、二级协议

C、三级协议D、两段锁协议

3、在一级协议的基础上,另外加上事务T在数据对象A前

必须对其加S锁,读完后立即释放。这是(B)。

A、一级协议B、二级协议

C、三级协议D、零级协议

4、下面哪一级协议可以解决丢失修改问题(A)

A、一级协议B、二级协议

C、三级协议D、零级协议

三、分析题

1、设有两个事务T1、T2,其并发操作会带来哪一种数据不一致性问

题?如何使用三级协议加以解决?

答:本题并发操作带来数据不一致性问题为丢失修改,采用一级

协议来觖决该问题:事务T1在读A进行修改之前先对A加X锁,T1

A。当T2再请求对A加X锁时被。T2只能等待T1释放A

上的锁后T2获得对A的X锁。当T2读到A已经是T1更新过的值,

按此新A值进行运算并将结果送回磁盘,避免丢失T1的更新。这样

就解决了并发操作带来数据的丢失修改问题。

2、设有两个事务T1、T2,其并发操作会带来哪一种数据不一致性问

题?如何使用三级协议加以解决?

答:本题并发操作带来数据不一致性问题为读“脏”数据,采用二级

协议来觖决该问题:事务T1在对A进行修改之前,先对A加X

锁,修改其值后写回磁盘。T2请求在A上加S锁,因T1已在A

上加了X锁,T2只能等待。T1因某种被撤销,A恢复为原值100。

T1释放A上的X锁后T2获得A上的S锁,读A=100,避免了T2读

“脏”数据。

3、设有两个事务T1、T2,,其并发操作会带来哪一种数据不一致性问

题?如何使用三级协议加以解决?

答:本题并发操作带来数据不一致性问题不可重复读,采用三级

协议来觖决该问题:事务T1在读A之前,先对A加S锁;其他事务只

能再对A加S锁,而不能加X锁,即其他事务只能读A,而不能修改。

当T2为修改A而申请对A的X锁时被只能

显示全部
相似文档