一、選擇題((1)~(20)每題1分,(21)~(30)每題2分,共40分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。
(1)在數(shù)據(jù)庫應用系統(tǒng)生命周期模型中,規(guī)劃與分析階段的輸出結果不包括
A)需求規(guī)范說明書 B)系統(tǒng)范圍與邊界
C)可行性分析報告 D)項目計劃書
(2)在信息系統(tǒng)的需求分析中,廣為使用的DFD建模方法屬于
A)結構化分析方法 B)數(shù)據(jù)分析方法
C)數(shù)據(jù)抽象方法 D)業(yè)務歸納方法
(3)不允許出現(xiàn)在終IDEF1X圖中的是
A)標定型聯(lián)系 B)非標定型聯(lián)系
C)分類聯(lián)系 D)多對多聯(lián)系
(4)下列哪些屬性不適合建立索引?
A)經(jīng)常出現(xiàn)在GROUP BY子句中的屬性
B)經(jīng)常參與連接操作的屬性
C)經(jīng)常出現(xiàn)在WHERE子句中的屬性
D)經(jīng)常需要進行更新操作的屬性
(5)在數(shù)據(jù)庫應用系統(tǒng)生命周期模型中,作為系統(tǒng)總體設計階段輸入的是
A)技術可行性分析報告和需求規(guī)范說明書
B)軟硬件選型和配置設計
C)數(shù)據(jù)庫應用系統(tǒng)體系結構設計
D)應用軟件總體設計
(6)SQL Server 2000中,如果希望用戶u1在DB1數(shù)據(jù)庫中具有查詢T1表的權限,正確的授權語句是
A)GRANT SELECT ON DB1(T1) TO u1
B)GRANT SELECT TO u1 ON DB1( T1)
C)GRANT SELECT TO u1 ON T1
D)GRANT SELECT ON T1 TO u1
(7)SQL Server 2000提供了很多預定義的角色,下述關于public角色說法正確的是
A)它是系統(tǒng)提供的服務器級的角色,管理員可以在其中添加和刪除成員
B)它是系統(tǒng)提供的數(shù)據(jù)庫級的角色,管理員可以在其中添加和刪除成員
C)它是系統(tǒng)提供的服務器級的角色,管理員可以對其進行授權
D)它是系統(tǒng)提供的數(shù)據(jù)庫級的角色,管理員可以對其進行授權
(8)關于ADO對象模型中的RecordSet,下述說法正確的是
A)它用于定義連接的數(shù)據(jù)庫名
B)它用于定義數(shù)據(jù)的來源
C)它是一個對象,用于在客戶端內(nèi)存中存放數(shù)據(jù)查詢的結果
D)它是一個對象,用于在服務器端內(nèi)存中存放數(shù)據(jù)查詢的結果
(9)關于ADO對象模型,下述說法正確的是
A)它是與OLE DB同層的獨立的接口集
B)它是與ODBC同層的獨立的接口集
C)它是建立在OLE DB接口之上的高層接口集
D)OLE DB是建立在ADO對象模型之上的高層接口集
(10)關于UML的靜態(tài)建模機制,下述說法錯誤的是
A)用例模型是將滿足用戶需求的所有功能表示出來的工具
B)用例圖用于表示系統(tǒng)的數(shù)據(jù)模型和功能模型
C)類圖展現(xiàn)了一組類、接口和協(xié)作以及它們之間的關系
D)組件圖表示系統(tǒng)的靜態(tài)實現(xiàn)視圖,用于對源代碼、可執(zhí)行程序和物理數(shù)據(jù)庫等進行建模
(11)關于分布式數(shù)據(jù)庫的分布策略,下述說法正確的是
A)數(shù)據(jù)分配是對關系的操作,數(shù)據(jù)分片是對數(shù)據(jù)分配的操作
B)集中式數(shù)據(jù)分配策略不便于進行數(shù)據(jù)控制
C)全復制式數(shù)據(jù)分配策略可靠性高,響應速度快,但數(shù)據(jù)冗余大,同步維護復雜
D)分割式數(shù)據(jù)分配策略對全局數(shù)據(jù)控制靈活,但對局部數(shù)據(jù)存取效率低
(12)關于并行數(shù)據(jù)劃分策略,下述說法錯誤的是
A)散列劃分采用某種散列函數(shù),以數(shù)據(jù)的劃分屬性作為函數(shù)參數(shù),計算數(shù)據(jù)應存儲的磁盤序號
B)范圍劃分根據(jù)某個屬性的取值,將數(shù)據(jù)劃分為n個部分,分別存儲到不同磁盤上
C)范圍劃分有利于范圍查詢和點查詢,但也可能會引起數(shù)據(jù)分布不均勻及并行處理能力下降等問題
D)輪轉(zhuǎn)法劃分能保證元組在多個磁盤上的平均分配,并具有較高的點查詢和范圍查詢效率
(13)將新插入的記錄存儲在文件末尾,并使記錄隨機地分布在文件物理存儲空間中的文件結構是
A)堆文件 B)聚集文件 C)索引文件 D)散列文件
(14)有一個事務T要更新數(shù)據(jù)庫中某表列的值,DBMS在執(zhí)行T時發(fā)現(xiàn)更新后的值超出了該列的值定義范圍,因此異常終止了T。為了保證數(shù)據(jù)的正確性及一致性,DBMS會執(zhí)行下列哪個恢復操作?
A)undo B)介質(zhì)恢復 C)進程恢復 D)redo
(15)關于數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)儲機制,下述說法正確的是
A)靜態(tài)轉(zhuǎn)儲時允許其他事務訪問數(shù)據(jù)庫
B)動態(tài)轉(zhuǎn)儲時允許在轉(zhuǎn)儲過程中其他事務對數(shù)據(jù)進行存取和修改
C)靜態(tài)轉(zhuǎn)儲能夠保證數(shù)據(jù)庫的可用性
D)動態(tài)轉(zhuǎn)儲無法保證數(shù)據(jù)庫的可用性
(16)在數(shù)據(jù)庫系統(tǒng)中,下列哪個映像關系用于提供數(shù)據(jù)與應用程序間的邏輯獨立性?
A)外模式/模式 B)模式/內(nèi)模式 C)外模式/內(nèi)模式 D)邏輯模式/內(nèi)模式
(17)在SQL Server 2000中,事務日志備份
A)對故障還原模型沒有要求 B)要求故障還原模型必須是完全的
C)要求故障還原模型必須是簡單的 D)要求故障還原模型不能是簡單的
(18)關于數(shù)據(jù)庫的試運行和功能與性能測試,下列說法正確的是
A)對數(shù)據(jù)庫系統(tǒng)的轉(zhuǎn)儲和恢復能力的測試屬于系統(tǒng)的功能測試范疇
B)在進行數(shù)據(jù)庫功能測試時,一般要先裝入大規(guī)模的數(shù)據(jù)
C)數(shù)據(jù)庫試運行一般是與編寫調(diào)試程序的工作同步開展的
D)數(shù)據(jù)庫系統(tǒng)的壓力測試、并發(fā)訪問測試、查詢效率測試一般屬于性能測試范疇
(19)關于數(shù)據(jù)倉庫設計,下述說法正確的是
A)數(shù)據(jù)倉庫項目的需求很難把握,所以不可能從用戶的需求出發(fā)來進行數(shù)據(jù)倉庫的設計,只能從數(shù)據(jù)出發(fā)進行設計
B)在進行數(shù)據(jù)倉庫主題數(shù)據(jù)模型設計時,應該按面向部門業(yè)務應用的方式來設計數(shù)據(jù)模型
C)在進行數(shù)據(jù)倉庫主題數(shù)據(jù)模型設計時要強調(diào)數(shù)據(jù)的集成性
D)在進行數(shù)據(jù)倉庫概念模型設計時,需要設計實體關系圖,給出數(shù)據(jù)表的劃分,并給出每個屬性的定義域
(20)關于分布式數(shù)據(jù)庫系統(tǒng),下述說法正確的是
A)查詢代價主要考慮CPU代價和I/O代價
B)分布透明性是指用戶需要并能完全看清數(shù)據(jù)分片的位置、分片的分配位置以及數(shù)據(jù)復制的過程
C)分布式查詢優(yōu)化一般不需要考慮操作的執(zhí)行順序和數(shù)據(jù)在不同場地間的傳輸順序
D)執(zhí)行分布式數(shù)據(jù)庫查詢時,導致數(shù)據(jù)傳輸量大的主要原因是數(shù)據(jù)間的連接操作和并操作
(21)已知下列員工關系表Employees
員工號 |
部門 |
工資 |
04501 |
財務 |
3000 |
05601 |
市場 |
4000 |
03020 |
研發(fā) |
3500 |
對該表的工資屬性的完整性約束為:2000≤工資≤5000
|
|
現(xiàn)將如下2個操作組織為事務T,操作1先執(zhí)行,操作2后執(zhí)行。
操作1: INSERT INTO Employees VALUES('03650', '研發(fā)', '4600')
操作2: UPDATE Employees SET 工資 = 工資 * 1.2
WHERE 部門 = '市場' OR 部門 = '研發(fā)'
事務T執(zhí)行完畢后,關系表Employees的數(shù)據(jù)是
A) B)
|
|
C) D)
(22)有會員卡表TableCards(CardID, StartDate, Score),CardID表示卡標識,Score為卡積分。有視圖:
CREATE VIEW vCard AS
SELECT * FROM TableCards WHERE Score BETWEEN 200 AND 500
WITH CHECK OPTION
假設('C0001', '2008/5/6', 220)是TableCards表中的一個元組,下述說法正確的是
A)若要查詢積分在200到300之間的所有卡標識,通過視圖vCARD查詢會比直接在TableCards上查詢的效率要高
B)數(shù)據(jù)庫系統(tǒng)會分配存儲空間實際保存視圖vCard所對應的數(shù)據(jù)
C)語句UPDATE vCard SET Score = 260 WHERE CardID = 'C0001' 能成功執(zhí)行
D)語句INSERT INTO vCard VALUES('C0010', '2008/4/5', 1000) 能成功執(zhí)行
(23)現(xiàn)有一SQL Server 2000數(shù)據(jù)庫服務器,其中的一個數(shù)據(jù)庫占用80GB空間。另有一臺用于備份的計算機,該機上有四個大小均為60GB的硬盤分區(qū)。若要將此數(shù)據(jù)庫完全備份到該計算機上,則
A)不能實現(xiàn),因為每個分區(qū)上的空間都不夠80GB
B)可以先建立一個備份設備,這個備份設備分別在四個分區(qū)上各占用20GB空間,然后再用此設備備份數(shù)據(jù)庫
C)可以先在每個分區(qū)上分別建立一個備份設備,指定每個設備的大小均為20GB,并建立一個包含這四個備份設備的備份媒體集,后再用此備份媒體集備份數(shù)據(jù)庫
D)可以先在每個分區(qū)上分別建立一個不用指定大小的備份設備,然后將數(shù)據(jù)庫同時備份到這四個備份設備上
(24)有一個具有10萬行數(shù)據(jù)的關系表,每行占用3000字節(jié)空間,如果在SQL Server 2000管理的數(shù)據(jù)庫中存放此關系表,則需要的空間大約是
A)300MB B)400MB C)500MB D)600MB
(25)下面給出的關系表r(A, B, C, D)滿足下述哪個函數(shù)依賴?
A |
B |
C |
D |
1 |
4 |
3 |
1 |
2 |
7 |
1 |
1 |
3 |
0 |
2 |
2 |
1 |
2 |
3 |
3 |
A)A→B B)B→D C)D→C D)A→D
(26)某供應商關系模式為:
Providers(PID,PName, Tel, GoodsID, GoodsClassID, GoodsName, GoodsPrice)
該關系模式滿足如下函數(shù)依賴:
PID→Pname,PID→Tel,GoodsID→GoodsClassID,
GoodsID→GoodsName, GoodsName→GoodsPrice
則這個關系模式的主碼為
A)(PID,GoodsName) B)(PID,GoodsClassID)
C)(PID,GoodsID) D)(PID,GoodsPrice)
(27)給定如下數(shù)據(jù):
I. 商品銷售數(shù)據(jù)
商品標識 |
價格 |
數(shù)量 |
金額 |
銷售時間 |
1 |
50.00 |
5 |
100 |
2008/01/01 2:30:10 |
2 |
3.00 |
2 |
6 |
2008/01/01 2:31:10 |
… |
|
|
|
|
II. 關系模式信息
表名 |
屬性名 |
類型 |
長度 |
… |
商品表 |
商品標識 |
字符 |
10 |
… |
商品表 |
商品名稱 |
字符 |
50 |
… |
… |
|
|
|
|
III. 商品類別數(shù)據(jù)
商品類別標識 |
類別名稱 |
商品大類標識 |
DA |
電視 |
家電 |
DB |
冰箱 |
家電 |
… |
|
|
IV. 權限信息
角色名/用戶名 |
對象名 |
權限 |
R1 |
T1 |
SELECT |
R2 |
T1 |
INSERT |
… |
|
|
V. 層間數(shù)據(jù)映射關系
屬性名 |
源系統(tǒng) |
源數(shù)據(jù)表 |
源字段 |
GoodsID |
銷售系統(tǒng) |
Goods |
GID |
PID |
人力資源系統(tǒng) |
Persons |
PID |
… |
|
|
|
以上數(shù)據(jù)中,一般不屬于元數(shù)據(jù)的是
A)I和III B)I 、III和IV C)II和V D)II、IV和V
(28)有職工工資表(職工號,姓名,日期,基本工資,獎金,工資合計),其中“工資合計”等于同一行數(shù)據(jù)的“基本工資”與“獎金”之和。在職工工資表中插入一行數(shù)據(jù)時(設只插入一行數(shù)據(jù))能實現(xiàn)自動計算“工資合計”列的值的代碼是
A)ALTER TABLE 職工工資表 ADD CHECK (工資合計 = 基本工資 + 獎金)
B)UPDATE 職工工資表 SET 工資合計 = 基本工資 + 獎金
C)INSERT INTO 職工工資表(工資合計) VALUES(基本工資 + 獎金)
D)CREATE TRIGGER TRI ON 職工工資表 FOR INSERT AS
UPDATE 職工工資表 SET a.工資合計 = a.基本工資 + a.獎金
FROM 職工工資表 a JOIN INSERTED b ON a.職工號 = b.職工號
AND a.日期 = b.日期
(29)有教師表(教師號,姓名,職稱,所在系)和授課表(教師號,課程號,授課學年,授課時數(shù)),同一門課程可由多個教師講授,同一個教師也可講授多門課程。查詢從未被“教授”講授過的課程的課程號,正確的語句是
A)SELECT 課程號 FROM 授課表 a JOIN 教師表 b ON a.教師號 = b.教師號
WHERE 職稱 != '教授'
B)SELECT 課程號 FROM 授課表 a RIGHT OUTTER JOIN 教師表 b
ON a.教師號 = b.教師號
WHERE 職稱 != '教授' AND a.課程號 IS NOT NULL
C)SELECT 課程號 FROM 授課表 WHERE 課程號 NOT IN(
SELECT 課程號 FROM 授課表 a JOIN 教師表 b ON a.教師號 = b.教師號
WHERE 職稱 = '教授')
D)SELECT 課程號 FROM 授課表 WHERE 課程號 IN(
SELECT 課程號 FROM 授課表 a JOIN 教師表 b ON a.教師號 = b.教師號
WHERE 職稱 != '教授')
(30)給定如下三個關系表:
銷售明細表(商品標識,銷售時間,單價,數(shù)量,金額)
日銷售表(商品標識,銷售日,總數(shù)量,總金額)
月銷售表(商品標識,銷售月份,總數(shù)量,總金額)
下述說法正確的是
A)銷售明細表的數(shù)據(jù)粒度大,數(shù)據(jù)量大
B)日銷售表的數(shù)據(jù)粒度大,數(shù)據(jù)量小
C)月銷售表的數(shù)據(jù)粒度大,數(shù)據(jù)量小
D)月銷售表的數(shù)據(jù)粒度小,數(shù)據(jù)量小
二、簡答題(每題10分,共20分)
請使用藍、黑色鋼筆或圓珠筆將答案寫在答題紙的相應位置上,否則無效。
(1)設有商場經(jīng)營管理系統(tǒng),系統(tǒng)中的部分數(shù)據(jù)表或視圖的相關信息如下所示:
表或視圖 |
訪問頻率 |
數(shù)據(jù)源 |
表T1(商品標識,時間,銷售柜臺,數(shù)量,單價,金額) |
10000 次/天 |
原始數(shù)據(jù) |
表T2(商品標識,時間,商店標識,總數(shù)量,總金額) |
1000次/天 |
T1 |
表T3(商品標識,日,商店標識,總數(shù)量,總金額) |
5000次/天 |
T2 |
表T4(商品標識,月份,商店標識,總數(shù)量,總金額) |
100次/天 |
T3 |
視圖V1(商品標識,季度,商店標識,總數(shù)量,總金額) |
3000次/天 |
T3 |
表中T4的數(shù)據(jù)源是T3表明T4中的數(shù)據(jù)是根據(jù)T3的數(shù)據(jù)匯總計算而來的,并假定各個表的數(shù)據(jù)都得到了及時計算,F(xiàn)需對系統(tǒng)進行優(yōu)化,以提高與視圖V1有關的查詢效率。設有如下優(yōu)化方案:
I. 為視圖V1建立索引
II. 為T2建立主索引
III. 為T3建立主索引
IV. 重寫視圖V1,將其數(shù)據(jù)源調(diào)整為T4,并為T4建立主索引
V. 重寫視圖V1,將數(shù)據(jù)源調(diào)整為T2,并為T2建立主索引
請針對每一個優(yōu)化方案,說明該優(yōu)化方案對實現(xiàn)目標是否有效,并簡要說明原因。(10分)
(2)下圖為關系表Students(專業(yè),姓名,學號,年齡)在對應的數(shù)據(jù)文件中的物理存儲結構示意圖。
專業(yè) 姓名 學號 年齡
電子 |
張家力 |
D-002 |
19 |
|
計算機 |
蘇永軍 |
J-100 |
18 |
|
自動化 |
鄧秀娟 |
Z-058 |
23 |
|
計算機 |
葉浩偉 |
J-206 |
21 |
|
① 寫出在“專業(yè)”屬性上建立聚集索引的SQL語句,索引值按升序排序(索引名為ZY_ind)。(4分)
② 假設索引按稠密索引方式組織數(shù)據(jù),畫出在“專業(yè)”屬性上建立聚集索引后該表對應的索引文件和數(shù)據(jù)文件的物理存儲結構示意圖(以“專業(yè)”為查找碼,按查找碼的漢語拼音字母升序排序)。(6分)
三、設計與應用題(共40分)
請使用藍、黑色鋼筆或圓珠筆將答案寫在答題紙的相應位置上,否則無效。
(1)有商品表(商品號,商品名,分類,單價),請編寫一個實現(xiàn)更改商品單價的存儲過程(存儲過程名為pUpdate),更改規(guī)則如下:“電腦”類商品降價10%,“電視”類商品降價6%,“冰箱”類商品降價3%,其他類商品不降價。以商品的分類作為輸入?yún)?shù),假設“分類”為字符串類型,長度多為6個漢字。如果商品表中沒有用戶指定的分類,則用輸出參數(shù)返回字符串“指定的分類不存在”;如果用戶指定的分類存在,則用輸出參數(shù)返回字符串“修改已成功”。(10分)
(2)現(xiàn)有某圖書銷售數(shù)據(jù)庫,其關系表結構如下:
圖書表(圖書編號,圖書名稱,出版社編號,出版社名稱,出版時間,出版數(shù)量,版次)
圖書銷售表(圖書編號,銷售日期,銷售數(shù)量,書店編號,讀者編號,讀者姓名,讀者電話)
書店表(書店編號,聯(lián)系電話,所在城市編號,城市名稱)
該系統(tǒng)所涉及的數(shù)據(jù)存在如下約束:
I. 一個出版社可以出版多本圖書,一本圖書只能在一個出版社出版,在該系統(tǒng)中記錄的圖書出版信息包括出版時間、版次及出版數(shù)量信息;
II. 一個書店可以出售多本圖書給多個讀者,每位讀者可以從多個書店購買多本圖書,一本圖書可以通過多個書店出售給讀者,書店把圖書出售給讀者后會在系統(tǒng)中記錄售書日期和售書數(shù)量信息;
III. 每個書店只能位于一個城市,一個城市可以有多個書店。
① 請根據(jù)以上信息畫出合理的圖書銷售數(shù)據(jù)庫的概念模型(用ER圖表示)。(8分)
② 以圖書銷售表為例說明原數(shù)據(jù)庫設計的不合理之處。(4分)
③ 給出該數(shù)據(jù)庫符合3NF要求的全部關系模式,并指出關系模式中的全部主碼和外碼。(8分)
(3)事務T1、T2和T3按如下調(diào)度方式并發(fā)地對數(shù)據(jù)項A、B、C進行訪問,假設A、B、C的初值分別為A=20,B=30,C=40。
① 在事務T2剛完成提交后,數(shù)據(jù)庫中A、B、C的值各是多少?(3分)
② 當事務T3結束后,給出該并發(fā)調(diào)度對應的日志文件,并說明此時A、B、C的值各是多少?(7分)
T1 T2 T3 |
begin-trans(T1) read(A) A := A +10 begin-trans(T2) read(B) write(A) commit begin-trans(T3) read(C) B:= B -10 write(B) C := C*2 commit write(C) rollback |