77范文网 - 专业文章范例文档资料分享平台

2018 年上半年数据库系统工程师考试上午真题+下午真题(5)

来源:网络收集 时间:2018-12-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

ETime DATETIME, );

【问题 2】(4 分)

当归还时间为空值时,表示用户还未还车,系统每天调用事务程序从用户余额中自动扣除当日租金,每个事务修改一条用户记录中的余额值。由用户表上的触发器实现业务:如用户当日余额不足,不扣除当日租金,自动向不良记录表中加入一条记录,记录中的 BId 取值由 UserId+系统当前日期构成, Btime 采用 GETDATE()函数取系统当前时间。补全创建触发器 Bad_TRG 的 SQL 语句。 CREATE TRIGGER Bad_TRG (e) UPDATE

of Balance ON USERS

Referencing new row as nrow

For each row

When nrow.Balance< 0

BEGIN

(f)

//插入不良记录 INSERT INTO BADS

;

BRID,

SELECT CONCAT(BORROWs. UserId, CONVERT(varchar(100),

GETDATE(), 10)), BORROWS UserId, (g)

// CONVERTO 函数将日期型数据改为字符串型

//CONCATO 函数实现字符串拼接

FROM BORROWS

WHERE (h) AND ETime IS NULL;

END

【问题 3】(4 分)

不良记录是按日记录的,因此用户一次租车可能会产生多条不良记录。创建不良记录单视图 BADS_Detail,统计每次租车产生的不良记录租金费用总和大于 200 的记录,属性有 UserId、Name、BRId、CId、 Stime、 Etime 和 total(表示未缴纳租金总和)。补全建视图 BADS Detail 的 SQL 语句。

CREATE VIEW (i) AS

SELECT BADS. UserId, USERS. Name, BADS.BRId,

CARS. Cld, Stime, Etime,

(j)

=BADS.

UserId

GROUP BY BADS. UserId, USERS. Name, BADS.BRID, CARS. CId,

Stime, Etime

HAVING (1) ;

【问题 4】(3 分)

FROM BORROWS BADS. CARS. USERS

WHERE BORROWS.BRId=BADS. BRId

AND BORROWS.Cid=CARS. Cld

AND (k)

AS total

查询租用了型号为“A8”且不良记录次数大于等于 2 的用户,输出用户编号、姓名,

并按用户姓名降序排序输出。 SELECT USERS. UserId, Name FROM USERS,BORROWS, CARS

WHERE USERS. UserId= BORROWS. UserId AND BORROWS.Cid= CARS. CId

AND (m) AND EXISTS( SELECT * FROM BADS

WHERE BADS. UserId=BORROWS.UserId

(n)

GROUP BY UserId ORDER BY (0)

AND

HAVING COUNT(*)>= 2) ;

● 试题五(共 15 分)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】

某超市销售系统的部分关系模式如下

商品表: Commodity(Ccode, Cname, price,qty),其中属性含义分别为:商品编号、商品名称、价格、库存量,有专门的事务保证库存量足够大,销售时无需检测。 销售表: Sale(Sno,Ccode, amount, Stime),其中属性含义分别为:销售编号,商品编号、数量、时间。

其销售业务规则如下:顺客在超市挑选好商品后,带商品到结算处结算付款,结算处有多名结算员使用多台机器进行结算。结算员负责扫顾客购买商品的条码和数量,由系统后台结算程序计算出顺客购买商品的总金额,修改商品表的商品库存量,并将销售信息写入销售表。请根据上述描述,回答以下问题。

【问题 1】(3 分)

假设有两个顾客同时购买同一条码的商品,结算事务修改该商品的库存量(记为数据项 X)部部分的调度如图 5-1 所示。

如果购买前 X 的初值为 10,则上述调度执行完成后,X 的值是多少?属于哪一类不一致性?

【问题 2】(6 分)

引入独占锁指令 Clock()和解锁指令 Unlock(),对【问题 1】中的调度进行重写,要求满足两段锁协议,且事务 T1、T2 首条指令的相对请求时间与【问题 1】中的相同。【问题 3】(6 分)

下面是用 SQL 实现的结算程序,请补全空缺处的代码。

要求在保证销售信息不丢失的前提下,达到最大的系统并发度。

CREATE PROCEDURE buy(IN: CommNo VARCHAR(20), IN: AmountBuy INT)

BEGIN

//输入合法性验证

if(: AmountBuy<1) return-1;

SET TRANSACTION ISOL

LEVEL (a) ;

BEGIN TRANSACTION;

//插入销售记录 INSERT INTO Sale

VALUES(getGUID(),: CommNo, AmountBuy, getDATETIME()); //函数 getGUID():获取唯一值

//函数 getDATETIME():获取当前系统日期时间

if error ∥error 是由 DBMS 提供的上一句 SQL 的执行状态

BEGN

ROLLBACK; return-2;

END

//修改库存数量 UPDATE Commodity

SET

ATION

qty=

WHERE Ccode=: CommNo;

if error

BEGIN

(b)

ROLLBACK;

END

(c)

END

return-3;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2018 年上半年数据库系统工程师考试上午真题+下午真题(5)在线全文阅读。

2018 年上半年数据库系统工程师考试上午真题+下午真题(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/385521.html(转载请注明文章来源)
上一篇:锅炉题库
下一篇:劳动合同的效力
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: