摘要:做真題,是鞏固和掌握知識(shí)點(diǎn)最佳的方法,下面希賽軟考學(xué)院為您提供2016年上半年數(shù)據(jù)庫(kù)系統(tǒng)工程師考試下午真題,供您參考學(xué)習(xí)。
數(shù)據(jù)庫(kù)系統(tǒng)工程師考試的要求為:掌握計(jì)算機(jī)體系結(jié)構(gòu)以及各主要部件的性能和基本工作原理;掌握操作系統(tǒng)、程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)知識(shí),了解編譯程序的基本知識(shí);熟練掌握常用數(shù)據(jù)結(jié)構(gòu)和常用算法;熟悉軟件工程和軟件開(kāi)發(fā)項(xiàng)目管理的基礎(chǔ)知識(shí);熟悉計(jì)算機(jī)網(wǎng)絡(luò)的原理和技術(shù);掌握數(shù)據(jù)庫(kù)原理及基本理論;掌握常用的大型數(shù)據(jù)庫(kù)管理系統(tǒng)的應(yīng)用技術(shù);掌握數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)方法和開(kāi)發(fā)過(guò)程;熟悉數(shù)據(jù)庫(kù)系統(tǒng)的管理和維護(hù)方法,了解相關(guān)的安全技術(shù);了解數(shù)據(jù)庫(kù)發(fā)展趨勢(shì)與新技術(shù)。做真題,是鞏固和掌握知識(shí)點(diǎn)最佳的方法,下面希賽軟考網(wǎng)為您提供2016年上半年數(shù)據(jù)庫(kù)系統(tǒng)工程師考試下午真題,供您參考學(xué)習(xí)。
點(diǎn)擊進(jìn)入數(shù)據(jù)庫(kù)系統(tǒng)工程師歷年真題在線測(cè)試
2016年上半年數(shù)據(jù)庫(kù)系統(tǒng)工程師考試下午真題
試題一(共15分)
閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某會(huì)議中心提供舉辦會(huì)議的場(chǎng)地設(shè)施和各種設(shè)備,供公司與各類組織機(jī)構(gòu)租用。場(chǎng)地包括一個(gè)大型報(bào)告廳、一個(gè)小型報(bào)告廳以及諸多會(huì)議室。這些報(bào)告廳和會(huì)議室可提供的設(shè)備有投影儀、白板、視頻播放/回放設(shè)備和計(jì)算機(jī)等。為了加強(qiáng)管理,該中心欲開(kāi)發(fā)一會(huì)議預(yù)訂系統(tǒng),系統(tǒng)的主要功能如下。
(1)檢查可用性??蛻籼峤活A(yù)訂請(qǐng)求后,檢查預(yù)訂表,判定所申請(qǐng)的場(chǎng)地是否在申請(qǐng)日期內(nèi)可用;如果不可用,返回不可用信息。
(2)臨時(shí)預(yù)訂。會(huì)議中心管理員收到客戶預(yù)定請(qǐng)求的通知之后,提交確認(rèn)。系統(tǒng)生成新臨時(shí)預(yù)訂存入預(yù)訂表,并對(duì)新客戶創(chuàng)建一條客戶信息記錄加以保存。根據(jù)客戶記錄給客戶發(fā)送臨時(shí)預(yù)訂確認(rèn)信息和支付定金要求。
(3)分配設(shè)施與設(shè)備。根據(jù)臨時(shí)預(yù)訂或變更預(yù)定的設(shè)備和設(shè)施需求,分配所需設(shè)備(均能滿足用戶要求)和設(shè)施,更新相應(yīng)的表和預(yù)訂表。
(4)確認(rèn)預(yù)訂。管理員收到客戶支付定金的通知后,檢查確認(rèn),更新預(yù)訂表,根據(jù)客戶記錄給客戶發(fā)送預(yù)訂確認(rèn)信息。
(5)變更預(yù)訂??蛻暨€可以在支付余款前提交變更預(yù)訂請(qǐng)求,對(duì)變更的預(yù)訂請(qǐng)求檢查可用性,如果可用,分配設(shè)施和設(shè)備;如果不可用,返回不可用信息。管理員確認(rèn)變更后,根據(jù)客戶記錄給客戶發(fā)送確認(rèn)信息。
(6)要求付款。管理員從預(yù)訂表中查詢距預(yù)訂的會(huì)議時(shí)間兩周內(nèi)的預(yù)定,根據(jù)客戶記錄給滿足條件的客戶發(fā)送支付余款要求。
(7)支付余款。管理員收到客戶余款支付的通知后,檢查確認(rèn),更新預(yù)訂表中的已支付余款信息。
現(xiàn)采用結(jié)構(gòu)化方法對(duì)會(huì)議預(yù)定系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖(不完整)。
圖1-1 上下文數(shù)據(jù)流圖
圖1-2 0層數(shù)據(jù)流圖
【問(wèn)題1】(2分)
使用說(shuō)明中的詞語(yǔ),給出圖1-1中的實(shí)體E1~E2的名稱
【問(wèn)題2】(4分)
使用說(shuō)明中的詞語(yǔ),給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1~D4的名稱。
【問(wèn)題3】(6分)
根據(jù)說(shuō)明和圖中術(shù)語(yǔ),補(bǔ)充圖1-2中缺失的數(shù)據(jù)流及其起點(diǎn)和終點(diǎn)。
【問(wèn)題4】(3分)
如果發(fā)送給客戶的確認(rèn)信息是通過(guò)Email系統(tǒng)向客戶信息中的電子郵件地址進(jìn)行發(fā)送的,那么需要對(duì)圖1-1和1-2進(jìn)行哪些修改?用150字以內(nèi)文字加以說(shuō)明。
試題二(共15分).
閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某單位公用車輛后勤服務(wù)部門數(shù)據(jù)庫(kù)的部分關(guān)系模式如下:
駕駛員:EMP(Eno,Ename,Age,Sex,telephone),各屬性分別表示駕駛員工號(hào)、姓名、年齡、性別和電話號(hào)碼;。.
車輛:CAR(Cno,Brand,Capacity),各屬性分別表示汽車車牌號(hào)、品牌名和排量;
調(diào)度:SCHEDULE(Sno,Eno,Cno,StartTime,Endtime),各屬性分別表示調(diào)度號(hào)、駕駛員工號(hào)、汽車車牌號(hào)、發(fā)車時(shí)間和收車時(shí)間。
獎(jiǎng)金:BONUS(Eno,Year,Month,Amount),各屬性分別表示駕駛員工號(hào)、年、月和當(dāng)月的獎(jiǎng)金數(shù)量。
有關(guān)車輛調(diào)度的相關(guān)說(shuō)明如下:
公車的行駛時(shí)間只能在工作時(shí)間內(nèi),因此規(guī)定調(diào)度表中每天安排發(fā)車的時(shí)間在上午07:00:00至下午18:00:00范圍內(nèi)。
【問(wèn)題1】(4分)
請(qǐng)將下面創(chuàng)建調(diào)度關(guān)系的SQL語(yǔ)句的空缺部分補(bǔ)充完整,要求指定關(guān)系的主碼、外碼,以及調(diào)度表中每天安排發(fā)車的時(shí)間在上午07:00:00至下午18:00:00范圍內(nèi)的約束(由函數(shù)
Time Get_time(DATETIME StartTime)返回出車的時(shí)間)。
CREATE TABLE SCHEDULE(
Sno CHAR(10),
Eno CHAR(10)(a),
Cno CHAR(8)(b),
StartTime DATETIME(c),
EndTime DATETIME,
PRIMARY KEY(d));
【問(wèn)題2】(6分)
(1)創(chuàng)建所有'奧迪'品牌汽車的調(diào)度信息的視圖AudiSCHEDULE,屬性有Eno、Ename、Cno、Brand、StartTime和EndTime,請(qǐng)將下面SQL語(yǔ)句的空缺部分補(bǔ)充完整。
CREATE(e)
AS
SELECT EMP,Eno,Ename,CAR,Cno,Brand,StartTime,EndTime
FROM EMP,CAR,SCHEDULE
WHERE(f)
(2)駕駛員的獎(jiǎng)金在收車時(shí)間寫入時(shí),由出車時(shí)間段自動(dòng)計(jì)算,并用觸發(fā)器來(lái)實(shí)現(xiàn)獎(jiǎng)金的自動(dòng)維護(hù),函數(shù)float Bonus_value(DATETIME StartTime,DATETIME EndTime)依據(jù)發(fā)車時(shí)間和收車時(shí)間來(lái)計(jì)算本次出車的獎(jiǎng)金。系統(tǒng)在每月初自動(dòng)增加一條該員工的當(dāng)月獎(jiǎng)金記錄,初始金額為零。請(qǐng)將下面SQL語(yǔ)句的空缺部分補(bǔ)充完整。
CREATE (g) Bonus_TRG AFTER (h) ON SCHEDULE
REFERENCING new row AS nrow
FOR EACH ROW
BEGIN
UPDATE BONUS
SET(i)
WHERE (j) AND Year=Get_Year(nrow.StartTime)
AND Month=Get_Month(nrow.StartTime);
END
【問(wèn)題3】(5分)
請(qǐng)將下面SQL語(yǔ)句的空缺郜分補(bǔ)充完整。
(1)查詢調(diào)度次數(shù)最多的汽車車牌號(hào)及其品牌。
SELECT CAR.Cno,Brand
FROM CAR,SCHEDULE
WHERE CAR.Cno=SCHEDULE.Cno
GROUP BY(k)
HAVING (l) (SELECT COUNT(*)
FROM SCHEDULE
CROUP BY Cno);
(2)查詢所有在調(diào)度表中沒(méi)有安排過(guò)“大金龍”品牌車輛的駕駛員工員和姓名。
SELECT Eno,Ename
FROM EMP
WHERE Eno(m)(
SELECT Eno
FROM(n)
WHERE(o)
AND brand=‘大金龍');
試題三(共15分)
閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某銷售公司當(dāng)前的銷售業(yè)務(wù)為商城實(shí)體店銷售?,F(xiàn)該公司擬開(kāi)展網(wǎng)絡(luò)銷售業(yè)務(wù),需要開(kāi)發(fā)一個(gè)信息化管理系統(tǒng)。請(qǐng)根據(jù)公司現(xiàn)有業(yè)務(wù)及需求完成該系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)。
【需求描述】
(1)記錄公司所有員工的信息。員工信息包括工號(hào)、身份證號(hào)、姓名、性別、出生日期和電話,并只登記一部電話。
(2)記錄所有商品的信息。商品信息包括商品名稱、生產(chǎn)廠家、銷售價(jià)格和商品介紹。系統(tǒng)內(nèi)部用商品條碼區(qū)別每種商品。一種商品只能放在一個(gè)倉(cāng)庫(kù)中。
(3)記錄所有顧客的信息。顧客信息包括顧客姓名、身份證號(hào)、登錄名、登錄密碼和電話號(hào)碼。一位顧客只能提供一個(gè)電話號(hào)碼。系統(tǒng)自動(dòng)生成顧客編號(hào)。
(4)顧客登錄系統(tǒng)之后,可以在網(wǎng)上商城購(gòu)買商品。顧客可將選購(gòu)的商品置入虛擬的購(gòu)物車內(nèi),購(gòu)物車可長(zhǎng)期存放顧客選購(gòu)的所有商品。顧客可在購(gòu)物車內(nèi)選擇商品、修改商品數(shù)量后生成網(wǎng)購(gòu)訂單。訂單生成后,由顧客選擇系統(tǒng)提供的備選第三方支付平臺(tái)進(jìn)行電子支付,支付成功后系統(tǒng)需要記錄支付憑證編號(hào),然后由商城根據(jù)訂單進(jìn)行線下配送。
(5)所有的配送商品均由倉(cāng)庫(kù)統(tǒng)一出庫(kù)。為方便顧客,允許每位顧客在系統(tǒng)中提供多組收貨地址、收貨人及聯(lián)系電話。一份訂單所含的多個(gè)商品可能由多名分揀員根據(jù)商品的所在倉(cāng)庫(kù)信息從倉(cāng)庫(kù)中進(jìn)行分揀操作,分揀后的商品交由配送員根據(jù)配送單上的收貨地址進(jìn)行配送。
(6)新設(shè)計(jì)的系統(tǒng)要求記錄實(shí)體店的每筆銷售信息,包括營(yíng)業(yè)員、顧客、所售商品及其數(shù)量。
【概念模型設(shè)計(jì)】
根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖(不完整)如圖3-1所示。
圖3-1實(shí)體聯(lián)系圖
【邏輯結(jié)構(gòu)設(shè)計(jì)】
根據(jù)概念模型設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖;得出如下關(guān)系模式:(不完整):
員工(工號(hào),身份證號(hào),姓名,性別,出生日期,電話)
商品(條碼,商品名稱,生產(chǎn)廠家,銷售價(jià)格,商品介紹,(a))
顧客(編號(hào),姓名,身份證號(hào),登錄名,登錄密碼,電話)
收貨地點(diǎn)(收貨ID,顧客編號(hào),收貨地址,收貨人,聯(lián)系電話)
購(gòu)物車(顧客編號(hào),商品條碼,商品數(shù)量)
訂單(訂單ID,顧客編號(hào),商品條碼,商品數(shù)量,(b))
分檢(分揀ID,分揀員工號(hào),(c),分揀時(shí)間)
配送(配送ID,分揀ID,配送員工號(hào),收貨ID,配送時(shí)間,簽收時(shí)間,簽收快照)
銷售(銷售ID,營(yíng)業(yè)員編號(hào),顧客編號(hào),商品條碼,商品數(shù)量)
【問(wèn)題1】(4分)
補(bǔ)充圖3-1中的“配送’’聯(lián)系所關(guān)聯(lián)的對(duì)象及聯(lián)系類型。
【問(wèn)題2】(6分)
補(bǔ)充邏輯設(shè)計(jì)結(jié)果中的(a)、(b)、(c)三處空缺。
【問(wèn)題3】(5分)
對(duì)于實(shí)體店銷售,如要增加送貨上門服務(wù),由營(yíng)業(yè)員在系統(tǒng)中下訂單,與網(wǎng)購(gòu)的訂單進(jìn)行后續(xù)的統(tǒng)一管理。請(qǐng)根據(jù)此需求,對(duì)圖3-1進(jìn)行補(bǔ)充,并修改訂單關(guān)系模式。
試題四(共15分)
閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某小區(qū)由于建設(shè)時(shí)間久遠(yuǎn),停車位數(shù)量無(wú)法滿足所有業(yè)主的需要,為公平起見(jiàn),每年進(jìn)行一次抽簽來(lái)決定車位分配。小區(qū)物業(yè)擬建立一個(gè)信息系統(tǒng),對(duì)停車位的使用和收費(fèi)進(jìn)行管理。
【需求描述】
(1)小區(qū)內(nèi)每套房屋可能有多名業(yè)主,一名業(yè)主也可能在小區(qū)內(nèi)有多套房屋。業(yè)主信息包括業(yè)主姓名、身份證號(hào)、房號(hào)、房屋面積,其中房號(hào)不重復(fù)。
(2)所有車位都有固定的編號(hào),且同一年度所有車位的出租費(fèi)用相同,但不同年份的出租費(fèi)用可能不同。
(3)所有車位都參與每年的抽簽分配。每套房屋每年只能有一次抽簽機(jī)會(huì)。抽中車位的業(yè)主需一次性繳納全年的車位使用費(fèi)用,且必須指定汽車使用該車位。
(4)小區(qū)車輛出入口設(shè)有車牌識(shí)別系統(tǒng),可以實(shí)時(shí)識(shí)別進(jìn)出的汽車車牌號(hào)。為方便門衛(wèi)確認(rèn),系統(tǒng)還需登記汽車的品牌和顏色。
【邏輯結(jié)構(gòu)設(shè)計(jì)】
根據(jù)上述需求,設(shè)計(jì)出如下關(guān)系模式:
業(yè)主(業(yè)主姓名,業(yè)主身份證號(hào),房號(hào),房屋面積)
車位(車位編號(hào),房號(hào),車牌號(hào),汽車品牌,汽車顏色,使用年份,費(fèi)用)
【問(wèn)題1】(6分)
對(duì)關(guān)系“業(yè)主”,請(qǐng)回答以下詞題:
(1)給出“業(yè)主”關(guān)系的候選鍵。
(2)它是否為2NF,用60字以內(nèi)文字簡(jiǎn)要敘述理由。
(3)將其分解為BCNF,分解后的關(guān)系名依次為:A1,A2,...,并用下劃線標(biāo)示分解后的各關(guān)系模式的主鍵。
【問(wèn)題2】(6分)
對(duì)關(guān)系“車位”,請(qǐng)回答以下問(wèn)題:
(1)給出“車位’’關(guān)系的候選鍵。.
(2)它是否為3NF,用60字以內(nèi)文字簡(jiǎn)要敘述理由。
(3)將其分解為BCNF,分解后的關(guān)系名依次為:B1,B2,...,并用下劃線標(biāo)示分解后的各關(guān)系模式的主鍵。
【問(wèn)題3】(3分)
若臨時(shí)車輛進(jìn)入小區(qū),按照進(jìn)入和離開(kāi)小區(qū)的時(shí)間進(jìn)行收費(fèi)(每小時(shí)2元)。試增加“臨時(shí)停車”關(guān)系模式,用100字以內(nèi)文字簡(jiǎn)要敘述解決方案。
試題五(共15分)
閱讀下列說(shuō)明,回答問(wèn)題1和問(wèn)題2,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某圖書館的圖書借還業(yè)務(wù)使用如下關(guān)系模式:
書目(ISBN,書名,出版社,在庫(kù)數(shù)量)
圖書(書號(hào),ISBN,當(dāng)前位置)
其中在庫(kù)數(shù)量為當(dāng)前書目可借出的圖書的數(shù)量,每本圖書入庫(kù)后都會(huì)有當(dāng)前位置,借出后當(dāng)前位置字段改為空值。每一條書目信息對(duì)應(yīng)多本相同的圖書,每一本圖書只能對(duì)應(yīng)一條書目。
借還書業(yè)務(wù)的基本流程如下描述:
(1)讀者根據(jù)書名查詢書目,當(dāng)前書目的在庫(kù)數(shù)量大于0時(shí)可借閱。
(2)讀者借出一本圖書時(shí),進(jìn)行出庫(kù)操作:根據(jù)該圖書的書號(hào)將該圖書的當(dāng)前位置字段值改為空值,并根據(jù)其ISBN號(hào)將對(duì)應(yīng)書目的在庫(kù)數(shù)量減1。
(3)讀者歸還一本圖書時(shí),進(jìn)行入庫(kù)操作:系統(tǒng)根據(jù)當(dāng)前書架的空余位置自動(dòng)生成該本書的存放位置,并根據(jù)該圖書的書號(hào)將其當(dāng)前位置字段值改為生成的存放位置,然后將對(duì)應(yīng)書目的在庫(kù)數(shù)量加1。
(4)借還書時(shí),逐一掃描每本圖書的書號(hào)并進(jìn)行出、入庫(kù)操作。
【問(wèn)題1】(7分)
引入兩個(gè)偽指令:a=R(X)表示將在庫(kù)數(shù)量X值讀入到變量a中;W(a,X)表示將變量a的值寫入到在庫(kù)數(shù)量X中。入庫(kù)操作用下標(biāo)I表示,出庫(kù)操作用下標(biāo)O表示。
將出庫(kù)和八庫(kù)操作分別定義為兩個(gè)事務(wù),針對(duì)并發(fā)序列:ao=Ro(X),aI=RI(X),ao=ao-1,Wo(ao,X),aI-aI+1,WI(aI,X)。其中變量ai和ao分別代表入庫(kù)事務(wù)和出庫(kù)事務(wù)中的局部變量。
(1)假設(shè)當(dāng)前X的值為3,則執(zhí)行完上述并發(fā)序列的偽指令后,X的值是多少?簡(jiǎn)述產(chǎn)生這一錯(cuò)誤的原因(100字以內(nèi))。
(2)為了解決上述問(wèn)題,引入獨(dú)占鎖指令XLock(X)對(duì)數(shù)據(jù)X進(jìn)行加鎖,解鎖指令Unlock(X)兩對(duì)數(shù)據(jù)X進(jìn)行解鎖。入庫(kù)操作用下標(biāo)I表示,如XLockI(X);出庫(kù)操作用下標(biāo)O表示,如Unlocko(X)。請(qǐng)根據(jù)上述的并發(fā)序列,給出一種可能的執(zhí)行序列,使其滿足2PL協(xié)議。
【問(wèn)題2】(8分)
下面是用SQL實(shí)現(xiàn)的出入庫(kù)業(yè)務(wù)程序的一部分,請(qǐng)補(bǔ)全空缺處的代碼。
CREATE PROCEDURE IOstack(INBookNo VARCHAR(20),INAmount INT){
//輸入合法性驗(yàn)證
if not(Amount=1 or Amount=-1) return -1;
//修改圖書表當(dāng)前位置
UPDATE 圖書 SET 當(dāng)前位置=GetPos(BookNo,Amount)//系統(tǒng)生成
WHERE(a);
if error then{ROLLBACK;return -2;}
//修改在庫(kù)數(shù)量
UPDATE 書目 SET 在庫(kù)數(shù)量=(b)
WHERE EXISTS(
SELECT*
FROM 圖書
WHERE 書號(hào)=BookNo AND
(c));
if error then{ROLLBACK;return -3;}
(d);
return0;
}
點(diǎn)擊查看2016年上半年數(shù)據(jù)庫(kù)系統(tǒng)工程師考試下午真題答案與解析
相關(guān)推薦:
2016年上半年數(shù)據(jù)庫(kù)系統(tǒng)工程師考試上午真題(標(biāo)準(zhǔn)參考答案)
2015年上半年數(shù)據(jù)庫(kù)系統(tǒng)工程師考試下午真題(標(biāo)準(zhǔn)參考答案)
2014年上半年數(shù)據(jù)庫(kù)系統(tǒng)工程師考試下午真題(解析+標(biāo)準(zhǔn)答案)
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題