2018上半年數(shù)據(jù)庫系統(tǒng)工程師下午真題(三)

數(shù)據(jù)庫系統(tǒng)工程師 責任編輯:胡媛 2018-06-01

添加老師微信

備考咨詢

加我微信

摘要:很多考生關注數(shù)據(jù)庫系統(tǒng)工程師下午考試,小編為大家整理了2018上半年數(shù)據(jù)庫系統(tǒng)工程師下午真題,以下為第三部分。

● 試題五(共15分)

閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應欄內(nèi)。

【說明】

某超市銷售系統(tǒng)的部分關系模式如下

商品表: Commodity(Ccode, Cname, price,qty),其中屬性含義分別為:商品編號、商品名稱、價格、庫存量,有專門的事務保證庫存量足夠大,銷售時無需檢測。

銷售表: Sale(Sno,Ccode, amount, Stime),其中屬性含義分別為:銷售編號,商品編號、數(shù)量、時間。

其銷售業(yè)務規(guī)則如下:順客在超市挑選好商品后,帶商品到結算處結算付款,結算處有多名結算員使用多臺機器進行結算。結算員負責掃顧客購買商品的條碼和數(shù)量,由系統(tǒng)后臺結算程序計算出順客購買商品的總金額,修改商品表的商品庫存量,并將銷售信息寫入銷售表。

請根據(jù)上述描述,回答以下問題。

【問題1】(3分)

假設有兩個顧客同時購買同一條碼的商品,結算事務修改該商品的庫存量(記為數(shù)據(jù)項X)部部分的調(diào)度如圖5-1所示。

  2018上半年數(shù)據(jù)庫系統(tǒng)工程師下午真題

如果購買前X的初值為10,則上述調(diào)度執(zhí)行完成后,X的值是多少?屬于哪一類不一致性?

【問題2】(6分)

引入獨占鎖指令 Clock()和解鎖指令 Unlock(),對【問題1】中的調(diào)度進行重寫,要求滿足兩段鎖協(xié)議,且事務T1、T2首條指令的相對請求時間與【問題1】中的相同。

【問題3】(6分)

下面是用SQL實現(xiàn)的結算程序,請補全空缺處的代碼。

要求在保證銷售信息不丟失的前提下,達到最大的系統(tǒng)并發(fā)度。

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

BEGIN

//輸入合法性驗證

if(: AmountBuy<1) return-1;

SET TRANSACTION ISOL ATION LEVEL  (a)   ;

BEGIN TRANSACTION;

//插入銷售記錄

INSERT INTO Sale

VALUES(getGUID(),: CommNo, AmountBuy, getDATETIME());

//函數(shù) getGUID():獲取值

//函數(shù) getDATETIME():獲取當前系統(tǒng)日期時間

if error  ∥error是由DBMS提供的上一句SQL的執(zhí)行狀態(tài)

BEGN

ROLLBACK;  return-2;

END

//修改庫存數(shù)量

UPDATE Commodity

SET qty=  (b)

WHERE Ccode=: CommNo;

if error

BEGIN

ROLLBACK;  return-3;

END

(c)

END


>>>>>>2018上半年數(shù)據(jù)庫系統(tǒng)工程師下午真題匯總

>>>>>>查看更多數(shù)據(jù)庫系統(tǒng)工程師歷年真題

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內(nèi)容為準!

軟考備考資料免費領取

去領取

!
咨詢在線老師!