摘要:以下是由希賽網整理的部分2008年上半年數據庫系統工程師考試上午真題,希望對大家備考有所幫助。
通過數據庫系統工程師級別(中級資格/工程師)考試的合格人員能參與應用信息系統的規劃、設計、構建、運行和管理,能按照用戶需求,設計、建立、運行、維護高質量的數據庫和數據倉庫。以下是由希賽網整理的部分2008年上半年數據庫系統工程師考試上午真題,希望對大家備考有所幫助。
● 閱讀以下說明和圖,回答問題1至問題4,將解答填入答題紙的對應欄內。
【說明】
某音像制品出租商店欲開發一個音像管理信息系統,管理音像制品的租借業務。需求如下:
1. 系統中的客戶信息文件保存了該商店的所有客戶的用戶名、密碼等信息。對于首次來租借的客戶,系統會為其生成用戶名和初始密碼。
2. 系統中音像制品信息文件記錄了商店中所有音像制品的詳細信息及其庫存數量。
3. 根據客戶所租借的音像制品的品種,會按天收取相應的費用。音像制品的最長租借周期為一周,每位客戶每次最多只能租借6件音像制品。
4. 客戶租借某種音像制品的具體流程為:
(1)根據客戶提供的用戶名和密碼,驗證客戶身份。
(2)若該客戶是合法客戶,查詢音像制品信息文件,查看商店中是否還有這種音像制品。
(3)若還有該音像制品,且客戶所要租借的音像制品數小于等于 6 個,就可以將該音像制品租借給客戶。這時,系統給出相應的租借確認信息,生成一條新的租借記錄并將其保存在租借記錄文件中。
(4)系統計算租借費用,將費用信息保存在租借記錄文件中并告知客戶。
(5)客戶付清租借費用之后,系統接收客戶付款信息,將音像制品租借給該客戶。
5. 當庫存中某音像制品數量不能滿足客戶的租借請求數量時,系統可以接受客戶網上預約租借某種音像制品。系統接收到預約請求后,檢查庫存信息,驗證用戶身份,創建相應的預約記錄,生成預約流水號給該客戶,并將信息保存在預約記錄文件中。
6. 客戶歸還到期的音像制品,系統修改租借記錄文件,并查詢預約記錄文件和客戶信息文件,判定是否有客戶預約了這些音像制品。若有,則生成預約提示信息,通知系統履行預約服務,系統查詢客戶信息文件和預約記錄文件,通知相關客戶前來租借音像制品。
圖1-2 0層數據流圖
【問題1】(1 分)
圖1-1中只有一個外部實體E1。使用說明中的詞語,給出E1的名稱。
【問題2】(6 分)
使用說明中的詞語,給出圖1-2中的數據存儲D1~D4的名稱。
【問題3】(6 分)
數據流圖 1-2 缺少了三條數據流,根據說明及數據流圖 1-1 提供的信息,分別指出這三條數據流的起點和終點。

【問題4】(2 分)
在進行系統分析與設計時,面向數據結構的設計方法(如 Jackson 方法)也被廣泛應用。簡要說明面向數據結構設計方法的基本思想及其適用場合。
● 閱讀下列說明,回答問題1至問題4,將解答填入答題紙的對應欄內。
【說明】
某論壇的部分關系模式如下:
用戶(用戶編號,帳號,密碼,積分,級別)
欄目(欄目編號,父欄目編號,名稱,版主,描述)
主題(主題編號,標題,類型,點擊率,內容,發布時間,欄目編號,用戶編號,附件)
回復主題(回復主題編號,標題,主題編號,內容,發布時間,用戶編號,附件)
其中:
(1)用戶編號標識一個用戶。用戶的積分根據其發布的主題信息按積分規則計算。級別的值來自集合{‘高級用戶’, 普通用戶’, ‘初級用戶’},當用戶開始注冊時,積分為100,級別為初級用戶;當用戶積分到達1000時,級別為普通用戶;當用戶積分到達5000時,級別為高級用戶。
(2)欄目編號標識一個欄目。欄目分兩級,包括父欄目和子欄目。每個欄目必須有且僅有一個版主,版主是一個用戶。
(3)主題編號標識一個主題。類型的值來自集合{ ‘精華’, ‘置頂’, ‘普通’}。
(4)回復主題編號識別一個回復主題。一個回復主題對應一個主題,而一個主題可以有多個回復主題。
【問題1】
請將下列SQL語句的空缺部分補充完整。
(1)假設已經創建好用戶關系,現在想增加一個屬性“個性簽名” ,類型為VARCHAR(60),請給出相關的SQL語句。
(a) ;
(2)假設已經創建好用戶關系,下面是創建欄目關系的SQL語句,請將空缺部分補充完整。
CREATE TABLE 欄目(
欄目編號 VARCHAR(8) PRIMARY KEY,
父欄目編號 VARCHAR(8),
名稱 VARCHAR(40),
版主 VARCHAR(8) NOT NULL,
描述 VARCHAR(100),
(b) ,
(c) );
【問題2】
請將下列SQL語句的空缺部分補充完整。
(1)查詢標題或內容包含“SQL”的主題標題,按發布時間降序排序。
SELECT DISTINCT 標題
FROM 主題
(d)
(e) ;
(2)查找名稱為“數據庫技術”的欄目及其子欄目中的精華主題的標題和點擊率。
SELECT 標題,點擊率
FROM 主題
WHERE 類型= ‘ 精華’
AND 欄目編號 (f) (SELECT 欄目編號
FROM 欄目
WHERE 名稱= ‘數據庫技術’
(q)
SELECT 欄目編號
FROM 欄目
WHERE (h) (SELECT 欄目編號
FROM 欄目
WHERE 名稱=‘ 數據庫技術’ ));
【問題3】
假設所有關系模式已創建,回復主題關系模式的“主題編號”是外鍵,參照主題關系模式的“主題編號” 。現在要刪除編號為“T005”的主題及其相關的回復主題,下面是對應的刪除語句,這些語句組成一個事務。
DELETE 主題 WHERE 主題編號 = ‘T005 ’;
DELETE 回復主題 WHERE 主題編號= ‘T005’;
(1)請問這些刪除語句能否完成功能?若不能,請說明為什么?(100字以內)
(i)
(2)假設現在希望僅通過“DELETE 主題 WHERE 主題編號 = ‘ T005’ ;”這一條語句就能完成此刪除功能,應如何實現? (100字以內)
(j)
【問題4】
為了了解每個欄目用戶關注的主題,對原創主題創建視圖主題_view,屬性包括主題編號、標題、用戶帳號、欄目名稱、回復數、點擊率和發布時間。
CREATE VIEW 主題_view (主題編號,標題,用戶帳號,欄目名稱,回復數,點擊率,發布時間) AS SELECT 主題.主題編號,標題,帳號,名稱,回復數,點擊率,發布時間
FROM 主題,用戶,欄目, ( (k)
FROM 回復主題
(l) ) AS A
WHERE 主題.用戶編號=用戶.用戶編號 AND 主題.欄目編號=欄目.欄目編號 AND (m) ;
● 閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應欄內。
【說明】
某地區舉行籃球比賽,需要開發一個比賽信息管理系統來記錄比賽的相關信息。
【需求分析結果】
1.登記參賽球隊的信息。記錄球隊的名稱、代表地區、成立時間等信息。系統記錄球隊的每個隊員的姓名、年齡、身高、體重等信息。每個球隊有一個教練負責管理球隊,一個教練僅負責一個球隊。系統記錄教練的姓名、年齡等信息。
2.安排球隊的訓練信息。比賽組織者提供若干個場地,供球隊進行適應性訓練。系統記錄現有的場地信息,包括:場地名稱、場地規模、位置等信息。系統可為每個球隊安排不同的訓練場地,如表3-1所示。系統記錄訓練場地安排的信息。 
3.安排比賽。該賽事聘請有專職裁判,每場比賽只安排一個裁判。系統記錄裁判的姓名、年齡、級別等信息。系統按照一定的規則,首先分組,然后根據球隊、場地和裁判情況,安排比賽(每場比賽的對陣雙方分別稱為甲隊和乙隊)。記錄參賽球隊、比賽時間、比分、場地名稱等信息,如表3-2所示。
4.所有球員、教練和裁判可能出現重名情況。
【概念模型設計】
根據需求階段收集的信息,設計的實體聯系圖和關系模式(不完整)如下:
1. 實體聯系圖 
2. 關系模式
教練(教練編號, 姓名, 年齡)
隊員(隊員編號, 姓名, 年齡, 身高, 體重,(a) )
球隊(球隊名稱, 代表地區, 成立時間, (b) )
場地(場地名稱, 場地規模, 位置)
訓練記錄( (c) )
裁判(裁判編號,姓名,年齡,級別)
比賽記錄( (d) )
【問題1】(5 分)
根據問題描述,補充四個聯系,完善圖3-1的實體聯系圖。
【問題2】(8 )
根據你的實體聯系圖,完成關系模式,并給出訓練記錄和比賽記錄關系模式的主鍵和外鍵。
【問題3】(2 分)
如果考慮記錄一些特別資深的熱心球迷的情況,每個熱心球迷可能支持多個球隊。熱心球迷的基本信息包括:姓名、住址和喜歡的俱樂部等。根據這一要求修改圖3-1的實體聯系圖,給出修改后的關系模式。
● 閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應欄內。
【說明】
某企業的生產管理部門擬開發生產計劃管理系統,該系統負責管理生產計劃信息,記錄生產安排和采購的情況。現有的表格信息如表4-1、表4-2和4-3所示。


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

該企業的生產管理部門可根據需求制定多個生產計劃。每個生產計劃包含多個生產產品。一個生產產品可由多個生產小組共同生產。一個產品基于固定數量的用料來生產。企業有多個供應商,每個供應商可以提供若干種材料,每種材料可以由多個供應商提供。企業根據不同生產計劃,從供應商處購買材料。
屬性間的函數依賴關系如下:
對于“生產計劃 ”關系模式:
生產計劃編號 → 生產計劃名稱,起始時間,截止時間,預算總金額
生產計劃編號,產品編號 → 生產數量
產品編號 → 產品名稱
生產小組編號 → 生產小組名稱
生產計劃編號,生產小組編號,產品編號 → 安排人力
生產計劃編號,產品編號 →→ 生產小組編號,安排人力
對于 “產品用料”關系模式:
材料編號 → 材料名稱,單位
產品編號,材料編號 → 材料數量
對于“采購”關系模式:
采購單號 → 供應商,地址,電話,總價格,日期
采購單號,材料編號 → 數量
供應商,材料編號 → 單價
供應商 → 地址,電話
【問題1】 (7 分)
對關系“生產計劃” ,請回答以下問題:
(1)關系“生產計劃”是否滿足第四范式?用不超過200個字的內容敘述理由。
(2)把“生產計劃”分解為第四范式,分解后的關系名依次為:生產計劃1,生產計劃2 …
【問題2】 (6 分)
對關系“采購”,請回答以下問題:
(1)若“采購”關系中不考慮折扣情況,則該關系是否存在派生屬性?若存在,指出其中的派生屬性。
(2)針對“采購”關系,用100字以內文字簡要說明會產生什么問題。
(3)分解“采購”關系,分解后的關系名依次為:采購1,采購2 …
【問題3】 (2 分)
試分析可否根據圖4-1生產計劃數據庫,統計出某一個生產計劃所采購的某個供應商的總金額?并用不超過100個字的內容敘述理由。
● 閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應欄內。
【說明】
某銀行的轉帳業務分為如下兩類操作:
(1)讀取帳戶A 余額到變量x,記為x = R(A);
(2)將變量x值寫入帳戶A 中的余額,記為W(A, x)。
從帳戶A 向帳戶B 轉帳金額x元的偽代碼操作序列為:a = R(A), a = a-x, W(A, a), b = R(B), b = b+x, W(B,b)。
針對上述業務及規則,完成下列問題:
【問題1】(5 分)
根據業務規則,轉帳業務要么被全部執行,要么全部不執行,應如何保障?假設參與轉帳的帳戶余額有大于等于0的約束,上述偽代碼執行中可能出現什么情況,應如何處理?(100字以內)
【問題2】(5分)
若允許對同一帳號同時進行轉帳,要保證轉帳程序的并發執行,引入共享鎖指令SLock(b)和獨占鎖指令XLock(A)對數據A 進行加鎖,解鎖指令Unlock(A)對數據A 進行解鎖。
請補充上述轉帳業務的偽代碼序列,使其滿足2PL協議。
【問題3】(5 分)
若用SQL語句編寫的轉帳業務事務程序如下:
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為新存入的金額。
該事務程序能否保證數據的一致性?如不能,請說明原因并改正。(100字以內)
軟考備考資料免費領取
去領取
專注在線職業教育24年