亚洲AV乱码一区二区三区女同,欧洲在线免费高清在线a,中文字幕丝袜四区,老少配老妇熟女中文高清

<s id="38axe"><nobr id="38axe"></nobr></s><abbr id="38axe"><u id="38axe"></u></abbr>

<sup id="38axe"></sup>
    <acronym id="38axe"></acronym>
  • <s id="38axe"><abbr id="38axe"><ins id="38axe"></ins></abbr></s>
    
    
        <s id="38axe"></s>

        2017上半年數(shù)據(jù)庫系統(tǒng)工程師考試案例分析真題(5)

        數(shù)據(jù)庫系統(tǒng)工程師 責(zé)任編輯:小布丁 2017-05-25

        添加老師微信

        備考咨詢

        加我微信

        摘要:希賽網(wǎng)為大家整理了2017上半年數(shù)據(jù)庫系統(tǒng)工程師考試案例分析真題,以下為第五部分。 試題五(共15分) 閱讀下列說明,回答問題1和問題2,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】

            希賽網(wǎng)為大家整理了2017上半年數(shù)據(jù)庫系統(tǒng)工程師考試案例分析真題,以下為第五部分。


        試題五(共15分)
        閱讀下列說明,回答問題1和問題2,將解答填入答題紙的對應(yīng)欄內(nèi)。
        【說明】
        某搶紅包軟件規(guī)定發(fā)紅包人可以一次拋出多個(gè)紅包,由多個(gè)人來搶。要求每個(gè)搶紅包的人最多只能搶到同一批次中的一個(gè)紅包,且存在多個(gè)人同時(shí)搶同一紅包的情況。給定的紅包關(guān)系模式如下:
        Red(ID,BatchID,SenderID,Money,ReceiverID)
        其中ID標(biāo)識每一個(gè)紅包;BatchID為發(fā)紅包的批次,一個(gè)BatchID值可以對應(yīng)多個(gè)ID值;SenderID為發(fā)紅包人的標(biāo)識;Money為紅包中的錢數(shù);ReceiverID記錄搶到紅包的人的標(biāo)識。
        發(fā)紅包人一次拋出多個(gè)紅包,即向紅包表中插入多條記錄,每條記錄表示一個(gè)紅包,其ReceiverID值為空值。
        搶某個(gè)紅包時(shí),需要判定該紅包記錄的ReceiverID值是否為空,不為空時(shí)表示該紅包己被搶走,不能再搶,為空時(shí)搶紅包人將自己的標(biāo)識寫入到ReceiverID宇段中,即為搶到紅包。
        【問題1】(9分)
        引入兩個(gè)偽指令a=R(X)和W(b,X)。其中a=R(X)表示讀取當(dāng)前紅包記錄的ReceiverID字段(記為數(shù)據(jù)項(xiàng)X)到變量a中,W(b,X)表示將搶紅包人的標(biāo)識b的值寫入到當(dāng)前紅包記錄的ReceiverID字段(數(shù)據(jù)項(xiàng)X)中,變量a為空值時(shí)才會執(zhí)行W(b,X)操作。假設(shè)有多個(gè)人同時(shí)搶同一紅包(即同時(shí)對同一記錄進(jìn)行操作),用aj=Rj(X)和Wi(bi,X)表示系統(tǒng)依次響應(yīng)的第i個(gè)人的搶紅包操作。假設(shè)當(dāng)前數(shù)據(jù)項(xiàng)X為空值,同時(shí)有三個(gè)人搶同一紅包,則
        (1)如下的調(diào)度執(zhí)行序列:
        aJ=RJ(刻,a2=R2(X),Wj(bj,X),W2仇,刻,a3=R3(X)
        搶到紅包的是第幾人?并說明理由。
        (2)引入共享鎖指令SLockj(X)、獨(dú)占鎖指令XLock i(X)和解鎖指令ULock i(X),其中下標(biāo)i表示第i個(gè)搶紅包人的指令。如下的調(diào)度執(zhí)行序列:
        SLockj(X),aj=Rj(X),SLock2(X),a2=R2(X),XLockj(X)......
        是否會產(chǎn)生死鎖?并說明理由。(3)為了保證系統(tǒng)第一個(gè)響應(yīng)的搶紅包人為最終搶到紅包的人,請使用上述。)中
        引入的鎖指令,對上述(1)中的調(diào)度執(zhí)行序列進(jìn)行修改,在滿足2PL協(xié)議的前提下,給出一個(gè)不產(chǎn)生死鎖的完整的調(diào)度執(zhí)行序列。
        【問題2】(6分)
        下面是用SQL實(shí)現(xiàn)的搶紅包程序的一部分,請補(bǔ)全空缺處的代碼CREATE PROCEDURE ScrambleRed(IN Batchl詞。VARCHAR(20),
        因RecvrNo VARCHAR仰))
        --紅包批號一接收紅包者--是否已搶過此批紅包
        if exists(SELECT*FROM Red
        WHERE BatchID=BatchNo AND ReceiverID=Re&#231;vrNo)也m
        return-1,;
        讀取此批派發(fā)紅包中未領(lǐng)取的紅包記錄ID
        DECLARENonR vedRedCURSORFOR SELECTID'&gt;
        FROMRed
        WHERE BatchID=BatchNo AND ReceiverID IS NULL;
        -打開游標(biāo)
        OPEN NonRecvedRed;
        FETCH NonRecvedRed INTO NonRecvedNo;
        while not error
        一搶紅包事務(wù)
        BEGIN TRANSACTION;
        H寫入紅包記錄
        UPDATE RED STE RECDIVER ID=RecvrNo
        WHERE ID=nonRECVED AND(a)
        //執(zhí)行狀態(tài)判定
        If(修改的記錄數(shù))=1 THEN
        COMMIT
        (B);
        Return 1’
        Else
        ROLLBACK
        End if
        (c)
        End while
        關(guān)閉游標(biāo)
        CLOSE NnoRecved RD
        Return0;
        END


        >>>>返回目錄:2017上半年數(shù)據(jù)庫系統(tǒng)工程師考試案例分析真題(匯總)
        >>>>進(jìn)入估分:2017上半年軟考分?jǐn)?shù)早知道,在線估分+真題解析
        >>>>點(diǎn)擊查看:2017上半年數(shù)據(jù)庫系統(tǒng)工程師考試案例分析真題答案和解析

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

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

        去領(lǐng)取

        !
        咨詢在線老師!