当前位置:问答库>考研试题

2018年河南科技学院食品学院341农业综合知识三(自命题)[专业硕士]之数据库系统概论考研基础五套测试题

  摘要

一、简答题

1. 叙述数据库中死锁产生的原因和解决死锁的方法。

【答案】(1)死锁产生的原因:封锁可以引起死锁。比如事务封锁了数据A ,事务了数据B 。但A 己被成了死锁。

(2)解决死锁的常用方法有如下3种:

①要求每个事务一次就要将它所需要的数据全部加锁。

②预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。

③允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有锁,使其他事务能继续运行下去。

2. 请给出缓冲区管理中的一个淘汰算法, 并上机实现(提示:首先需要设计缓冲区的数据结构,然后写出算法)。

【答案】借助队列实现LRU 页面替换算法作为缓冲区管理的淘汰算法。 定义缓冲区的数据结构如下:

完整的参考代码如下:

第 2 页,共 51 页

封锁

又申 请封锁数据B ,但因B 被封锁,所以也处于等待状态。这样,

封锁,所以和

只能等待。又申请封锁数据A ,

处于相互等待状态而均不能结束,这就形

第 3 页,共 51 页

第 4 页,共 51 页