亚洲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>

        2013上半年數(shù)據(jù)庫系統(tǒng)工程師考試真題及答案解析下午卷(五)

        數(shù)據(jù)庫系統(tǒng)工程師 責(zé)任編輯:茶泡了飯 2015-12-30

        添加老師微信

        備考咨詢

        加我微信

        摘要:2013上半年數(shù)據(jù)庫系統(tǒng)工程師考試真題及答案解析下午卷 試題五 閱讀以下說明,根據(jù)要求回答下列問題。 [說明] 某連鎖酒店提供網(wǎng)上預(yù)訂房間業(yè)務(wù),流程如下:

        >>>>>>>>>>點(diǎn)擊進(jìn)入數(shù)據(jù)庫系統(tǒng)工程師考試網(wǎng)絡(luò)課堂

        >>>>>>>>>>點(diǎn)擊進(jìn)入數(shù)據(jù)庫系統(tǒng)工程師歷年真題題庫

        >>>>>>>>>>點(diǎn)擊進(jìn)入數(shù)據(jù)庫工程師考試大綱教材


        2013上半年數(shù)據(jù)庫系統(tǒng)工程師考試真題及答案解析

        下午卷


          試題五
        閱讀以下說明,根據(jù)要求回答下列問題。
          [說明]
        某連鎖酒店提供網(wǎng)上預(yù)訂房間業(yè)務(wù),流程如下:
        13、客戶查詢指定日期內(nèi)所有類別的空余房間數(shù),系統(tǒng)顯示空房表(日期,房間類別,數(shù)量)中的信息。
          14、客戶輸入預(yù)訂的起始日期、結(jié)束日期、房間類別和數(shù)量,并提交。
        15、系統(tǒng)將用戶提交的信息寫入預(yù)訂表(身份證號(hào),起始日期,結(jié)束日期,房間類別,數(shù)量),并修改空房表的相關(guān)數(shù)據(jù)。
        針對(duì)上述業(yè)務(wù)流程,回答下列問題。
          13、如果兩個(gè)用戶同時(shí)查詢相同日期和房間類別的空房數(shù)量,得到的空房數(shù)量為1,并且這兩個(gè)用戶又同時(shí)要求預(yù)訂,可能會(huì)產(chǎn)生什么結(jié)果,請(qǐng)用100字以內(nèi)的文字簡(jiǎn)要敘述。
          14、引入如下偽指令:將預(yù)訂過程作為一個(gè)事務(wù),將查詢和修改空房表的操作分別記為RA.和W(A,x),插入預(yù)訂表的操作記為W(B,a),其中x代表空余房間數(shù),a代表預(yù)訂房間數(shù),則事務(wù)的偽指令序列為:x=RA.,W(A,x-a),W(B,a)。
              在并發(fā)操作的情況下,若客戶1、客戶2同時(shí)預(yù)訂相同類別的房間時(shí),可能出現(xiàn)的執(zhí)行序列為:x1=RA.,x2=RA.,W(A,x1-a1),W(B1,a1),W(A,x2-a2),W(B2,a2)。
              (1)此時(shí)會(huì)出現(xiàn)什么問題,請(qǐng)用100字以內(nèi)的文字簡(jiǎn)要敘述。
          (2)為了解決上述問題,引入共享鎖指令SLock(X)和獨(dú)占鎖指令XLock(X)對(duì)數(shù)據(jù)X進(jìn)行加鎖,解鎖指令Unlock(X)對(duì)數(shù)據(jù)X進(jìn)行解鎖,請(qǐng)補(bǔ)充上述執(zhí)行序列,使其滿足2PL協(xié)議,不產(chǎn)生死鎖且持有鎖的時(shí)間最短。 15、下面是實(shí)現(xiàn)預(yù)訂業(yè)務(wù)的程序,請(qǐng)補(bǔ)全空缺處的代碼。其中主變量“:Cid”、“:Bdate”、“:Edate”、“:Rtype”、“:Num”分別代表身份證號(hào)、起始日期、結(jié)束日期、房間類別和訂房數(shù)量。
              SET TRANSACTION  ISOLATION LEVEL REPEATABLE READ;
          UPDATE 空房表
              SET 數(shù)量=數(shù)量-:Num
        WHERE ______;
              if error  then  {ROLLBACK; return -1;  }
        INSERT INTO 預(yù)訂表
              VALUES (:cid, :Bdate, :Edate, :Rtype, :Num);
              if error then  {ROLLBACK; return -2;  }
              ______;
         




          參考答案及解析
              13、同時(shí)預(yù)訂時(shí),可能會(huì)產(chǎn)生一個(gè)客戶訂不到或者把同一房訂給兩個(gè)客戶
          依題意,如果兩個(gè)用戶同時(shí)要求預(yù)訂相同日期和相同類別的同一個(gè)房間,則可能會(huì)產(chǎn)生一個(gè)客戶訂不到房間或者把同一房間預(yù)訂給兩個(gè)客戶的沖突現(xiàn)象。
          14、(1)出現(xiàn)問題:丟失修改,客戶1預(yù)訂a1數(shù)量房間后,對(duì)空房數(shù)量的修改被T2的修改覆蓋,造成數(shù)據(jù)不一致。
        (2)XLOCK(A),x1=R(A),W(A,x1-a1),XLOCK(B),UNLOCK(A),W(B1,a1),
        UNLOCK(B),XLOCK(A),x2=R(A),W(A,x2-a2),XLOCK(B),UNLOCK(A),

          W(B2,a2),UNLOCK(B)
              若對(duì)并發(fā)事務(wù)的指令交叉執(zhí)行不加以控制,則會(huì)使每個(gè)事務(wù)的執(zhí)行結(jié)果相互干擾,破壞事務(wù)的隔離性,從而造成數(shù)據(jù)庫的不一致。本試題中,客戶1預(yù)訂a1數(shù)量房間后,對(duì)空房數(shù)量的修改可能被客戶2的修改所覆蓋,造成不能體現(xiàn)出客戶1已預(yù)訂的房間數(shù)量。該現(xiàn)象屬于丟失修改造成的數(shù)據(jù)庫不一致性。

          在并發(fā)狀態(tài)下,可能會(huì)相互干擾破壞事務(wù)的ACID屬性,加鎖機(jī)制是保障事務(wù)正確執(zhí)行的一種機(jī)制。2PL協(xié)議能夠保證事務(wù)在并發(fā)狀態(tài)下調(diào)度的正確性,即可串行化的調(diào)度。針對(duì)題干所給出的客戶f的房間預(yù)訂偽指令序列:x=R(A),W(A,x-a),W(B,a),需要在修改房間數(shù)量之前加XLock()指令,并保證讀/寫鎖不交叉,即確??蛻?釋放A上的鎖之后客戶2才能執(zhí)行加鎖操作。重寫后的房間預(yù)訂偽指令序列如下。
        XLOCK(A),x1=R(A),W(A,x1-a1),XLOCK(B),UNLOCK(A),W(B1,a1),UNLOCK(B),XLOCK(A),
              x2=R(A),W(A,x2-a2),XLOCK(B),UNLOCK(A),W(B2,a2),UNLOCK(B)
              15、房間類別=:Rtype AND 日期 BETWEEN :Bdate AND :Edate
              COMMIT :retum 0;

          SQL語句“SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;”是SQL提供的事務(wù)隔離級(jí)別之一。它表示只允許事務(wù)讀已提交的數(shù)據(jù),并且在兩次讀同一數(shù)據(jù)時(shí)不允許其他事務(wù)修改此數(shù)據(jù)。依題意,結(jié)合題干給出的關(guān)鍵信息“(1)客戶查詢指定日期內(nèi)所有類別的空余房間數(shù),系統(tǒng)顯示空房表(日期,房間類別,數(shù)量)中的信息”可得,空缺處應(yīng)填入“房間類別=:Rtype AND 日期 BETWEEN :Bdate AND :Edate”。
        在程序中,事務(wù)是以COMMIT語句或ROLLBACK語句結(jié)束。結(jié)合該程序中已給出的代碼“if error then {ROLLBACK; return -1;)”和“if error then {ROLLBACK; return -2;}”可得,空缺處應(yīng)填入“COMMIT; return 0;”。

         


        >>>>>>>>>>點(diǎn)擊繼續(xù)答題

        >>>>>>>>>>點(diǎn)擊返回目錄


        相關(guān)鏈接:

        數(shù)據(jù)庫系統(tǒng)工程師考試知識(shí)點(diǎn)分析與真題詳解(第4版)
        數(shù)據(jù)庫系統(tǒng)工程師考試歷年試題分析與解答(第4版)
        數(shù)據(jù)庫系統(tǒng)工程師考試下午知識(shí)點(diǎn)精講與考前必練
              數(shù)據(jù)庫系統(tǒng)工程師考試考前串講






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

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

        去領(lǐng)取

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