用看的、听的学真题

study by eyes and ears.

  1. 首页
  2. 数据库系统工程师
  3. 2009年05月数据库系统工程师考试下午真题【应用技术】
  4. 真题详解

2009年05月数据库系统工程师考试下午真题【应用技术】(第5题) 收藏

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

  假设实现停车场管理的伪指令如下表1所示:

  根据上述描述,在入口处的伪代码程序为:
  x=Get();
  IF x=NULL THEN return 0;
  Write(x,1);

问题1 (3.0分)

  若两辆车在不同的入口处同时执行上述代码,会出现什么问题?(100字以内描述)
暂无

问题2 (8.0分)

  为保证入口处伪代码正确地并发执行,引入共享锁指令SLock(T)和独占锁指令XLock(T)对表T进行加锁;Upgrade(T)对表T所加的共享锁升级为独占锁;解锁指令 Unlock(T)对表T进行解锁。
  (1)请修改上述入口处的伪代码程序,使其满足2PL协议。
  (2)满足2PL协议的入口处的伪代码程序,在并发执行时是否会产生死锁?若是,给出一个产生死锁的调度。
暂无

问题3 (4.0分)

  若停车位表的关系模式为: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
暂无
广告位