2008年上半年數(shù)據(jù)庫(kù)系統(tǒng)工程師考試下午真題

數(shù)據(jù)庫(kù)系統(tǒng)工程師 責(zé)任編輯:YLM 2017-08-02

添加老師微信

備考咨詢

加我微信

摘要:以下是由希賽網(wǎng)整理的部分2008年上半年數(shù)據(jù)庫(kù)系統(tǒng)工程師考試上午真題,希望對(duì)大家備考有所幫助。

     通過(guò)數(shù)據(jù)庫(kù)系統(tǒng)工程師級(jí)別(中級(jí)資格/工程師)考試的合格人員能參與應(yīng)用信息系統(tǒng)的規(guī)劃、設(shè)計(jì)、構(gòu)建、運(yùn)行和管理,能按照用戶需求,設(shè)計(jì)、建立、運(yùn)行、維護(hù)高質(zhì)量的數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)。以下是由希賽網(wǎng)整理的部分2008年上半年數(shù)據(jù)庫(kù)系統(tǒng)工程師考試上午真題,希望對(duì)大家備考有所幫助。

●  閱讀以下說(shuō)明和圖,回答問(wèn)題1至問(wèn)題4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某音像制品出租商店欲開(kāi)發(fā)一個(gè)音像管理信息系統(tǒng),管理音像制品的租借業(yè)務(wù)。需求如下:
1. 系統(tǒng)中的客戶信息文件保存了該商店的所有客戶的用戶名、密碼等信息。對(duì)于首次來(lái)租借的客戶,系統(tǒng)會(huì)為其生成用戶名和初始密碼。
2. 系統(tǒng)中音像制品信息文件記錄了商店中所有音像制品的詳細(xì)信息及其庫(kù)存數(shù)量。
3. 根據(jù)客戶所租借的音像制品的品種,會(huì)按天收取相應(yīng)的費(fèi)用。音像制品的最長(zhǎng)租借周期為一周,每位客戶每次最多只能租借6件音像制品。
4. 客戶租借某種音像制品的具體流程為:
1)根據(jù)客戶提供的用戶名和密碼,驗(yàn)證客戶身份。
2)若該客戶是合法客戶,查詢音像制品信息文件,查看商店中是否還有這種音像制品。
3)若還有該音像制品,且客戶所要租借的音像制品數(shù)小于等于 6 個(gè),就可以將該音像制品租借給客戶。這時(shí),系統(tǒng)給出相應(yīng)的租借確認(rèn)信息,生成一條新的租借記錄并將其保存在租借記錄文件中。
4)系統(tǒng)計(jì)算租借費(fèi)用,將費(fèi)用信息保存在租借記錄文件中并告知客戶。
5)客戶付清租借費(fèi)用之后,系統(tǒng)接收客戶付款信息,將音像制品租借給該客戶。
5. 當(dāng)庫(kù)存中某音像制品數(shù)量不能滿足客戶的租借請(qǐng)求數(shù)量時(shí),系統(tǒng)可以接受客戶網(wǎng)上預(yù)約租借某種音像制品。系統(tǒng)接收到預(yù)約請(qǐng)求后,檢查庫(kù)存信息,驗(yàn)證用戶身份,創(chuàng)建相應(yīng)的預(yù)約記錄,生成預(yù)約流水號(hào)給該客戶,并將信息保存在預(yù)約記錄文件中。
6. 客戶歸還到期的音像制品,系統(tǒng)修改租借記錄文件,并查詢預(yù)約記錄文件和客戶信息文件,判定是否有客戶預(yù)約了這些音像制品。若有,則生成預(yù)約提示信息,通知系統(tǒng)履行預(yù)約服務(wù),系統(tǒng)查詢客戶信息文件和預(yù)約記錄文件,通知相關(guān)客戶前來(lái)租借音像制品。
1.png 圖1-2  0層數(shù)據(jù)流圖
【問(wèn)題1】(1 分) 

1-1中只有一個(gè)外部實(shí)體E1。使用說(shuō)明中的詞語(yǔ),給出E1的名稱。

【問(wèn)題2】(6 分)

使用說(shuō)明中的詞語(yǔ),給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1~D4的名稱。

【問(wèn)題3】(6 分)

數(shù)據(jù)流圖 1-2 缺少了三條數(shù)據(jù)流,根據(jù)說(shuō)明及數(shù)據(jù)流圖 1-1 提供的信息,分別指出這三條數(shù)據(jù)流的起點(diǎn)和終點(diǎn)。

2.png

【問(wèn)題4】(2 分) 

在進(jìn)行系統(tǒng)分析與設(shè)計(jì)時(shí),面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法(如 Jackson 方法)也被廣泛應(yīng)用。簡(jiǎn)要說(shuō)明面向數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)方法的基本思想及其適用場(chǎng)合。

 

● 閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某論壇的部分關(guān)系模式如下:
用戶(用戶編號(hào),帳號(hào),密碼,積分,級(jí)別)
欄目(欄目編號(hào),父欄目編號(hào),名稱,版主,描述)
主題(主題編號(hào),標(biāo)題,類型,點(diǎn)擊率,內(nèi)容,發(fā)布時(shí)間,欄目編號(hào),用戶編號(hào),附件)
回復(fù)主題(回復(fù)主題編號(hào),標(biāo)題,主題編號(hào),內(nèi)容,發(fā)布時(shí)間,用戶編號(hào),附件)
其中:
1)用戶編號(hào)標(biāo)識(shí)一個(gè)用戶。用戶的積分根據(jù)其發(fā)布的主題信息按積分規(guī)則計(jì)算。級(jí)別的值來(lái)自集合{‘高級(jí)用戶’, 普通用戶’, ‘初級(jí)用戶’},當(dāng)用戶開(kāi)始注冊(cè)時(shí),積分為100,級(jí)別為初級(jí)用戶;當(dāng)用戶積分到達(dá)1000時(shí),級(jí)別為普通用戶;當(dāng)用戶積分到達(dá)5000時(shí),級(jí)別為高級(jí)用戶。
2)欄目編號(hào)標(biāo)識(shí)一個(gè)欄目。欄目分兩級(jí),包括父欄目和子欄目。每個(gè)欄目必須有且僅有一個(gè)版主,版主是一個(gè)用戶。
3)主題編號(hào)標(biāo)識(shí)一個(gè)主題。類型的值來(lái)自集合{ ‘精華’, ‘置頂’, ‘普通’}。
4)回復(fù)主題編號(hào)識(shí)別一個(gè)回復(fù)主題。一個(gè)回復(fù)主題對(duì)應(yīng)一個(gè)主題,而一個(gè)主題可以有多個(gè)回復(fù)主題。
問(wèn)題1

請(qǐng)將下列SQL語(yǔ)句的空缺部分補(bǔ)充完整。

1)假設(shè)已經(jīng)創(chuàng)建好用戶關(guān)系,現(xiàn)在想增加一個(gè)屬性“個(gè)性簽名” ,類型為VARCHAR(60),請(qǐng)給出相關(guān)的SQL語(yǔ)句。

a)   ;

2)假設(shè)已經(jīng)創(chuàng)建好用戶關(guān)系,下面是創(chuàng)建欄目關(guān)系的SQL語(yǔ)句,請(qǐng)將空缺部分補(bǔ)充完整。

CREATE TABLE 欄目(

欄目編號(hào)  VARCHAR(8) PRIMARY KEY,

父欄目編號(hào)  VARCHAR(8),

名稱  VARCHAR(40),

版主  VARCHAR(8) NOT NULL,

描述  VARCHAR(100),

b)   ,

c) );

問(wèn)題2

請(qǐng)將下列SQL語(yǔ)句的空缺部分補(bǔ)充完整。

1)查詢標(biāo)題或內(nèi)容包含“SQL”的主題標(biāo)題,按發(fā)布時(shí)間降序排序。

 SELECT DISTINCT 標(biāo)題 

FROM 主題

d)

e)  ;

2)查找名稱為“數(shù)據(jù)庫(kù)技術(shù)”的欄目及其子欄目中的精華主題的標(biāo)題和點(diǎn)擊率。 

SELECT 標(biāo)題,點(diǎn)擊率

FROM 主題

WHERE 類型= ‘ 精華’

AND 欄目編號(hào) (f) (SELECT 欄目編號(hào)

FROM 欄目

WHERE 名稱= ‘?dāng)?shù)據(jù)庫(kù)技術(shù)’ 

(q) 

SELECT 欄目編號(hào)

FROM 欄目

WHERE  (h)  (SELECT 欄目編號(hào)

FROM 欄目

WHERE 名稱=‘ 數(shù)據(jù)庫(kù)技術(shù)’ )); 

問(wèn)題3

 假設(shè)所有關(guān)系模式已創(chuàng)建,回復(fù)主題關(guān)系模式的“主題編號(hào)”是外鍵,參照主題關(guān)系模式的“主題編號(hào)” ?,F(xiàn)在要?jiǎng)h除編號(hào)為“T005”的主題及其相關(guān)的回復(fù)主題,下面是對(duì)應(yīng)的刪除語(yǔ)句,這些語(yǔ)句組成一個(gè)事務(wù)。

DELETE 主題  WHERE 主題編號(hào)  = ‘T005 ’;

DELETE 回復(fù)主題  WHERE 主題編號(hào)= ‘T005’;

1)請(qǐng)問(wèn)這些刪除語(yǔ)句能否完成功能?若不能,請(qǐng)說(shuō)明為什么?(100字以內(nèi))

i) 

2)假設(shè)現(xiàn)在希望僅通過(guò)“DELETE 主題  WHERE 主題編號(hào)  = ‘ T005’ ;”這一條語(yǔ)句就能完成此刪除功能,應(yīng)如何實(shí)現(xiàn)?  (100字以內(nèi))

j)   

問(wèn)題4

為了了解每個(gè)欄目用戶關(guān)注的主題,對(duì)原創(chuàng)主題創(chuàng)建視圖主題_view,屬性包括主題編號(hào)、標(biāo)題、用戶帳號(hào)、欄目名稱、回復(fù)數(shù)、點(diǎn)擊率和發(fā)布時(shí)間。

CREATE VIEW 主題_view (主題編號(hào),標(biāo)題,用戶帳號(hào),欄目名稱,回復(fù)數(shù),點(diǎn)擊率,發(fā)布時(shí)間) AS SELECT 主題.主題編號(hào),標(biāo)題,帳號(hào),名稱,回復(fù)數(shù),點(diǎn)擊率,發(fā)布時(shí)間

FROM 主題,用戶,欄目,  (  (k) 

FROM 回復(fù)主題

l)  )  AS  A

WHERE 主題.用戶編號(hào)=用戶.用戶編號(hào) AND 主題.欄目編號(hào)=欄目.欄目編號(hào) AND    (m)  ; 

 

● 閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某地區(qū)舉行籃球比賽,需要開(kāi)發(fā)一個(gè)比賽信息管理系統(tǒng)來(lái)記錄比賽的相關(guān)信息。
【需求分析結(jié)果】
 1.登記參賽球隊(duì)的信息。記錄球隊(duì)的名稱、代表地區(qū)、成立時(shí)間等信息。系統(tǒng)記錄球隊(duì)的每個(gè)隊(duì)員的姓名、年齡、身高、體重等信息。每個(gè)球隊(duì)有一個(gè)教練負(fù)責(zé)管理球隊(duì),一個(gè)教練僅負(fù)責(zé)一個(gè)球隊(duì)。系統(tǒng)記錄教練的姓名、年齡等信息。 
 2.安排球隊(duì)的訓(xùn)練信息。比賽組織者提供若干個(gè)場(chǎng)地,供球隊(duì)進(jìn)行適應(yīng)性訓(xùn)練。系統(tǒng)記錄現(xiàn)有的場(chǎng)地信息,包括:場(chǎng)地名稱、場(chǎng)地規(guī)模、位置等信息。系統(tǒng)可為每個(gè)球隊(duì)安排不同的訓(xùn)練場(chǎng)地,如表3-1所示。系統(tǒng)記錄訓(xùn)練場(chǎng)地安排的信息。 3.png

3.安排比賽。該賽事聘請(qǐng)有專職裁判,每場(chǎng)比賽只安排一個(gè)裁判。系統(tǒng)記錄裁判的姓名、年齡、級(jí)別等信息。系統(tǒng)按照一定的規(guī)則,首先分組,然后根據(jù)球隊(duì)、場(chǎng)地和裁判情況,安排比賽(每場(chǎng)比賽的對(duì)陣雙方分別稱為甲隊(duì)和乙隊(duì))。記錄參賽球隊(duì)、比賽時(shí)間、比分、場(chǎng)地名稱等信息,如表3-2所示。
4.所有球員、教練和裁判可能出現(xiàn)重名情況。  4.png【概念模型設(shè)計(jì)】
根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖和關(guān)系模式(不完整)如下:
1. 實(shí)體聯(lián)系圖  5.png
2. 關(guān)系模式
教練(教練編號(hào), 姓名, 年齡)
隊(duì)員(隊(duì)員編號(hào), 姓名, 年齡, 身高, 體重,a)  )
球隊(duì)(球隊(duì)名稱, 代表地區(qū), 成立時(shí)間, (b) )
場(chǎng)地(場(chǎng)地名稱, 場(chǎng)地規(guī)模, 位置)
訓(xùn)練記錄( (c)  )
裁判(裁判編號(hào),姓名,年齡,級(jí)別)
比賽記錄(  (d)  ) 
【問(wèn)題1】(5 分)

根據(jù)問(wèn)題描述,補(bǔ)充四個(gè)聯(lián)系,完善圖3-1的實(shí)體聯(lián)系圖。

【問(wèn)題2】(8 )

根據(jù)你的實(shí)體聯(lián)系圖,完成關(guān)系模式,并給出訓(xùn)練記錄和比賽記錄關(guān)系模式的主鍵和外鍵。

【問(wèn)題3】(2 分)

如果考慮記錄一些特別資深的熱心球迷的情況,每個(gè)熱心球迷可能支持多個(gè)球隊(duì)。熱心球迷的基本信息包括:姓名、住址和喜歡的俱樂(lè)部等。根據(jù)這一要求修改圖3-1的實(shí)體聯(lián)系圖,給出修改后的關(guān)系模式。

 

● 閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某企業(yè)的生產(chǎn)管理部門擬開(kāi)發(fā)生產(chǎn)計(jì)劃管理系統(tǒng),該系統(tǒng)負(fù)責(zé)管理生產(chǎn)計(jì)劃信息,記錄生產(chǎn)安排和采購(gòu)的情況?,F(xiàn)有的表格信息如表4-1、表4-2和4-3所示。

6.png7.png

關(guān)系模式的主要屬性、含義及約束如表4-4所示。

8.png

該企業(yè)的生產(chǎn)管理部門可根據(jù)需求制定多個(gè)生產(chǎn)計(jì)劃。每個(gè)生產(chǎn)計(jì)劃包含多個(gè)生產(chǎn)產(chǎn)品。一個(gè)生產(chǎn)產(chǎn)品可由多個(gè)生產(chǎn)小組共同生產(chǎn)。一個(gè)產(chǎn)品基于固定數(shù)量的用料來(lái)生產(chǎn)。企業(yè)有多個(gè)供應(yīng)商,每個(gè)供應(yīng)商可以提供若干種材料,每種材料可以由多個(gè)供應(yīng)商提供。企業(yè)根據(jù)不同生產(chǎn)計(jì)劃,從供應(yīng)商處購(gòu)買材料。
屬性間的函數(shù)依賴關(guān)系如下:
對(duì)于“生產(chǎn)計(jì)劃 ”關(guān)系模式:
生產(chǎn)計(jì)劃編號(hào) → 生產(chǎn)計(jì)劃名稱,起始時(shí)間,截止時(shí)間,預(yù)算總金額 
生產(chǎn)計(jì)劃編號(hào),產(chǎn)品編號(hào) → 生產(chǎn)數(shù)量
產(chǎn)品編號(hào) → 產(chǎn)品名稱
生產(chǎn)小組編號(hào) → 生產(chǎn)小組名稱
生產(chǎn)計(jì)劃編號(hào),生產(chǎn)小組編號(hào),產(chǎn)品編號(hào) → 安排人力
生產(chǎn)計(jì)劃編號(hào),產(chǎn)品編號(hào) →→ 生產(chǎn)小組編號(hào),安排人力
對(duì)于 “產(chǎn)品用料”關(guān)系模式:
材料編號(hào) → 材料名稱,單位
產(chǎn)品編號(hào),材料編號(hào) → 材料數(shù)量
對(duì)于“采購(gòu)”關(guān)系模式:
采購(gòu)單號(hào) → 供應(yīng)商,地址,電話,總價(jià)格,日期
采購(gòu)單號(hào),材料編號(hào) → 數(shù)量
供應(yīng)商,材料編號(hào) → 單價(jià)
供應(yīng)商 → 地址,電話 
【問(wèn)題1】 (7 分)

對(duì)關(guān)系“生產(chǎn)計(jì)劃” ,請(qǐng)回答以下問(wèn)題:

1)關(guān)系“生產(chǎn)計(jì)劃”是否滿足第四范式?用不超過(guò)200個(gè)字的內(nèi)容敘述理由。

2)把“生產(chǎn)計(jì)劃”分解為第四范式,分解后的關(guān)系名依次為:生產(chǎn)計(jì)劃1,生產(chǎn)計(jì)劃2 …

【問(wèn)題2】 (6 分)

 對(duì)關(guān)系“采購(gòu)”,請(qǐng)回答以下問(wèn)題:

1)若“采購(gòu)”關(guān)系中不考慮折扣情況,則該關(guān)系是否存在派生屬性?若存在,指出其中的派生屬性。

2)針對(duì)“采購(gòu)”關(guān)系,用100字以內(nèi)文字簡(jiǎn)要說(shuō)明會(huì)產(chǎn)生什么問(wèn)題。

3)分解“采購(gòu)”關(guān)系,分解后的關(guān)系名依次為:采購(gòu)1,采購(gòu)2 …

【問(wèn)題3】 (2 分) 

試分析可否根據(jù)圖4-1生產(chǎn)計(jì)劃數(shù)據(jù)庫(kù),統(tǒng)計(jì)出某一個(gè)生產(chǎn)計(jì)劃所采購(gòu)的某個(gè)供應(yīng)商的總金額?并用不超過(guò)100個(gè)字的內(nèi)容敘述理由。 

 

● 閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某銀行的轉(zhuǎn)帳業(yè)務(wù)分為如下兩類操作:
1)讀取帳戶A 余額到變量x,記為x = R(A);
2)將變量x值寫入帳戶A 中的余額,記為W(A, x)。 
 從帳戶A 向帳戶B 轉(zhuǎn)帳金額x元的偽代碼操作序列為:a = R(A), a = a-x, W(A, a), b = R(B), b = b+x, W(B,b)。
針對(duì)上述業(yè)務(wù)及規(guī)則,完成下列問(wèn)題:
【問(wèn)題1】(5 分)

根據(jù)業(yè)務(wù)規(guī)則,轉(zhuǎn)帳業(yè)務(wù)要么被全部執(zhí)行,要么全部不執(zhí)行,應(yīng)如何保障?假設(shè)參與轉(zhuǎn)帳的帳戶余額有大于等于0的約束,上述偽代碼執(zhí)行中可能出現(xiàn)什么情況,應(yīng)如何處理?(100字以內(nèi))

【問(wèn)題2】(5分)

若允許對(duì)同一帳號(hào)同時(shí)進(jìn)行轉(zhuǎn)帳,要保證轉(zhuǎn)帳程序的并發(fā)執(zhí)行,引入共享鎖指令SLock(b)和獨(dú)占鎖指令XLock(A)對(duì)數(shù)據(jù)A 進(jìn)行加鎖,解鎖指令Unlock(A)對(duì)數(shù)據(jù)A 進(jìn)行解鎖。

請(qǐng)補(bǔ)充上述轉(zhuǎn)帳業(yè)務(wù)的偽代碼序列,使其滿足2PL協(xié)議。

【問(wèn)題3】(5 分)

若用SQL語(yǔ)句編寫的轉(zhuǎn)帳業(yè)務(wù)事務(wù)程序如下:

START TRANSACTION;

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

UPDATE  Accounts

SET CurrentBalance = CurrentBalance - Amount

WHERE AccountID = A;

if error then  ROLLBACK;

COMMIT;

UPDATE  Accounts

SET CurrentBalance = CurrentBalance + Amount

WHERE AccountID = B;

if error then  ROLLBACK;

COMMIT;

其中:Accounts為帳戶表,CurrentBalance為當(dāng)前余額,Amount為新存入的金額。 

該事務(wù)程序能否保證數(shù)據(jù)的一致性?如不能,請(qǐng)說(shuō)明原因并改正。(100字以內(nèi))

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

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

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

去領(lǐng)取

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