数据库系统概论第十一章习题

1.数据库中为什么要并发控制?并发控制技术能保证事务那些特性?

答:如果事务是串行执行,会让大部分资源得不到利用,数据库采用并发采用,使多个事
   务可以同时进行,充分利用系统资源,但这会使事务ACID特性遭到破坏,因此需要采
   用并发控制;隔离性、一致性。

2.并发操作可能产生哪几类数据不一致?用什么方法能避免不一致情况。

答:丢失修改(两事务同时修改)、不可重复读(一个事务读之后,另一个事务 进行了修
    改、插入、删除)、读脏数据(一个改,一读,但改的被撤销了)。
    可以采用封锁、时间戳和乐观控制法。

3.什么是封锁?基本类型有?试述他们的含义

:封锁就是事务T对数据进行操作之前向系统请求加锁,加锁后T对数据有一定控制能力,
锁为释放,其他事务对该数据不能更新。
   基本类型有排他锁(X锁),共享锁(S锁)。
   排它锁指只有T可以对其进行读写操作,锁未释放之前,其他事务不可加锁,不可读
写该数据;共享锁指T可以进行读,锁未释放之前,其他事务只能加S锁,进行读操作。

4.什么样的并发调度是正确的调度?

:可串行化调度,其结果与事务某一次序串行执行这些事务的结果相同。
   注意思考怎么得到不可串行调度:把所有串行执行列出来,找一个结果不等于他们的
   调度。

5.冲突可串行化调度

冲突操作是指不同事务对同一数据的读写、写写操作,如果在不改变冲突操作的次序下
交换两个不冲突操作次序,结果是可以串行的,则称本身这个调度为冲突可串行化调度,
其是可串行化调度的充分条件。

6.两段锁协议

指所有事务必须分两个阶段对数据项进行加锁和解锁
读写操作之前,首先申请封锁
释放封锁之后,不得再加锁
其产生的是可串行调度
发布了29 篇原创文章 · 获赞 6 · 访问量 385

猜你喜欢

转载自blog.csdn.net/qq_36684096/article/details/104307488