免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2024年上半年 数据库系统工程师 下午试卷 案例
  第4题      

 
(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某高速路不停车收费系统(ETC)的业务描述如下:
(1)车辆驶入高速路入口站点时,将驶入信息(ETC卡号,入口编号,驶入时间) 写入登记表;
(2)车辆驶出高速路出口站点(收费口)时,将驶出信息(ETC卡号,出口编号, 驶出时间)写入登记表;根据入口编号、出口编号及相关收费标准,清算应缴费用,并从绑定的信用卡中扣除费用。
一张ETC卡号只能绑定一张信用卡号,针对企业用户,一张信用卡号可以绑定多 个ETC卡号。使用表绑定(ETC卡号,信用卡号)来描述绑定关系,从信用卡(信用卡号,余额)表中扣除费用。
针对上述业务描述,完成下列问题:
 
问题:4.1   在不修改登记表的表结构和保留该表历史信息的前提下,当车辆驶入时,如何保 证当前ETC卡已经清算过,而在驶出时又如何保证该卡已驶入而未驶出?请用100 字以内文字简述处理方案。
 
问题:4.2   当车辆驶出收费口时,从绑定信用卡余额中扣除费用的伪指令如下:读取信用卡余额到变量X,记为x = R(A);扣除费用指令x = x - a;写信用卡余额指令记为W(A, x)。
(1)当两个绑定到同一信用卡号的车辆同时经过收费口时,可能的指令执行序列为:x1=R(A),x1 =x1-a1, x2 = R(A), x2 = x2-a2, W(A,x1,W(A,x2)。此时会出现什么问题?(100字以内)
(2)为了解决上述问题,引入独占锁指令XLock(A)对数据A进行加锁,解锁指令Unlock(A)对数据A进行解锁。请补充上述执行序列,使其满足2PL协议。
 
问题:4.3   下面是用E-SQL实现的费用扣除业务程序的一部分,请补全空缺处的代码。
 
 
 

   题号导航      2024年上半年 数据库系统工程师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第4题    在手机中做本题