2017年計(jì)算機(jī)等級(jí)三級(jí)《數(shù)據(jù)庫(kù)技術(shù)》設(shè)計(jì)與應(yīng)用試題庫(kù)答案

字號(hào):


    三、設(shè)計(jì)與應(yīng)用題
    1.(1)【解題思路】
    E-R圖也稱實(shí)體一聯(lián)系圖,提供了表示實(shí)體類型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。為了簡(jiǎn)化E-R圖的處置,現(xiàn)實(shí)世界的事物能作為屬性對(duì)待的則盡量作為屬性對(duì)待。實(shí)體與屬性的劃分給出如下兩條規(guī)則:①作為“屬性”,不能再具有需要描述的性質(zhì),“屬性”必須是不可分的數(shù)據(jù)項(xiàng),不能包含其它屬性。②“屬性”不能與其它實(shí)體有聯(lián)系,即E-R圖中所表示的聯(lián)系是實(shí)體之問(wèn)的聯(lián)系。本題中一個(gè)系可以聘用多名教師,一名教師只能受聘于一個(gè)系,所以系實(shí)體與教師實(shí)體有聯(lián)系;一名教師可以講授多門課程,一門課程可由多名教師講授,所以教師實(shí)體與課程實(shí)體有聯(lián)系,一門課程可以有多門先修課程,所以課程間也有聯(lián)系。
    【參考答案】
    
    (2)【解題思路】
    要想使轉(zhuǎn)換生成的關(guān)系模式滿足3NF,則必須滿足關(guān)系模式中每一個(gè)非主屬性既不部分依賴于碼也不傳遞依賴于碼。
    【參考答案】
    系(系編號(hào),系名,系辦公電話),無(wú)外碼
    教師(教師號(hào),教師名,工資,聘用日期,職稱,系編號(hào)),外碼:系編號(hào)
    課程(課程號(hào),課程名,學(xué)分,教師號(hào)),外碼:教師號(hào)
    先修(先修課程號(hào),先修課程名,課程號(hào)),外碼:課程號(hào)
    2.【解題思路】
    存儲(chǔ)過(guò)程是由PL/SQL語(yǔ)句書寫的過(guò)程,這個(gè)過(guò)程經(jīng)編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器中,使用時(shí)只要調(diào)用即可。使用存儲(chǔ)過(guò)程具有以下優(yōu)點(diǎn):其已經(jīng)編譯和優(yōu)化過(guò)了,所以運(yùn)行效率高,提供了在服務(wù)器端快速執(zhí)行SQL語(yǔ)句的有效途徑;存儲(chǔ)過(guò)程降低了客戶端和服務(wù)器之間的通信量;方便實(shí)施企業(yè)規(guī)則,當(dāng)企業(yè)規(guī)則發(fā)生變化時(shí)只要修改存儲(chǔ)過(guò)程,而無(wú)需修改其他應(yīng)用程序。創(chuàng)建存儲(chǔ)過(guò)程:
    create procedure過(guò)程名
    @[參數(shù)名][類型],@[參數(shù)名][類型]/*過(guò)程首部*/
    As
    Declare/*as下面對(duì)應(yīng)的塊為過(guò)程體*/
    begin
    end
    如上所示,存儲(chǔ)過(guò)程包括過(guò)程首部和過(guò)程體。過(guò)程名是數(shù)據(jù)庫(kù)服務(wù)器合法的對(duì)象標(biāo)識(shí);參數(shù)列表:用名字來(lái)標(biāo)識(shí)調(diào)用時(shí)給出的參數(shù)值,必須指定值的數(shù)據(jù)類型。參數(shù)可以是輸人參數(shù)或輸出參數(shù),默認(rèn)為輸人參數(shù)。
    【參考答案】
    CREATE PROCEDURE PRODUCT@商品號(hào)int,@年份int,@毛利int output
    AS
    DECLARE
    @某商品銷售量int,@某商品進(jìn)價(jià)int,@某商品銷售單價(jià)int/*中間變量定義:*/
    BEGIN
    Select@某商品進(jìn)價(jià)=單價(jià)from商品表where@商品號(hào)=商品號(hào)
    Select@某商品銷售單價(jià)=銷售單價(jià),@某商品銷售量=count(*)from銷售表where
    @商品號(hào)=商品號(hào)and銷售時(shí)間=@年份
    IF@某商品進(jìn)價(jià)is NULL THEN/木判斷該商品是否存在*/
    ROLLBACK;
    RETURN;
    END IF
    IF@某商品銷售單價(jià)is NULL THEN/*判斷該兩晶是否可賣*/
    ROLLBACK;
    RETURN;
    END IF
    SET@毛利=(@某商品銷售單價(jià)-@某商品進(jìn)價(jià))*@某商品銷售量
    GO
    3.【解題思路】
    計(jì)算機(jī)系統(tǒng)中存在著兩類不同的數(shù)據(jù)處理工作:操作型處理和分析型處理,也稱作0LTP(聯(lián)機(jī)事務(wù)處理)和0IAP(聯(lián)機(jī)分析處理)。操作型處理也叫事務(wù)處理,是指對(duì)數(shù)據(jù)庫(kù)聯(lián)機(jī)的日常操作,通常是對(duì)一個(gè)或一組紀(jì)錄的查詢或修改,例如火車售票系統(tǒng)、銀行通存通兌系統(tǒng)、稅務(wù)征收管理系統(tǒng)等。這些系統(tǒng)要求快速響應(yīng)用戶請(qǐng)求,對(duì)數(shù)據(jù)的安全性、完整性以及事務(wù)吞吐量要求很高。結(jié)合本題中存在的問(wèn)題,視圖本身的訪問(wèn)量很高,而又僅僅以匯總表1為計(jì)算數(shù)據(jù)源,而其它匯總表訪問(wèn)率低,導(dǎo)致了資源利用不合理。因此本題考察了聯(lián)機(jī)事務(wù)處理中的資源調(diào)度問(wèn)題。
    【參考答案】
    由于匯總表1和視圖的模式訪問(wèn)頻率都很高,而且視圖的數(shù)據(jù)源來(lái)自匯總表1,又因?yàn)槠渌麉R總表的訪問(wèn)率較低,所以只需要將視圖的數(shù)據(jù)源綁定為匯總表3,因?yàn)閰R總表3也可以滿足視圖的輸出模式。這樣不僅提升了匯總表3的數(shù)據(jù)訪問(wèn)率,而且降低了匯總表1的數(shù)據(jù)訪問(wèn)率,系統(tǒng)性能和服務(wù)性能得到了很大的優(yōu)化。又因?yàn)樨浳锛s有500種,共10類,可以再建立一個(gè)視圖綁定數(shù)據(jù)源為匯總表4,這樣就可以充分利用匯總表4的數(shù)據(jù)信息,從而可以進(jìn)一步優(yōu)化系統(tǒng)性能。