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

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

添加老師微信

備考咨詢

加我微信

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

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

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

1-1中只有一個外部實體E1。使用說明中的詞語,給出E1的名稱。

【問題2】(6 分)

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

【問題3】(6 分)

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

2.png

【問題4】(2 分) 

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

 

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

請將下列SQL語句的空缺部分補充完整。

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

a)   ;

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

CREATE TABLE 欄目(

欄目編號  VARCHAR(8) PRIMARY KEY,

父欄目編號  VARCHAR(8),

名稱  VARCHAR(40),

版主  VARCHAR(8) NOT NULL,

描述  VARCHAR(100),

b)   ,

c) );

問題2

請將下列SQL語句的空缺部分補充完整。

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

 SELECT DISTINCT 標題 

FROM 主題

d)

e)  ;

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

SELECT 標題,點擊率

FROM 主題

WHERE 類型= ‘ 精華’

AND 欄目編號 (f) (SELECT 欄目編號

FROM 欄目

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

(q) 

SELECT 欄目編號

FROM 欄目

WHERE  (h)  (SELECT 欄目編號

FROM 欄目

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

問題3

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

DELETE 主題  WHERE 主題編號  = ‘T005 ’;

DELETE 回復主題  WHERE 主題編號= ‘T005’;

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

i) 

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

j)   

問題4

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

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

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

FROM 回復主題

l)  )  AS  A

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

 

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

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

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

【問題2】(8 )

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

【問題3】(2 分)

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

 

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

6.png7.png

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

8.png

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

對關(guān)系“生產(chǎn)計劃” ,請回答以下問題:

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

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

【問題2】 (6 分)

 對關(guān)系“采購”,請回答以下問題:

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

2)針對“采購”關(guān)系,用100字以內(nèi)文字簡要說明會產(chǎn)生什么問題。

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

【問題3】 (2 分) 

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

 

● 閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某銀行的轉(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)。
針對上述業(yè)務(wù)及規(guī)則,完成下列問題:
【問題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))

【問題2】(5分)

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

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

【問題3】(5 分)

若用SQL語句編寫的轉(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為當前余額,Amount為新存入的金額。 

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

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

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

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

去領(lǐng)取

!
咨詢在線老師!