深夜成人在线,chinese国产一区二区,欧美精品乱码,日韩欧美在线视频免费观看,国产午夜不卡,日韩av影院在线,五月天婷婷国产精品

軟題庫 移動(dòng)APP 掃碼下載APP 隨時(shí)隨地移動(dòng)學(xué)習(xí) 培訓(xùn)課程
試卷名稱 2018年上半年數(shù)據(jù)庫系統(tǒng)工程師考試下午真題試題(案例分析)
考試中心《2018年上半年數(shù)據(jù)庫系統(tǒng)工程師考試下午真題試題(案例分析)》在線考試
試卷年份2018年上半年
試題題型【分析簡答題】
試題內(nèi)容

【說明】
某汽車租賃公司建立汽車租賃管理系統(tǒng),其數(shù)據(jù)庫的部分關(guān)系模式如下:
用戶:USERS(Userid,Name,Balance),各屬性分別表示用戶編號、姓名、余額;
汽車:CARS(Cid,Ctype,CPrice,CStatus)各屬性分別表示汽車編號、型號、價(jià)格(日租金)、狀態(tài);
租用記錄:BORROWS(BRid,Userid,Cid,STime,ETime),各屬性分別表示租用編號、用戶編號、汽車編號、租用時(shí)間、歸還時(shí)間;
不良記錄:BADS(Bid,Userid.BRid,BTime),各屬性分別表示不良記錄編號、用戶編號、租用編號、不良記錄時(shí)間。
相關(guān)關(guān)系模式的屬性及說明如下
(1)用戶租用汽車時(shí),其用戶表中的余額不能小于500,否則不能租用。
(2)汽車狀態(tài)為待租和已租,待租汽車可以被用戶租用,已租汽車不能租用。
(3)用戶每租用一次汽車,向租用記錄中添加一條租用記錄,租用時(shí)間默認(rèn)為系統(tǒng)當(dāng)前時(shí)間,歸還時(shí)間為空值,并將所租汽車狀態(tài)變?yōu)橐炎?。用戶還車時(shí),修改歸還時(shí)間為系統(tǒng)當(dāng)前時(shí)間,并將該汽車狀態(tài)改為待租。要求用戶不能同時(shí)租用兩輛及以上汽車.
(4)租金從租用時(shí)間起按日自動(dòng)扣除.
根據(jù)以上描述,回答下列問題,將SQL語句的空缺部分補(bǔ)充完整。

問題:4.1(4分)
請將下面建立租用記錄表的SQL語句補(bǔ)充完整,要求定義主碼完整性約束和引用完整性約束。
CREATETABLEBORROWS(
BRIDCHAR(20)(a),
UserIdCHAR(10)(b),
CldCHAR(10)(c),
STimeDATETIME(d),
ETimeDATETIME,
);

問題:4.2

(4分)
當(dāng)歸還時(shí)間為空值時(shí),表示用戶還未還車,系統(tǒng)每天調(diào)用事務(wù)程序從用戶余額中自動(dòng)扣除當(dāng)日租金,每個(gè)事務(wù)修改一條用戶記錄中的余額值。由用戶表上的觸發(fā)器實(shí)現(xiàn)業(yè)務(wù):如用戶當(dāng)日余額不足,不扣除當(dāng)日租金,自動(dòng)向不良記錄表中加入一條記錄,記錄中的BId取值由UserId+系統(tǒng)當(dāng)前日期構(gòu)成,Btime采用GETDATE()函數(shù)取系統(tǒng)當(dāng)前時(shí)間。補(bǔ)全創(chuàng)建觸發(fā)器Bad_TRG的SQL語句。
CREATETRIGGERBad_TRG(e)UPDATEofBalanceONUSERS
Referencingnewrowasnrow
Foreachrow
Whennrow.Balance<0
BEGIN
(f);
//插入不良記錄
INSERTINTOBADS
SELECTCONCAT(BORROWs.UserId,CONVERT(varchar(100),
GETDATE(),10)),BORROWSUserId,BRID,(g)
//CONVERT()函數(shù)將日期型數(shù)據(jù)改為字符串型
//CONCAT()函數(shù)實(shí)現(xiàn)字符串拼接
FROMBORROWS
WHERE(h)ANDETimeISNULL;
END

問題:4.3(4分)
不良記錄是按日記錄的,因此用戶一次租車可能會(huì)產(chǎn)生多條不良記錄。創(chuàng)建不良記錄單視圖BADS_Detail,統(tǒng)計(jì)每次租車產(chǎn)生的不良記錄租金費(fèi)用總和大于200的記錄,屬性有UserId、Name、BRId、CId、Stime、Etime和total(表示未繳納租金總和)。補(bǔ)全創(chuàng)建視圖BADS_Detail的SQL語句。
CREATEVIEW(i)AS
SELECTBADS.UserId,USERS.Name,BADS.BRId,CARS.Cld,Stime,Etime,
(j)AStotal
FROMBORROWSBADS.CARS.USERS
WHEREBORROWS.BRId=BADS.BRId
ANDBORROWS.Cid=CARS.Cld
AND(k)=BADS.UserId
GROUPBYBADS.UserId,USERS.Name,BADS.BRID,CARS.CId,Stime,Etime
HAVING(l);

問題:4.4(3分)
查詢租用了型號為“A8”且不良記錄次數(shù)大于等于2的用戶,輸出用戶編號、姓名,并按用戶姓名降序排序輸出。
SELECTUSERS.UserId,Name
FROMUSERS,BORROWS,CARS
WHEREUSERS.UserId=BORROWS.UserIdANDBORROWS.Cid=CARS.CId
AND(m)ANDEXISTS(
SELECT*FROMBADS
WHEREBADS.UserId=BORROWS.UserIdAND(n)
GROUPBYUserId
HAVINGCOUNT(*)>=2)
ORDERBY(O);


相關(guān)試題

推薦文章
合作網(wǎng)站內(nèi)容