《數(shù)據(jù)庫系統(tǒng)概論》試題與答案.doc
《《數(shù)據(jù)庫系統(tǒng)概論》試題與答案.doc》由會員分享,可在線閱讀,更多相關《《數(shù)據(jù)庫系統(tǒng)概論》試題與答案.doc(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 《數(shù)據(jù)庫系統(tǒng)概論》試題A 一、選擇題(20分,每小題2分): 2.對關系模型敘述錯誤的是____。 A.建立在嚴格的數(shù)學理論、集合論和謂詞演算公式的基礎之上 B.微機DBMS絕大部分采取關系數(shù)據(jù)模型 C.用二維表表示關系模型是其一大特點 D.不具有連接操作的DBMS也可以是關系數(shù)據(jù)庫系統(tǒng) 5. FoxBASE、FoxPro屬于________。 A.表式系統(tǒng) B.最小關系系統(tǒng) C.關系完備的系統(tǒng) D.全關系系統(tǒng) 二、填空題(20分,每小空2分): 3.關系操作的特點是集合操作。 4.關系代數(shù)中,
2、從兩個關系中找出相同元組的運算稱為⑤運算。 5.在關系數(shù)據(jù)庫的規(guī)范化理論中,在執(zhí)行“分解”時,必須遵守規(guī)范化原則:保持原有的函數(shù)依賴和⑥。 6.SQL語言的數(shù)據(jù)定義功能包括⑦、⑧、⑨和⑩。 4.⑤交 5.⑥無損連接 6.⑦定義數(shù)據(jù)庫 ⑧定義基本表 ⑨定義視圖 ⑩定義索引 三、簡答題(15分,每小題5分): 1.使用數(shù)據(jù)庫系統(tǒng)有什么好處? 答查詢迅速、準確,而且可以節(jié)約大量紙面文件; 數(shù)據(jù)結構化,并由DBMS統(tǒng)一管理; 數(shù)據(jù)冗余度?。? 具有較高的數(shù)據(jù)獨立性; 數(shù)據(jù)的共享性好; DBMS還提供了數(shù)據(jù)的控制功能。 2. 敘述數(shù)據(jù)字典的主要
3、任務和作用? 答:數(shù)據(jù)字典的任務就是管理有關數(shù)據(jù)的信息,所以又稱為“數(shù)據(jù)庫的數(shù)據(jù)庫”。它的任務主要有: (1)描述數(shù)據(jù)庫系統(tǒng)的所有對象,并確定其屬性。如一個模式中包含的記錄型與一個記錄型包含的數(shù)據(jù)項;用戶的標識、口令;物理文件名稱、物理位置及其文件組織方式等。數(shù)據(jù)字典在描述時賦給每個對象一個惟一的標識。 (2)描述數(shù)據(jù)庫系統(tǒng)對象之間的各種交叉聯(lián)系。如哪個用戶使用哪個子模式,哪些模式或記錄型分配在哪些區(qū)域及對應于哪些物理文件、存儲在何種物理設備上。(3)登記所有對象的完整性及安全性限制等。 (4)對數(shù)據(jù)字典本身的維護、保護、查詢與輸出。 數(shù)據(jù)字典的主要作用是: (1)供數(shù)據(jù)庫管理系統(tǒng)
4、快速查找有關對象的信息。數(shù)據(jù)庫管理系統(tǒng)在處理用戶存取時,要經(jīng)常查閱數(shù)據(jù)字典中的用戶表、子模式表和模式表等。 (2)供數(shù)據(jù)庫管理員查詢,以掌握整個系統(tǒng)的運行情況。 (3)支持數(shù)據(jù)庫設計與系統(tǒng)分析。 3.簡要敘述關系數(shù)據(jù)庫的優(yōu)點? 答:關系數(shù)據(jù)庫是以關系模型作為數(shù)據(jù)的組織方式,關系模型是建立在嚴格的數(shù)學概念基礎上的,關系數(shù)據(jù)庫的主要優(yōu)點是概念簡單清晰,用戶不需了解復雜的存取路徑,不需說明“怎么干”,只需說明“干什么”,易懂易學。 四、綜合題(45分): 1.某醫(yī)院病房計算機管理中需要如下信息:(10分) 科室:科名,科地址,科電話,醫(yī)生姓名 病房:病房號,床位號,所屬科室名
5、醫(yī)生:姓名,職稱,所屬科室名,年齡,工作證號 病人:病歷號,姓名,性別,診斷,主管醫(yī)生,病房號 其中,一個科室有多個病房、多個醫(yī)生,一個病房只能屬于一個科室,一個醫(yī)生只屬于一個科室,但可負責多個病人的診治,一個病人的主管醫(yī)生只有一個。 完成如下設計: (1)設計該計算機管理系統(tǒng)的E-R圖;(5分) (2)將該E-R圖轉換為關系模型結構;(3分) (3)指出轉換結果中每個關系模式的候選碼。(2分) 2.設有關系S、SC、C,試用關系代數(shù)、元組關系演算表達式和SQL完成下列操作。(15分,每小題5分) S(S#,SNAME,AGE,SEX) 例:(001,李強,23,’男)
6、SC(S#,C#,SCORE) 例:(003,C1,83) C(C#,CNAME,TEACHER) 例:(C1,數(shù)據(jù)庫原理,王華) (1)用關系代數(shù)檢索選修課程號(C#)為C1和C2的學生學號(S#)。 (2)用元組關系演算表達式檢索選修了“程軍”老師所授課程之一的學生姓名。 (2)用元組關系演算表達式檢索選修了“程軍”老師所授課程之一的學生學號。 (3)用SQL找出選修了“程軍”老師教的所有課程的學生姓名。 3.設有關系模式R(U,F(xiàn)),其中: (10分) U={E,F(xiàn),G,H},F(xiàn)={E→G,G→E,F(xiàn)→EG,H→EG,F(xiàn)H→E} 求F的最小依賴集。
7、 4.設有關系R和函數(shù)依賴F:(10分) R(W,X,Y,Z),F(xiàn) = { X→Z,WX→Y }。 試求下列問題: (1)關系R屬于第幾范式?(5分) (2)如果關系R不屬于BCNF,請將關系R逐步分解為BCNF。(5分) 要求:寫出達到每一級范式的分解過程,并指明消除什么類型的函數(shù)依賴。 四、綜合題(45分): 1. 解:(1)本題的E-R圖如圖2所示。 (2)對應的關系模型結構如下: 科室(科名,科地址,科電話) 病房(病房號,床位號,科室名) 醫(yī)生(工作證號,姓名,職稱,科室名,年齡) 病人(病歷號,姓名
8、,性別,診治,主管醫(yī)生,病房號) (3)每個關系模式的候選碼如下: 科室的候選碼是科名; 病房的候選碼是科室名十病房號; 醫(yī)生的候選碼是工作證號; 病人的候選碼是病歷號。 n 病人 入住 病房 1 病房號 床位號 工作證號 姓 名 性 別 病歷號 n 醫(yī)生 從屬 科室 1 科 名 科電話 科地址 職 稱 年 齡 姓 名 診治 組成 n 1 n 1 圖2 E-R圖 2.設有關系S、SC、C,試用關系代數(shù)、元組關系演算表達式和S
9、QL完成下列操作。(15分,每小題5分) S(S#,SNAME,AGE,SEX) 例:(001,李強,23,’男) SC(S#,C#,SCORE) 例:(003,C1,83) C(C#,CNAME,TEACHER) 例:(C1,數(shù)據(jù)庫原理,王華) (1)用關系代數(shù)檢索選修課程號(C#)為C1和C2的學生學號(S#)。 ΠS#,C#(SC)ΠC#(σC#=’C1’ C#=’C2’(C))-σC#’C1’ C# ’C2’(ΠS#,C#(SC)ΠC#(σC#=’C1’ C#=’C2’(C))) (2)用元組關系演算表達式檢索選修了“程軍”老師所授課程之一的學生姓名。 {T(1)|
10、($U)($V)($W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]=程軍)} (2)用元組關系演算表達式檢索選修了“程軍”老師所授課程之一的學生學號。 {T(1)| ($V)($W)( SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]=程軍)} (3)用SQL找出選修了“程軍”老師教的所有課程的學生姓名。 SELECT S.SNAME FROM S WHERE NOT EXISTS ( SELECT * FROM C WHERE C.TEACHER=程軍 AND NOT EXISTS
11、 ( SELECT * FROM SC WHERE SC.C#=C.C# AND SC.S#=S.S# ) ) 本題解釋: SELECT * FROM C WHERE C.TEACHER=程軍 AND EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C# ) 這條SQL是查詢程軍所授的所有課程,外層查詢中C.C#作為變量在內層查詢中被使用,外層教師程軍所授課程的課程號C#給內層,內層根據(jù)該課程號C#在SC中查詢是否存在這樣的課程號,即程軍所授的課程,如果存在則括號中的記錄集不空,EXISTS條件為TRUE
12、。因此,執(zhí)行結果是顯示程軍所授的所有課程。 SELECT * FROM C WHERE C.TEACHER=程軍 AND NOT EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C# ) 這條SQL語句在剛才語句的EXISTS前加了NOT,變成當內層查詢全部是程軍所授課程時NOT EXISTS條件為假。 SELECT S.SNAME FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE C.TEACHER=程軍 AND NOT EXISTS ( SELECT * FRO
13、M SC WHERE SC.C#=C.C# AND SC.S#=S.S# ) 這條是完整的語句,比上面一條語句多了一個AND SC.S#=S.S#表示某個學生的學號,加上最外層的NOT EXISTS的整個語句的含義是,對該某個學生,如果最內層查詢中查詢結果全部是‘程軍’所授課程時,條件C.CNAME=程軍 AND NOT EXISTS為FALSE,所以SELECT * FROM C的查詢結果為空(第二層),這時最外層的NOT EXISTS為TRUE,最外層查找成功,該學生是選修了‘程軍’所授全部課程的。 3.設有關系模式R(U,F(xiàn)),其中: (10分) U={E,
14、F,G,H},F(xiàn)={E→G,G→E,F(xiàn)→EG,H→EG,F(xiàn)H→E} 求F的最小依賴集。 解: ⑴ 將F中右部屬性單一化: (2分) F1= {E→G,G→E,F(xiàn)→E,F(xiàn)→G,H→E,H→G,F(xiàn)H→E} ⑵ 去掉左部冗余的屬性。對于FH→E,由于有F→E,則為多余的。 F2= {E→G,G→E,F(xiàn)→E,F(xiàn)→G,H→E,H→G} (2分) ⑶ 去掉冗余的函數(shù)依賴。F2中的F→E和F→G,以及H→E,H→G之一是冗余的,則: F3= {E→G,G→E,F(xiàn)→G,H→G} (6分) 4.設有關系R和函數(shù)依賴F:(10分) R(W,X,Y,Z
15、),F(xiàn) = { X→Z,WX→Y }。 試求下列問題: 1.關系R屬于第幾范式?(5分) 2.如果關系R不屬于BCNF,請將關系R逐步分解為BCNF。(5分) 要求:寫出達到每一級范式的分解過程,并指明消除什么類型的函數(shù)依賴。 解:R是1NF。侯選碼為WX,則Y,Z為非主屬性,又由于X→Z,因此F中存在非主屬性對侯選碼的部分函數(shù)依賴。 W XY Y ZY 將關系分解為: R1(W,X,Y),F(xiàn)1 = { WX→Y } R2(X,Z),F(xiàn)2 = { X→Z } 消除了非主屬性對碼的部分函數(shù)依賴。 F1和F2中的函數(shù)依賴都是非平凡的,并且決定因素是候選碼,
16、所以上述關系模式是BCNF。 《數(shù)據(jù)庫系統(tǒng)概論》試題B 1.數(shù)據(jù)庫系統(tǒng)的核心是____。 A.數(shù)據(jù)庫 B.數(shù)據(jù)庫管理系統(tǒng) C.數(shù)據(jù)模型 D.軟件工具 3.SQL語言具有____的功能。 A.關系規(guī)范化、數(shù)據(jù)操縱、數(shù)據(jù)控制 B.數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制 C.數(shù)據(jù)定義、關系規(guī)范化、數(shù)據(jù)控制 D.數(shù)據(jù)定義、關系規(guī)范化、數(shù)據(jù)操縱 10.設有兩個事務T1、T2,其并發(fā)操作如圖1所示,下面評價正確的是____。 A.該操作不存在問題 B.該操作丟失修改 C.該操作不能重復讀 D.該操作讀“臟”數(shù)據(jù)
17、 T1 T2 ①讀A=10 ② 讀A=10 ③A=A-5寫回 ④ A=A-8寫回 圖1 事務并發(fā)操作圖 2、 填空題(20分,每小空2分): 7 完整性約束是指②和③。實體完整性 參照完整性 3.關系數(shù)據(jù)庫中可命名的最小數(shù)據(jù)單位是④。屬性名 4.保護數(shù)據(jù)安全性的一般方法是⑤。設置用戶標識和存取權
18、限控制 5.“為哪些表,在哪些字段上,建立什么樣的索引”這一設計內容應該屬于數(shù)據(jù)庫設計中的⑥設計階段。物理 6.若關系為1NF,且它的每一非主屬性都⑦候選碼,則該關系為2NF。不部分函數(shù)依賴于 7.關系代數(shù)運算中,專門的關系運算有.選擇 投影 連接 三、簡答題和綜合題(15分,每小題5分): 1.舉例說明關系參照完整性的含義。 2.數(shù)據(jù)庫管理系統(tǒng)有哪些功能? 3.事務中的提交和回滾是什么意思? 四、綜合題(45分): 1.假定一個部門的數(shù)據(jù)庫包括以下的信息: (10分) 職工的信息:職工號、姓名、住址和所在部門。 部門的信息:部門所有職工、經(jīng)理和銷售的產(chǎn)品
19、。 產(chǎn)品的信息:產(chǎn)品名、制造商、價格、型號及產(chǎn)品內部編號。 制造商的信息:制造商名稱、地址、生產(chǎn)的產(chǎn)品名和價格。 完成如下設計: (1)設計該計算機管理系統(tǒng)的E-R圖;(5分) (2)將該E-R圖轉換為關系模型結構;(3分) (3)指出轉換結果中每個關系模式的候選碼。(2分) 2.設有關系S、SC、C,試用關系代數(shù)、元組關系演算表達式和SQL完成下列操作。(15分,每小題5分) S(S#,SNAME,AGE,SEX) 例:(001,李強,23,’男) SC(S#,C#,SCORE) 例:(003,C1,83) C(C#,CNAME,TEACHER) 例:(C1,數(shù)據(jù)庫
20、原理,王華) (1)用關系代數(shù)檢索既選修了C1課程,又選修了C2課程的學生學號(S#)。 (2)用元組關系演算表達式檢索年齡大于21的男生的學號和姓名。 (3)用SQL找出“程序設計”課程成績在90分以上的學生姓名。 3.設有函數(shù)依賴集F = { D→G,C→A,CD→E,A→B},計算閉包D+,(AC)+,(ACD)+ 。 (10分) 4.設有關系R和函數(shù)依賴F: (10分) R(X,Y,Z),F(xiàn) = { Y→Z,XZ→Y}。 試求下列問題: (1)關系R屬于第幾范式?(5分) (2)如果關系R不屬于BCNF,請將關系R逐步分解為BCNF。(5分) 要求:寫出達到
21、每一級范式的分解過程,并指明消除什么類型的函數(shù)依賴。 試題答案 三、簡答題(15分,每小題5分): 1.舉例說明關系參照完整性的含義。 答:假如有下表所示的兩個關系表,在成績表中,學號是主碼,課程號是外碼:在課程表中課程號是主碼,根據(jù)關系參照完整性的定義,R2是成績表,R1是課程表,也就是成績表中課程號的值或者為空或者在課程表中的課程號中能夠找到。 成績表 課程表 學號 姓名 課程號 成績 101 劉軍 k5 80 212 王麗 k8 76 221 章華 k9 92 課
22、程號 課程號 k5 高等數(shù)學 k8 C語言n k9 計算機網(wǎng)絡 滿足這個條件是必須的,如果不滿足,假設成績表中課程號的值k20在課程表中課程號的值中找不到,則該課程號顯然是不正確的,這樣會造成數(shù)據(jù)的不一致性。 2.數(shù)據(jù)庫管理系統(tǒng)有哪些功能? 答:數(shù)據(jù)庫管理系統(tǒng)(DBMS)是位于操作系統(tǒng)與用戶之間的一個數(shù)據(jù)管理軟件,它主要功能包括以下幾個方面: ?數(shù)據(jù)定義功能 DBMS提供數(shù)據(jù)描述語言(DDL),用戶可通過它來定義數(shù)據(jù)。 ?數(shù)據(jù)操縱功能 DBMS還提供數(shù)據(jù)操縱語言(DML),實現(xiàn)對數(shù)據(jù)庫的基本操作:查詢、插入、刪除和修改。 ?數(shù)據(jù)庫的運
23、行管理 這是DBMS運行時的核心部分,它包括開發(fā)控制,安全性檢查,完整性約束條件的檢查和執(zhí)行,數(shù)據(jù)庫的內容維護等。 ?數(shù)據(jù)庫的建立和維護功能 它包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入及轉換,數(shù)據(jù)庫的轉儲與恢復,數(shù)據(jù)庫的重組功能和性能的監(jiān)視與分析功能等。 3.事務中的提交和回滾是什么意思? 答:事務中的提交(COMMIT)是提交事務的所有操作。具體說就是將事務中所有對數(shù)據(jù)庫的更新寫回到磁盤上的物理數(shù)據(jù)庫中去,事務正常結束。 事務中的回滾(ROLLBACK)是數(shù)據(jù)庫滾回到事務開始時的狀態(tài)。具體地說就是,在事務運行的過程中發(fā)生了某種故障,事務不能繼續(xù)執(zhí)行,系統(tǒng)將事務中對數(shù)據(jù)庫的所有已完成的更新操作
24、全部撤消,使數(shù)據(jù)庫回滾到事務開始時的狀態(tài)。 四、綜合題(45分): 1. (1)設計該計算機管理系統(tǒng)的E-R圖;(5分) (2)將該E-R圖轉換為關系模型結構;(3分) (3)指出轉換結果中每個關系模式的候選碼。(2分) 解:本題對應的E-R圖如圖2 所示。 圖2 E-R圖 2. (1)用關系代數(shù)檢索既選修了C1課程,又選修了C2課程的學生學號。 (∏SNAME(S C#=C1(SC)))∩(∏SNAME(S C#=C2(SC))) (2)用元組關系演算表達式檢索年齡大于21的男生的學號和姓名。 {t(2)|($r)(S(r)∧
25、t[1]=r[1]∧t[2]=r[2]∧r[3]>21∧r[4]=男)} (3)用SQL找出“程序設計”課程成績在90分以上的學生姓名。 解: SELECT SNAME FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND SCORE>=90 AND CNAME=程序設計 或者 SELECT SNAME FROM S WHERER S.S# IN ( SELECT S# FROM SC WHERE SCORE>=90 AND C.C#
26、 IN ( SELECT C# FROM C WHERE CNAME=程序設計) 3.設有函數(shù)依賴集F = { D→G,C→A,CD→E,A→B},計算閉包D+,(AC)+,(ACD)+ 。 (10分) 解: 令X={D},X(0)= D,X(1)= DG,X(2)=DG,故D+=DG。 令X={AC},X(
27、0)= AC,X(1)=ABC,X(2)=ABC,故(AC)+ =ABC。 令X={ACD},X(0)= ACD,X(1)=ABCD,X(2)=ABCDG,X(3)=ABCDEG,故(ACD)+ =ABCDEG。 4.設有關系R和函數(shù)依賴F: (10分) R(X,Y,Z),F(xiàn) = { Y→Z,XZ→Y}。 試求下列問題: (1)關系R屬于第幾范式?(5分) (2)如果關系R不屬于BCNF,請將關系R逐步分解為BCNF。(5分) 要求:寫出達到每一級范式的分解過程,并指明消除什么類型的函數(shù)依賴。 解:R是3NF。侯選碼為XY和XZ,R中所有屬性都是主屬性,不存在非主屬性對碼的傳
28、遞依賴。 R1(X,Y,Z),F(xiàn) = { XZ→Y} R2(Y,Z),F(xiàn) = { Y→Z } 消除了非主屬性對碼的傳遞依賴。 F1和F2中的函數(shù)依賴都是非平凡的,并且決定因素是候選碼,所以上述關系模式是BCNF。 《數(shù)據(jù)庫系統(tǒng)概論》試題C 1.數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的主要區(qū)別是____。 A.數(shù)據(jù)庫系統(tǒng)復雜,而文件系統(tǒng)簡單 B.文件系統(tǒng)不能解決數(shù)據(jù)冗余和數(shù)據(jù)獨立性問題,而數(shù)據(jù)庫系統(tǒng)可以解決 C.二文件系統(tǒng)只能管理程序文件,而數(shù)據(jù)庫系統(tǒng)能夠管理各種類型的文件 D.文件系統(tǒng)管理的數(shù)據(jù)量較少,而數(shù)據(jù)庫系統(tǒng)可以管理龐大的數(shù)據(jù)量 8.數(shù)據(jù)庫的____是指數(shù)據(jù)的正確性和
29、相容性。 A.安全性 B.完整性 C.并發(fā)控制 D.恢復 9.授權編譯系統(tǒng)和合法性檢查機制一起組成了____子系統(tǒng)。 A.安全性 B.完整性 C.并發(fā)控制 D.恢復 1.DBMS的基本工作單位是事務,它是用戶定義的一組邏輯一致的程序序列;并發(fā)控制的主要方法是①機制。封鎖 3.關系數(shù)據(jù)庫中基于數(shù)學上兩類運算是③和④。關系代數(shù) 關系演算 4.數(shù)據(jù)庫設計的幾個步驟是⑤。需求分析,概念設計,邏輯設計,物理設計,編碼和調試 關系操作的特點是⑩操作集合。 三、簡答題(15分,每小題5分): 1.什么是數(shù)據(jù)庫? 2.什么是數(shù)據(jù)庫的數(shù)據(jù)獨立性? 3.
30、敘述等值連接與自然連接的區(qū)別和聯(lián)系。 四、綜合題(45分): 1.設有如下實體: (10分) 學生:學號、單位、姓名、性別、年齡、選修課程名 課程:編號、課程名、開課單位、任課教師號 教師:教師號、姓名、性別、職稱、講授課程編號 單位:單位名稱、電話、教師號、教師名 上述實體中存在如下聯(lián)系: (1) 一個學生可選修多門課程,一門課程可為多個學生選修; (2) 一個教師可講授多門課程,一門課程可為多個教師講授; (3) 一個單位可有多個教師,一個教師只能屬于一個單位。 試完成如下工作: (1)分別設計學生選課和教師任課兩個局部信
31、息的結構E-R圖。 (4分) (2)將上述設計完成的E-R圖合并成一個全局E-R圖。 (3分) (3)將該全局E-R圖轉換為等價的關系模型表示的數(shù)據(jù)庫邏輯結構。 (3分) 2.設有關系S、SC、C,試用關系代數(shù)、元組關系演算表達式和SQL完成下列操作。(15分,每小題5分) S(S#,SNAME,AGE,SEX) 例:(001,李強,23,’男) SC(S#,C#,SCORE) 例:(003,C1,83) C(C#,CNAME,TEACHER) 例:(C1,數(shù)據(jù)庫原理,王華) (1)試用關系代數(shù)檢索選修了“程軍”老師所授課程之一的學生姓名。 (2)試用元組關系演算表達式
32、檢索選修了“程軍”老師所授課程之一的學生姓名。 (2)試用元組關系演算表達式檢索選修了“程軍”老師所授課程之一的學生學號。 (3)試用SQL找出“程序設計”課程成績在90分以上的學生姓名。 3.設有關系模式R(U,F(xiàn)),其中: (10分) U={A,B,C,D,E},F(xiàn) = { A→BC,CD→E,B→D,E→A}。 ⑴ 計算B+。 (2分) ⑵ 求R的所有候選碼。 (8分) 4.設有關系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME為候選
33、碼,設關系中有如下函數(shù)依賴: (10分) S#,CNAME→SNAME,SDEPT,MNAME S#→SNAME,SDEPT,MNAME S#,CNAME→GRADE SDEPT→MNAME 試求下列問題: (1)關系STUDENT屬于第幾范式? (5分) (2)如果關系STUDENT不屬于BCNF,請將關系STUDENT逐步分解為BCNF。(5分) 要求:寫出達到每一級范式的分解過程,并指明消除什么類型的函數(shù)依賴?!? 試題答案 三、簡答題(15分,每小題5分): 1.什么是數(shù)據(jù)庫? 答:數(shù)據(jù)庫是長期存儲在計算機內、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫是按某種數(shù)
34、據(jù)模型進行組織的、存放在外存儲器上,且可被多個用戶同時使用。因此,數(shù)據(jù)庫具有較小的冗余度,較高的數(shù)據(jù)獨立性和易擴展性。 2.什么是數(shù)據(jù)庫的數(shù)據(jù)獨立性? 答:數(shù)據(jù)獨立性表示應用程序與數(shù)據(jù)庫中存儲的數(shù)據(jù)不存在依賴關系,包括邏輯數(shù)據(jù)獨立性和物理數(shù)據(jù)獨立性。 邏輯數(shù)據(jù)獨立性是指局部邏輯數(shù)據(jù)結構(外視圖即用戶的邏輯文件)與全局邏輯數(shù)據(jù)結構(概念視圖)之間的獨立性。當數(shù)據(jù)庫的全局邏輯數(shù)據(jù)結構(概念視圖)發(fā)生變化(數(shù)據(jù)定義的修改、數(shù)據(jù)之間聯(lián)系的變更或增加新的數(shù)據(jù)類型等)時,它不影響某些局部的邏輯結構的性質,應用程序不必修改。 物理數(shù)據(jù)獨立性是指數(shù)據(jù)的存儲結構與存取方法(內視圖)改變時,對數(shù)據(jù)
35、庫的全局邏輯結構(概念視圖)和應用程序不必作修改的一種特性,也就是說,數(shù)據(jù)庫數(shù)據(jù)的存儲結構與存取方法獨立。 數(shù)據(jù)獨立性的好處是,數(shù)據(jù)的物理存儲設備更新了,物理表示及存取方法改變了,但數(shù)據(jù)的邏輯模式可以不改變。數(shù)據(jù)的邏輯模式改變了,但用戶的模式可以不改變,因此應用程序也可以不變。這將使程序維護容易,另外,對同一數(shù)據(jù)庫的邏輯模式,可以建立不同的用戶模式,從而提高數(shù)據(jù)共享性,使數(shù)據(jù)庫系統(tǒng)有較好的可擴充性,給 DBA維護、改變數(shù)據(jù)庫的物理存儲提供了方便。 3.敘述等值連接與自然連接的區(qū)別和聯(lián)系。 答:等值連接表示為RA=BS,自然連接表示為RS;自然連接是除去重復屬性的等值連接。兩者之間的區(qū)
36、別和聯(lián)系如下: l 自然連接一定是等值連接,但等值連接不一定是自然連接。 等值連接不把重復的屬性除去;而自然連接要把重復的屬性除去。 l 等值連接要求相等的分量,不一定是公共屬性;而自然連接要求相等的分量必須是公共屬性。 l 等值連接不把重復的屬性除去;而自然連接要把重復的屬性除去。 四、綜合題(45分): 1.試完成如下工作: (10分) (1)分別設計學生選課和教師任課兩個局部信息的結構E-R圖。 (4分) (2)將上述設計完成的E-R圖合并成一個全局E-R圖。 (3分) (3)將該全局E-R圖轉換為等價的關系模型表示的數(shù)據(jù)庫邏輯
37、結構。 (3分) 解: (1)學生選課局部E-R圖如圖2 所示,教師任課局部E-R圖如圖3所示。 (2)合并的全局E-R圖如圖4所示。 為避免圖形復雜,下面給出各實體屬性: 單位:單位名、電話 學生:學號、姓名、性別、年齡 教師:教師號、姓名、性別、職稱 課程:編號、課程名 (3)該全局E-R圖轉換為等價的關系模型表示的數(shù)據(jù)庫邏輯結構如下: 單位(單位名,電話) 教師(教師號,姓名,性別,職稱,單位名) 課程(課程編號,課程名,單位名) 學生(學號,姓名,性別,年齡,單位名) 講授(教師號,課程編號) 選修(學號,課程編號) n 課程
38、開課 1 課程名 教師號 編 號 n 學生 擁有 單 位 1 年 齡 單位名 姓 名 性 別 學 號 選修 m n 圖2 學生選課局部E-R圖 課程 編 號 1 單位 屬于 教師 n 電 話 單位名 講授 m n 職 稱 姓 名 性 別 教師號 圖3 教師任課局部E-R圖 教師 n 學生 擁有 單位 1 屬于 1 n n 課程 講授 m m n 選修 開設 1 n
39、 圖4 合并的全局E-R圖 2.設有關系S、SC、C,試用關系代數(shù)、元組關系演算表達式和SQL完成下列操作。(15分,每小題5分) S(S#,SNAME,AGE,SEX) 例:(001,李強,23,’男) SC(S#,C#,SCORE) 例:(003,C1,83) C(C#,CNAME,TEACHER) 例:(C1,數(shù)據(jù)庫原理,王華) (1)試用關系代數(shù)檢索選修了“程軍”老師所授課程之一的學生姓名。 ∏SNAME(SSCTEACHER=程軍(C)) (2)試用元組關系演算表達式檢索選修了“程軍”老師所授課程之一的學生姓名。 {T(1)|($U)($V)($
40、W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]=程軍)} (2)試用元組關系演算表達式檢索選修了“程軍”老師所授課程之一的學生學號。 {T(1)| ($V)($W)( SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]=程軍)} (3)找出“程序設計”課程成績在90分以上的學生姓名。 SELECT SNAME FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND SCORE>=90 AND CNAME=程序設計 或者 SELECT SNAME FROM S
41、 WHERER S.S# IN ( SELECT S# FROM SC WHERE SCORE>=90 AND C.C# IN ( SELECT C# FROM C WHERE CNAME=程序設計) 3.設有關系模式R(U,F(xiàn)),其中: (10分) U={A,B,C,D,E},F(xiàn) = { A→BC,CD→E,B→D,E→A}。 ⑴ 計算B+。 (2分) ⑵ 求R的所有候選碼。 (8分) 解: ⑴ 令X={B},X(0)=B,X(1)=BD,X(2)=BD,故B+=BD。 ⑵ 根據(jù)候選碼的定義,R的候選碼只可能由F中各個函數(shù)依賴的左邊
42、屬性組成,即A,B,C,D,E,由于A→BC(A→B,A→C),B→D,E→A,故: 可除去A,B,C,D,_ 組成候選碼的屬性可能是E。 計算可知:E+=ABCDE,即E→U,_ E是一個候選碼。 可除去A,B,E,_ 組成候選碼的屬性可能是CD。 計算可知:(CD)+=ABCDE,即CD→U,但C+=C,D+=D,_ CD是一個候選碼。 可除去B,C,D,E,_ 組成候選碼的屬性可能是A。 計算可知:A+=ABCDE,即A→U,_ A是一個候選碼。 可除去A,D,E,_ 組成候選碼的屬性可能是BC。 計算可知:(BC)+=ABCDE,即CD→U,但B+=BD,C+=C,_
43、BC是一個候選碼。 R的所有候選碼是A,BC,CD,E。 4.設有關系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME為候選碼,設關系中有如下函數(shù)依賴: (10分) S#,CNAME→SNAME,SDEPT,MNAME S#→SNAME,SDEPT,MNAME S#,CNAME→GRADE SDEPT→MNAME 試求下列問題: (1)關系STUDENT屬于第幾范式?(5分) (2)如果關系STUDENT不屬于BCNF,請將關系STUDENT逐步分解為BCNF。(5分) 要求:寫出達到每一級范式的分解過程,并指明消除什
44、么類型的函數(shù)依賴。 解: (1)關系STUDENT是1NF。 (2)首先消除部分函數(shù)依賴{S#,CNAME}→{SNAME,SDEPT,MNAME} 將關系分解為: R1(S#,SNAME,SDEPT,MNAME) R2(S#,CNAME,GRADE) 在關系R1中存在非主屬性對候選碼的傳遞函數(shù)依賴S#→SDEPT,SDEPT→MNAME,所以以上關系模式還不是BCNF,進一步分解R1: R11(S#,SNAME,SDEPT) R12(SDEPT,MNAME) R11,R12都是3NF。 關系模式 R2(S#,CNAME,GRADE) R11(S#,SNAME,SD
45、EPT) R12(SDEPT,MNAME) R2,R11,R12關系模式存在的函數(shù)依賴 S#,CNAME→GRADE S#,SNAME→SNAME,SDEPT SDEPT→MNAME 上述函數(shù)依賴都是非平凡的,并且決定因素是候選碼,所以上述關系模式是BCNF。 綜合設計題 某單位資料室要建立一個圖書管理系統(tǒng),初步的需求分析結果如下: l 資料室有圖書管理員若干名,他們負責已購入圖書的編目和借還工作,每名圖書管理員的信息包括工號和姓名; l 讀者可在閱覽室讀書,也可通過圖書流通室借還圖書,讀者信息包括讀者ID、姓名、電話和E-mail,系統(tǒng)為不同讀者生成不同的讀者ID; l 每
46、部書在系統(tǒng)中對應唯一的一條圖書在版編目數(shù)據(jù)(CIP,以下簡稱書目),書目的基本信息包括ISBN號、書名、作者、出版商、出版年月,以及本資料室擁有該書的冊數(shù),不同書目的ISBN號不相同; l 資料室對于同一書目的圖書可擁有多冊(本),圖書信息包括圖書ID、ISBN號、存放位置、當前狀態(tài),每一本書在系統(tǒng)中被賦予唯一的圖書ID; l 一名讀者最多只能借閱十本圖書,且每本圖書最多只能借兩個月,讀者借書時需由圖書管理員登記讀者ID、所借圖書ID、借閱時間和應還時間,讀者還書時圖書管理員在對應的借書信息中記錄歸還時間。 某書目的信息以及與該書目對應的圖書信息如下表所示。 書目信息 書名 作者
47、 出版商 ISBN號 出版年月 冊數(shù) 經(jīng)辦人 數(shù)據(jù)結構 嚴蔚敏 清華大學出版社 ISBN7-302-02368-9 1997.4 4 01 圖書信息 圖書ID ISBN號 存放位置 狀態(tài) 經(jīng)辦人 C832.1 ISBN7-302-02368-9 圖書流通室 已借出 01 C832.2 ISBN7-302-02368-9 圖書閱覽室 不外借 01 C832.3 ISBN7-302-02368-9 圖書流通室 未借出 01 1. 根據(jù)上述語義設計此圖書管理的E-R模型,在E-R圖中需注明實體的屬性、聯(lián)系的類型及實體的標識符。 2.
48、 將E-R模型轉換成關系模型,并指出每個關系模式的主碼和外碼。 3. 分析每個關系模式已經(jīng)達到第幾范式。 1. 解: E-R圖: 實體及實體屬性描述如下: 管理員(工號,姓名) 讀者(讀者ID,姓名,電話,E-mail) 書目(ISBN號,書名,作者,出版商,出版年月,冊數(shù)) 圖書(圖書ID,存放位置,狀態(tài)) 2.該E-R圖轉換為等價的關系模型表示的數(shù)據(jù)庫邏輯結構如下: 管理員(工號,姓名) 讀者(讀者ID,姓名,電話,E-mail) 書目(ISBN號,書名,作者,出版商,出版年月,冊數(shù),經(jīng)辦人) Foreigh key: 經(jīng)辦人 圖書(圖書ID,ISBN號,存放位置,狀態(tài),經(jīng)辦人) Foreigh key: ISBN號 , 經(jīng)辦人 借閱(讀者ID,圖書ID,借出時間,應還時間,歸還時間) Foreigh key : 讀者ID, 圖書ID 3.以上關系模式均達到BCNF。 26
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。