《數(shù)據(jù)庫系統(tǒng)概論模擬試卷四及參考答案.doc》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫系統(tǒng)概論模擬試卷四及參考答案.doc(9頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、數(shù)據(jù)庫系統(tǒng)概論模擬試卷(四)參考答案一、 單項選擇題 (每小題2分,共30分) 第1到第2題基于以下的敘述:有關(guān)系模式A(C,T,H,R,S),其中各屬性的含義是:屬性C代表課程名,屬性T代表教師姓名,屬性H代表上課時間,屬性R代表上課教室,屬性S代表學(xué)生姓名。根據(jù)語義有如下函數(shù)依賴集:F= CT,(H,R) C,(H,T)R,(H,S)R。1、 請問該關(guān)系模式A的候選碼是( )(A)、C (B)、(H,R) (C)、(H,T) (D)、(H,S)2、 關(guān)系模式A的規(guī)范化程度最高達(dá)到( )(A)、 1NF (B)、2NF (C)、3NF (D)、BCNF3、 假設(shè)有關(guān)系R(A,B,C)和關(guān)系S
2、(C,D)。與SQL語句:select A,B,D from R,S where R.C=S.C等價的關(guān)系代數(shù)表達(dá)式是( ) (A)、R.C=S.C(A,B,D(R XS)(B)、A,B,D (R.C=S.C(R XS)(C)、R.C=S.C(A,B(R) X D(S)(D)、R.C=S.C(D(A,B(R)XS)4、 在數(shù)據(jù)庫應(yīng)用中,一般一條SQL 語句可產(chǎn)生或處理一組記錄,而宿主語言,如C語言,一條語句一般一次只能處理一條記錄,它們之間的協(xié)調(diào)可通過哪種技術(shù)實現(xiàn)( ) (A)、指針 (B)、游標(biāo) (C)、數(shù)組 (D)、棧5、 在SQL語言的SELECT語句中,實現(xiàn)投影操作是哪個子句?( )
3、(A)、SELECT (B)、FROM (C)、WHERE (D)、GROUP BY6、 在具有檢查點的故障恢復(fù)技術(shù)中,下面哪個事務(wù)不需要REDO( )。(A)、 T1 (B)、T2 (C)、T3 (D)、 T4Tc檢查點Tf系統(tǒng)故障T1T2T3T47、 下列哪一個允許用戶定義新關(guān)系時,引用其他關(guān)系的主碼作為外碼( ) (A)、INSERT (B)、DELETE (C)、REFERENCES (D)、SELECT8、 如果有兩個事務(wù),同時對數(shù)據(jù)庫中同一個數(shù)據(jù)進(jìn)行操作,不會引起沖突的操作是( ) (A)、一個是DELETE,一個是SELECT(B)、一個是UPDATE,一個是SELECT(C)、
4、兩個都是UPDATE(D)、兩個都是SELECT9、 SQL語言中的COMMIT語句的主要作用是( )(A)、結(jié)束程序 (B)、返回系統(tǒng)(C)、提交事務(wù) (D)、存儲數(shù)據(jù)10、 在E-R模型向關(guān)系模型轉(zhuǎn)換時,M:N的聯(lián)系轉(zhuǎn)換為關(guān)系模式時,其候選碼是( ) (A)、M端實體的候選碼 (B)、N端實體的候選碼 (C)、M、N端實體的候選碼組合 (D)、重新選取其他屬性11、 若用如下的SQL語句創(chuàng)建一個表SC:CREATE TABLE SC( S# char(6) NOT NULL, C# char(3) NOT NULL, SCORE int, NOTE char(20);向表SC插入如下記錄行
5、時,( )可以被插入。(A)、(201009, 111,60, NULL)(B)、(200823,101,NULL, 必修)(C)、(NULL, 103,80, 必修)(D)、(201132, NULL,86, NULL)12、 在數(shù)據(jù)庫中,數(shù)據(jù)的物理獨立性是指( )。 (A)、數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)的相互獨立 (B)、用戶程序與DBMS的相互獨立(C)、用戶的應(yīng)用程序與存儲在磁盤上數(shù)據(jù)庫中的數(shù)據(jù)是相互獨立的 (D)、 應(yīng)用程序與數(shù)據(jù)庫中數(shù)據(jù)的邏輯結(jié)構(gòu)相互獨立13、 下面列出的關(guān)于視圖的條目中,不正確的是( )。(A)、視圖是外模式(B)、視圖是虛表(C)、使用視圖可以加快查詢語句的執(zhí)行速度(
6、D)、使用視圖可以簡化查詢語句的編寫14、 假如采用關(guān)系數(shù)據(jù)庫系統(tǒng)來實現(xiàn)應(yīng)用,在數(shù)據(jù)庫設(shè)計的( )階段,需要將E-R模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型。(A)、概念設(shè)計 (B)、邏輯設(shè)計(C)、物理設(shè)計 (D)、運行階段15、 設(shè)有關(guān)系R(書號,書名),如果要檢索第3個字母為M,且至少包含4個字母的書名,則SQL查詢語句中WHERE子句的條件表達(dá)式應(yīng)寫成:Where 書名 LIKE()。 (A)、_ _ M _ (B)、_ _ M%(C)、_ _ M _ % (D)、_%M_ _二、簡答題(每小題5分,共10分)1、進(jìn)行數(shù)據(jù)庫系統(tǒng)需求分析時,數(shù)據(jù)字典的內(nèi)容和作用是什么?答:數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,通
7、常包括數(shù)據(jù)項. 數(shù)據(jù)結(jié)構(gòu). 數(shù)據(jù)流. 數(shù)據(jù)存儲和處理過程5個部分。數(shù)據(jù)字典有助于數(shù)據(jù)的管理和控制,為設(shè)計人員和數(shù)據(jù)庫管理員在數(shù)據(jù)庫設(shè)計. 實現(xiàn)和運行階段控制有關(guān)數(shù)據(jù)提供依據(jù)。2、什么是事務(wù)?怎樣保證多個事務(wù)并發(fā)執(zhí)行是正確的?答:事務(wù)是用戶定義的數(shù)據(jù)操作系列,這些操作作為一個完整的工作單元,一個事務(wù)內(nèi)的所有語句被作為一個整體,要么全部執(zhí)行,要么全部不執(zhí)行。多個事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其運行結(jié)果與按照某一順序的串行執(zhí)行的結(jié)果相同。兩段鎖協(xié)議是實現(xiàn)可串行化調(diào)度的充分條件。三、綜合應(yīng)用題(60分)1、(21分)已知一個公司的職工-社團(tuán)數(shù)據(jù)庫有三個基礎(chǔ)表: 職工:E(Eno,Ename,Age,
8、Sex) ,屬性依次是: 職工號,職工名,年齡,性別。 社團(tuán):C(Cno,Cname,Manager,Address),屬性依次是: 社團(tuán)號,社團(tuán)名,負(fù)責(zé)人職工號,社團(tuán)地址 參加:EC(Eno,Cno,Date),屬性依次是: 職工號,社團(tuán)號,參加社團(tuán)的日期 用關(guān)系代數(shù)表示下列查詢: (1)查找張力所參加社團(tuán)的社團(tuán)名和參加日期。Cname,Date(Eno(Ename=張力(E) ) ECC) (2) 查找參加了全部社團(tuán)的職工號和職工名。Eno,Ename(E) (Eno,Cno(EC) Cno(C)(3)查找每個社團(tuán)的社團(tuán)名,負(fù)責(zé)人姓名,負(fù)責(zé)人性別。 Cname,Ename,Sex (Eno
9、=Manager (EC) )用SQL語句表示下列查詢:(4) 查找年齡大于職工平均年齡的職工號,職工名和年齡。 SELECT Eno,Ename,Age FROM E WHERE Age(SELECT AVG(Age) FROM E)(5) 查找參加人數(shù)最多的社團(tuán)號和參加人數(shù)。 SELECT Cno,COUNT(*) AS 人數(shù) FROM EC GROUP BY Cno HAVING COUNT(*)=ALL (SELECT COUNT(*) FROM EC GROUP BY Cno)(6) 查找沒有參加任何社團(tuán)的職工情況。 SELECT * FROM E WHERE Eno NOT IN
10、(SELECT Eno FROM EC )(7) 查找全體職工都參加的社團(tuán)號和社團(tuán)名。 SELECT Cno,Cname FROM C WHERE NOT EXISTS (SELECT * FROM E WHERE NOT EXISTS (SELECT * FROM EC WHERE C.Cno=EC.Cno AND E.Eno=EC.Eno) 2、(4分)設(shè)關(guān)系R、S、W如圖所示:計算關(guān)系代數(shù)表達(dá)式:T=(RS) B,E,D(W) 的結(jié)果。答:3、(6分)假設(shè)有下面兩個關(guān)系模式: 職工(職工號,姓名,年齡,職務(wù),工資,部門號),其中職工號為主碼;部門號為外碼。 部門(部門號,名稱,經(jīng)理名,電
11、話),其中部門號為主碼,經(jīng)理名為外碼請用SQL語言定義這兩個關(guān)系模式,要求在關(guān)系模式中完成以下完整性約束條件的定義:(1)定義每個模式的主碼;(2)定義參照完整性;職工關(guān)系模式中的部門號屬性參照部門關(guān)系模式中的主碼部門號;部門關(guān)系模式中的經(jīng)理名屬性參照職工關(guān)系模式中的姓名屬性。(3)定義職工年齡不超過60歲。答:CREATE TABLE職工(職工號 CHAR(5)PRIMARY KEY, 姓名CHAR(8)NOT NULL, 年齡SMALLINT, 職務(wù)CHAR(10), 工資DECIMAL(7,2), 部門號CHAR(5), CONSTRAINT CI CHECK(年齡 60), CONST
12、RAIN C2 FOREIGN KEY(部門號) REFEENCES部門(部門號); CREAT TABLE部門(部門號CHAR(5)PRIMARY KEY, 名稱CHAR(20), 經(jīng)理名 CHAR(8), 電話 CHAR(8), CONSTRAINT C3 FOREIGN KEY(經(jīng)理名) REFERECES職工(姓名);4、 (10分)有一個應(yīng)用系統(tǒng)的數(shù)據(jù)庫包括三個實體集。 一個是“商店”實體集,其屬性有:商店編號,店名,店址,店經(jīng)理。 一個是“會員”實體集,其屬性有:會員編號,會員名,地址。 一個是“職工”實體集,其屬性有:職工編號,職工名,性別,工資。 每家商店有若干職工,但每個職工
13、只能服務(wù)于一家商店。 每家商店有若干會員,每個會員可以屬于多家商店。在商店和職工的聯(lián)系中應(yīng)反映出職工參加某商店工作的開始時間,在商店和會員的聯(lián)系中應(yīng)反映出會員的加入時間。(1) 根據(jù)上述語義畫出E-R圖,在E-R圖中需注明實體型的屬性、聯(lián)系的類型。(2) 將E-R圖轉(zhuǎn)換成關(guān)系模式,要求每個關(guān)系模式要規(guī)范到第三范式,并指出每個關(guān)系模式的主鍵和外鍵。答:(1) (2) 商店模式(商店編號,店名,店址,店經(jīng)理) 主鍵:商店編號職工模式(職工編號,職工名,性別,工資,商店編號,參加工作時間) 主鍵:職工編號 外鍵:商店編號 會員模式(會員編號,會員名,地址) 主鍵:會員編號 SM模式(會員編號,商店編
14、號,會員加入時間) 主鍵:(會員編號,商店編號) 外鍵:會員編號;外鍵:商店編號5、(10分)設(shè)有三個事務(wù)T1、T2、T3,所包含的操作為:T1:A=A+2;T2:A=A*2;T3:A=A*A; 設(shè)A的初始值為1,請回答下列問題: (1)假定這三個事務(wù)允許并發(fā)執(zhí)行,則有多少種可能的正確結(jié)果,請一一列出。 (2)若這三個事務(wù)都遵守兩段鎖協(xié)議,給出一個不產(chǎn)生死鎖的可串行化調(diào)度。答:(1) 總共有6種可能的正確結(jié)果: T1T2T3:36;T1T3T2:18;T2T1T3:16; T2T3T1:6;T3T1T2:6;T3T2T1:4(2)T1T2T3Xlock(A)Xlock(A)Xlock(A)Re
15、ad(A=1)等待等待A=A+2等待等待Wrtie(A=3)等待等待COMMIT等待等待Unlock(A)等待等待Read(A=3)等待A=A*2等待Write(A=6)等待COMMIT等待Unlock(A)等待Read(A=6)A=A*AWrite(A=36)COMMITUnlock(A)6、 (9分)請回答以下問題: (1)、在關(guān)系數(shù)據(jù)理論中,1NF、2NF、3NF分別對關(guān)系模式有何要求? (2)、若已知關(guān)系模式SL(SNO,SDEPT,SLOC),其中SNO為主碼,函數(shù)依賴有:SNOSDEPT,SDEPTSLOC,請判斷SL是否滿足3NF?為什么?(1)1NF要求關(guān)系模式中的每個屬性都是不可再分; 2NF要求關(guān)系模式中的每個非主屬性完全函數(shù)依賴于碼; 3NF要求關(guān)系模式中的每個非主屬性既不部分依賴于碼也不傳遞依賴于碼。(2)SL不滿足3NF,它屬于2NF。因為SNOSDEPT,SDEPTSLOC,而SDEPTSNO,所以SLOC傳遞函數(shù)依賴于SNO。1-5:DBBBA 6-10:ACDCC 11-15:ACCBC第 8 頁 共 9 頁