2022年數(shù)據(jù)庫(kù)系統(tǒng)工程師下午真題(四)

數(shù)據(jù)庫(kù)系統(tǒng)工程師 責(zé)任編輯:胡媛 2022-05-29

添加老師微信

備考咨詢

加我微信

摘要:為幫助考生估分,希賽小編為大家整理了2022年數(shù)據(jù)庫(kù)系統(tǒng)工程師下午真題(四),希望對(duì)大家估分會(huì)有幫助。

為方便廣大考生考后估分對(duì)答案,希賽網(wǎng)特向廣大學(xué)員和網(wǎng)友搜集整理了2022年數(shù)據(jù)庫(kù)系統(tǒng)工程師下午真題(四),供大家參考。希賽網(wǎng)老師也將在考后進(jìn)行真題答案解析,敬請(qǐng)廣大考生關(guān)注。

試題四(共15分)

閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。

【說(shuō)明】

某銀行賬務(wù)系統(tǒng)的部分簡(jiǎn)化后的關(guān)系模式如下:

賬戶表:accounts(a_no,a_name,a_status, a_balop, en_branch_no,open_branch_name,phone _no);屬性含義分別為:賬戶編碼、賬戶名稱、賬戶狀態(tài)(1-正常、2-凍結(jié)、3-掛失)、賬戶余額、開(kāi)戶網(wǎng)點(diǎn)編碼、開(kāi)戶網(wǎng)點(diǎn)名稱、賬戶移動(dòng)電話。

賬戶交易明細(xì)表:trade_details(t_date,optr_no,serial_no,t_branch,a_no,t_type,t_amt,t_result);屬性含義分別為:交易日期、操作員編碼、流水號(hào)、交易網(wǎng)點(diǎn)編碼、賬戶編碼、交易類型(1-存款、2-取款)、交易金額、交易結(jié)果(1-成功、2-失敗、3-異常、4-已取消)。

網(wǎng)點(diǎn)當(dāng)日余額匯總表:branch _sum(b_no,b_date,b_name,all_bal);屬性含義分別為:網(wǎng)點(diǎn)編碼、匯總?cè)掌?、網(wǎng)點(diǎn)名稱、網(wǎng)點(diǎn)開(kāi)戶賬戶的總余額。

系統(tǒng)提供常規(guī)的賬戶存取款交易,并提供賬戶余額變更通知服務(wù)。該賬務(wù)系統(tǒng)是7*24h不間斷的提供服務(wù);網(wǎng)點(diǎn)當(dāng)日余額匯總操作一般在當(dāng)日晚上12點(diǎn)左右,運(yùn)維人員在執(zhí)行日終處理操作中完成。

【問(wèn)題1】(6分)

下面是系統(tǒng)日終時(shí)生成網(wǎng)點(diǎn)當(dāng)日余額匯總數(shù)據(jù)的存儲(chǔ)過(guò)程程序,請(qǐng)補(bǔ)全空缺處的代碼。

CREATE PROCEDURE BranchBalanceSum(INs date char(8)) 

DECLARE

all_balancenumber(142);

 V_bran no varchar(10) ;

v_bran name varchar(30); 

(a)c_sum_bal IS

SELECT open_branch_no,open_branch_name,sum(a_bal)

FROM accounts GROUP BY open_branch_no,open_branch_name; 

BEGIN

OPEN c sum bal; 

LOOP

(b)c_sum bal INTO v_bran_no,_(c)_;

IF c_sum_bal%%NOTFOUND THEN//未找到記錄(d);

END IF;

INSERT INTO branch_sum

VALUES(v_bran_no,s_date,v_bran_name,all_balanc e);

END LOOP;

CLOSE_(e); COMMIT;

EXCEPTION WHEN OTHERS THEN_(f) 

END;

【問(wèn)題2】(5分)

當(dāng)執(zhí)行存取款交易導(dǎo)致用戶賬戶余額發(fā)生變更時(shí),賬務(wù)系統(tǒng)需要給用戶發(fā)送余額變更短信通知。通知內(nèi)容為"某時(shí)間您的賬戶執(zhí)行了某交易,交易金額為XX元,交易后賬戶余額為XXX元"。默認(rèn)系統(tǒng)先更新賬戶表,后更新賬戶交易明細(xì)表。

下面是余額變更通知功能對(duì)應(yīng)的程序,請(qǐng)補(bǔ)全空缺處的代碼。

CREATE TRIGGER BalanceNotice(g)INSERTon(h)(i) WHEN(i)=1 

DECLARE

v_phonevarchar(30); 

v_type varchar(30) 

v_bal number(142) 

v_msg varchar(300);

 BEGIN

SELECT phone_no,a_bal INTO v_phone,v_bal FROM accounts

WHERE a no=(k);

IF NEW.t type=1 THEN v_type:='存款';END IF;

 IFNEW.t type=2 THEN v_type:=取款;ENDIF;

vmsg:=NEW.t date||',您的賬‘||NEW a_no||'上執(zhí)行了'v_type交易,交易金額為"||to string(NEW.t amt)元,交易后賬戶余額為'||to_string(v bal)||'元';

SendMsg(v_phone,v_msg);//發(fā)送短信 END;

【問(wèn)題3】(4分)

假設(shè)日終某網(wǎng)點(diǎn)當(dāng)日余額匯總操作和同一網(wǎng)點(diǎn)某賬戶取款交易同一時(shí)間發(fā)生,對(duì)應(yīng)事務(wù)的部分調(diào)度序列如表4-1所示。

image.png

(1)在事務(wù)提交讀隔離級(jí)別下,該網(wǎng)點(diǎn)的匯總和取款事務(wù)是否成功結(jié)束?

(2)如果該數(shù)據(jù)庫(kù)提供了多版本并發(fā)控制協(xié)議,兩個(gè)事務(wù)是否成功結(jié)束?

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

軟考備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

!
咨詢?cè)诰€老師!