摘要:2014上半年数据库系统工程师考试真题及答案解析下午卷 试题四.阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】 某高速路不停车收费系统(ETC)的业务描述如下:
下午卷
试题四.阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某高速路不停车收费系统(ETC)的业务描述如下:
(1)车辆驶入高速路入口站点时,将驶入信息(ETC卡号,入口编号,驶入时间) 写入登记表;
(2)车辆驶出高速路出口站点(收费口)时,将驶出信息(ETC卡号,出口编号, 驶出时间)写入登记表;根据入口编号、出口编号及相关收费标准,清算应缴费用, 并从绑定的信用卡中扣除费用。一张ETC卡号只能绑定一张信用卡号,针对企业用户,一张信用卡号可以绑定多 个ETC卡号。使用表绑定(ETC卡号,信用卡号)来描述绑定关系,从信用卡(信 用卡号,余额)表中扣除费用。 针对上述业务描述,完成下列问题:
【问题1】
在不修改登记表的表结构和保留该表历史信息的前提下,当车辆驶入时,如何保 证当前ETC卡已经清算过,而在驶出时又如何保证该卡已驶入而未驶出?请用100 字以内文字简述处理方案。
【问题2】
当车辆驶出收费口时,从绑定信用卡余额中扣除费用的伪指令如下:读取信用卡 余额到变量X,记为x = R(A);扣除费用指令x = x - a;写信用卡余额指令记为W(A, x)。 (1)当两个绑定到同一信用卡号的车辆同时经过收费口时,可能的指令执行序 列为:xl=R(A),xl =xl-al, x2 = R(A), x2 = x2-a2, W(A,xl),W(A,x2)。此时会出现什么问题?(100字以内)
(2)为了解决上述问题,弓丨入独占锁指令XLock(A)对数据A进行加锁,解锁指 令Unlock(A)对数据A进行解锁。请补充上述执行序列,使其满足2PL协议。
【问题3】
下面是用E-SQL实现的费用扣除业务程序的一部分,请补全空缺处的代码。
CREATE PROCEDURE 扣除(IN ETC 卡号 VARCHAR(20),IN 费用 FLOAT) BEGIN
UPDATE信用卡SET余额=余额一:费用
FROM信用卡,绑定
WHERE信用卡.信用卡号=绑定.信用卡号AND (a)
if error then ROLLBACK;
else (b)
END
参考答案
相关链接:
数据库系统工程师考试知识点分析与真题详解(第4版)
数据库系统工程师考试历年试题分析与解答(第4版)
数据库系统工程师考试下午知识点精讲与考前必练
数据库系统工程师考试考前串讲
软考备考资料免费领取
去领取