软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2009年上半年数据库系统工程师考试下午真题试题(案例分析)
考试中心《2009年上半年数据库系统工程师考试下午真题试题(案例分析)》在线考试
试卷年份2009年上半年
试题题型【分析简答题】
试题内容

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某停车场有多个入口和出口,车辆进入时从入口处由系统查询可用的停车位,从出口驶出时系统将其刚使用的车位标记为空车位。

根据上述描述,在入口处的伪代码程序为:
x = Get();
IF x =NULL THEN return 0;
Writ(x, 1);
【问题1】(3) 
    若两辆车在不同的入口处同时执行上述代码,会出现什么问题?(100字以内描述)
【问题2】(8分) 
    为保证入口处伪代码正确地并发执行,引入共享锁指令 SLock(T)和独占锁指令XLock(T)对表 T 进行加锁;Upgrade(T)对表 T 所加的共享锁升级为独占锁;解锁指令Unlock(T)对表T 进行解锁。
    (1)请修改上述入口处的伪代码程序,使其满足2PL协议。
    (2)满足2PL协议的入口处的伪代码程序,在并发执行时是否会产生死锁?若是,给出一个产生死锁的调度。
【问题3】(4分)
    若停车位表的关系模式为:park(parkno, isused),其中parkno为停车位号,isused为停车位标志,0为空,1为非空。
    下面是用E-SQL实现的查询空车位的函数Get(),请补全空缺处的代码。
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
EXEC SQL DECLARE getblk CURSOR FOR
 (a)    ;
 EXEC SQL OPEN getblk ;
 EXEC SQL FETCH getblk INTO :Hparkno; // Hparkno为已声明的主变量
 IF SQLCA.sqlcode = 100 THEN
 EXEC SQL CLOSE getblk ;    Return NULL;
 ELSE
(b)    ;
END IF 


相关试题

推荐文章
合作网站内容