摘要:為幫助考生估分,希賽小編為大家整理了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所示。
(1)在事務(wù)提交讀隔離級(jí)別下,該網(wǎng)點(diǎn)的匯總和取款事務(wù)是否成功結(jié)束?
(2)如果該數(shù)據(jù)庫(kù)提供了多版本并發(fā)控制協(xié)議,兩個(gè)事務(wù)是否成功結(jié)束?
相關(guān)推薦:2022年數(shù)據(jù)庫(kù)系統(tǒng)工程師下午真題及答案解析
熱點(diǎn)推薦:2022年數(shù)據(jù)庫(kù)系統(tǒng)工程師真題及答案解析
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題