數(shù)據(jù)庫(kù)系統(tǒng)概論期末考試試題.doc
《數(shù)據(jù)庫(kù)系統(tǒng)概論期末考試試題.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫(kù)系統(tǒng)概論期末考試試題.doc(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
2004-2005學(xué)年第二學(xué)期期末考試D2002級(jí)計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)《數(shù)據(jù)庫(kù)原理與應(yīng)用》課程試題 一、選擇題(15分,每空1分): 1.?dāng)?shù)據(jù)庫(kù)系統(tǒng)中,物理數(shù)據(jù)獨(dú)立性(physical data independence)是指____。 A.?dāng)?shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)的相互獨(dú)立 B.應(yīng)用程序與DBMS的相互獨(dú)立 C.應(yīng)用程序與存儲(chǔ)在磁盤(pán)上數(shù)據(jù)庫(kù)的物理模式是相互獨(dú)立的 D.應(yīng)用程序與數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯結(jié)構(gòu)相互獨(dú)立 2.?dāng)?shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)是____、數(shù)據(jù)獨(dú)立、減少數(shù)據(jù)冗余、避免數(shù)據(jù)不一致和加強(qiáng)了數(shù)據(jù)保護(hù)。 A.?dāng)?shù)據(jù)共享 B.?dāng)?shù)據(jù)存儲(chǔ) C.?dāng)?shù)據(jù)應(yīng)用 D.?dāng)?shù)據(jù)保密 3.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的查詢(xún)、插入、修改和刪除等操作的數(shù)據(jù)庫(kù)語(yǔ)言稱(chēng)為_(kāi)___。 A.?dāng)?shù)據(jù)定義語(yǔ)言(DDL) B.?dāng)?shù)據(jù)管理語(yǔ)言 C.?dāng)?shù)據(jù)操縱語(yǔ)言(DML) D.?dāng)?shù)據(jù)控制語(yǔ)言 4.在關(guān)系代數(shù)的專(zhuān)門(mén)關(guān)系運(yùn)算中,從表中取出滿(mǎn)足條件的屬性的操作稱(chēng)為①B;從表中選出滿(mǎn)足某種條件的元組的操作稱(chēng)為②A;將兩個(gè)關(guān)系中具有共同屬性值的元組連接到一起構(gòu)成新表的操作稱(chēng)為③ C。 A.選擇 B.投影 C.連接 D.掃描 5.關(guān)系模型中,一個(gè)候選碼____。 A.可由多個(gè)任意屬性組成 B.至多由一個(gè)屬性組成 C.可由一個(gè)或多個(gè)其值能唯一標(biāo)識(shí)該關(guān)系模式中任何元組的屬性組成 D.必須由多個(gè)屬性組成 6.SQL語(yǔ)言是____語(yǔ)言。 A.層次數(shù)據(jù)庫(kù) B.網(wǎng)絡(luò)數(shù)據(jù)庫(kù) C.關(guān)系數(shù)據(jù)庫(kù) D.非數(shù)據(jù)庫(kù) 7.?dāng)?shù)據(jù)庫(kù)中只存放視圖的________。 A.操作 B.對(duì)應(yīng)的數(shù)據(jù) C.定義 D.限制 8.關(guān)系數(shù)據(jù)庫(kù)規(guī)范化是為解決關(guān)系數(shù)據(jù)庫(kù)中____問(wèn)題而引入的。 A.?dāng)?shù)據(jù)冗余 B.提高查詢(xún)速度 C.減少數(shù)據(jù)操作的復(fù)雜性 D.保證數(shù)據(jù)的安全性和完整性 9.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)通常提供授權(quán)功能來(lái)控制不同用戶(hù)訪問(wèn)數(shù)據(jù)的權(quán)限,這主要是為了實(shí)現(xiàn)數(shù)據(jù)庫(kù)的________。 A.可靠性 B.一致性 C.完整性 D.安全性 10.若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則________。 A.事務(wù)T可以讀A和修改A,其它事務(wù)只能再對(duì)A加S鎖,而不能加X(jué) 鎖。 B.事務(wù)T可以讀A但不能修改A,其它事務(wù)能對(duì)A加S鎖和X鎖。 C.事務(wù)T可以讀A但不能修改A,其它事務(wù)只能再對(duì)A加S鎖,而不能加X(jué) 鎖。 D.事務(wù)T可以讀A和修改A,其它事務(wù)能對(duì)A加S鎖和X鎖。 11.事務(wù)的原子性是指________。 A.事務(wù)中包括的所有操作要么都做,要么都不做 B.事務(wù)一旦提交,對(duì)數(shù)據(jù)庫(kù)的改變是永久的 C.一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)并發(fā)的其他事務(wù)是隔離的 D.事務(wù)必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài) 12.?dāng)?shù)據(jù)庫(kù)中的封鎖機(jī)制(locks)是____的主要方法。 A.完整性 B.安全性 C.并發(fā)控制 D.恢復(fù) 13.對(duì)并發(fā)操作若不加以控制,可能會(huì)帶來(lái)數(shù)據(jù)的____問(wèn)題。 A.不安全 B.死鎖 C.死機(jī) D.不一致 二、填空題(15分,每空1分): 1.傳統(tǒng)的集合“并、交、差”運(yùn)算施加于兩個(gè)關(guān)系時(shí),這兩個(gè)關(guān)系的①屬性個(gè)數(shù)必須相等,②相對(duì)應(yīng)的屬性值必須取自同一個(gè)域。 2.指出下列縮寫(xiě)的含義:DBMS ①DBMS數(shù)據(jù)庫(kù)管理系統(tǒng)、DBA ②DBA數(shù)據(jù)庫(kù)管理員。 3.在關(guān)系A(chǔ)(S,SN,D)和B(D,CN,NM)中,A的主碼是S,B的主碼是D,則D在S中稱(chēng)為_(kāi)_外碼__。 4.?dāng)?shù)據(jù)冗余可能導(dǎo)致的問(wèn)題有①浪費(fèi)存儲(chǔ)空間及修改麻煩和② 5.?dāng)?shù)據(jù)庫(kù)在運(yùn)行過(guò)程中可能產(chǎn)生的故障有①Transaction failure ②System crash ③Disk failure 三、判斷題(10分,每小題5分):判斷下述結(jié)論是否正確,對(duì)正確的結(jié)論加以證明,對(duì)錯(cuò)誤的結(jié)論說(shuō)明原因(或舉一反例進(jìn)行說(shuō)明)。 1.view可串行化的調(diào)度(schedule)一定也是沖突(conflict)可串行化的調(diào)度。 結(jié)論錯(cuò)誤。例如581頁(yè)Schedule 9 is a view serializable schedule but is not a conflict serializable schedule. 2.在確定關(guān)系的候選碼時(shí),如果屬性X在函數(shù)依賴(lài)的左右都不出現(xiàn),則候選碼中必不包含X。 結(jié)論錯(cuò)誤。在確定關(guān)系的候選碼時(shí),如果屬性X在函數(shù)依賴(lài)的左右都不出現(xiàn),則候選碼中必包含X,因?yàn)橹挥蠿能夠函數(shù)決定X。 四、簡(jiǎn)答題: 2.什么是關(guān)系的外碼?并舉例說(shuō)明。 答:關(guān)系模式R中屬性或?qū)傩越MX并非R的碼,但X是另一個(gè)關(guān)系模式的碼,則稱(chēng)X是R的外部碼,也稱(chēng)外碼。 學(xué)生數(shù)據(jù)庫(kù)中有關(guān)系STUDENT(SNO,SNAME,SEX,AGE)、關(guān)系COURSE(CNO,CNAME)和關(guān)系SC(SNO,CNO,GRADE),SC關(guān)系中SNO是外碼,其參照關(guān)系是STUDENT;CNO也是外碼,其參照關(guān)系是COURSE。 3.如何通過(guò)定義視圖和存取控制保證數(shù)據(jù)庫(kù)的安全性?并用SQL語(yǔ)言舉例說(shuō)明。 視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)。有了視圖機(jī)制,就可以在設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)時(shí),對(duì)不同的用戶(hù)定義不同的視圖,使機(jī)密數(shù)據(jù)不出現(xiàn)在不應(yīng)看到這些數(shù)據(jù)的用戶(hù)視圖上,這樣就由視圖的機(jī)制自動(dòng)提供了對(duì)機(jī)密數(shù)據(jù)的安全保護(hù)功能。例如Student表涉及三個(gè)系的學(xué)生數(shù)據(jù),可以在其上定義三個(gè)視圖,每個(gè)視圖只包含一個(gè)系的學(xué)生數(shù)據(jù),并只允許每個(gè)系的學(xué)生查詢(xún)自己所在系的學(xué)生視圖。 例:建立信息系學(xué)生的視圖。 CREATE VIEW IS_Student AS SELECT Sno, Sname, Sage FROM Student WHERE Sdept=IS; 數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù),防止不合法的使用所造成的數(shù)據(jù)泄露和破壞。數(shù)據(jù)庫(kù)系統(tǒng)中保證數(shù)據(jù)安全性的主要措施是進(jìn)行存取控制,即規(guī)定不同用戶(hù)對(duì)于不同數(shù)據(jù)對(duì)象所允許執(zhí)行的操作,并控制各用戶(hù)只能存取他有權(quán)存取的數(shù)據(jù)。不同的用戶(hù)對(duì)不同的數(shù)據(jù)應(yīng)具有何種操作權(quán)力,是由DBA和表的建立者(即表的屬主)根據(jù)具體情況決定的,SQL語(yǔ)言則為DBA和表的屬主定義和回收這種權(quán)力提供了手段。 例:把查詢(xún)Student表權(quán)限授給用戶(hù)U1。 GRANT SELECT ON TABLE Student TO U1; 五 應(yīng)用題 1. 已知 R U={ A,B,C,D,E } F={AB C, C D,D E} R的一個(gè)分解r={ R1( A,B,C ),R2(C,D), R3(D,E) } 判斷r是否為無(wú)損連接? 1.構(gòu)造一個(gè)初始二維表如下圖 2.運(yùn)用函數(shù)依賴(lài)后,二維表最終變?yōu)槿缦卤硭? A B C D E R1 a1 a2 a3 R2 a3 a4 R3 a4 a5 A B C D E R1 a1 a2 a3 a4 a5 R2 a3 a4 a5 R3 a4 a5 因此該分解是無(wú)損連接的。 2三個(gè)表即學(xué)生表S、課程表C和學(xué)生選課表SC,它們的結(jié)構(gòu)如下: S(S#, SN, SEX, AGE, DEPT) C(C#, CN) SC(S#, C#, GRADE) 其中:S#為學(xué)號(hào),SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號(hào),CN為課程名,GRADE.為成績(jī)。 (1) 檢索所有比“王華”年齡大的學(xué)生姓名、年齡和性別 (1)SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=’王華’) (2) 檢索選修課程“C2”的學(xué)生中成績(jī)最高的學(xué)生的學(xué)號(hào) (2)SELECT S# FROM SC WHERE C#=’C2’AND GRADE=(SELECT MAX(GRADE) FROM SC WHERE C#=’C2’) (3) 檢索學(xué)生姓名及其所選修課程的課程號(hào)和成績(jī) (3)SELECT SN, C#,GRADE FROM S,SC WHERE S. S#=SC. S# (4) 檢索選修四門(mén)課程的學(xué)生總成績(jī) SELECT S#,SUM(GRADE) FROM SC GROUP BY S# HAVING COUNT(C#)=4 3 由Armstrong公理證明: 合并規(guī)則:若X->Z , X->Y, 則X->YZ 證明: 因?yàn)?XY 所以 XXY (增廣律) 因?yàn)? XZ 所以 XYZY (增廣律) 所以 XYZ (傳遞律) 六、綜合題: 1..設(shè)工廠里有一個(gè)記錄職工每天日產(chǎn)量的關(guān)系模式: R(職工編號(hào),日期,日產(chǎn)量,車(chē)間編號(hào),車(chē)間主任)。 如果規(guī)定:每個(gè)職工每天只有一個(gè)日產(chǎn)量; 每個(gè)職工只能隸屬于一個(gè)車(chē)間; 每個(gè)車(chē)間只有一個(gè)車(chē)間主任。 試回答下列問(wèn)題: ⑴ 根據(jù)上述規(guī)定,寫(xiě)出模式R的基本FD和關(guān)鍵碼; ⑵ 說(shuō)明R不是2NF的理由,并把R分解成2NF模式集; ⑶ 進(jìn)而再分解成3NF模式集,并說(shuō)明理由。 1.解:① 基本的FD有3個(gè):(職工編號(hào),日期)→ 日產(chǎn)量 職工編號(hào) → 車(chē)間編號(hào) 車(chē)間編號(hào) → 車(chē)間主任 R的關(guān)鍵碼為(職工編號(hào),日期)。 ② R中有兩個(gè)這樣的FD:(職工編號(hào),日期)→(車(chē)間編號(hào),車(chē)間主任) 職工編號(hào) → (車(chē)間編號(hào),車(chē)間主任)可見(jiàn)前一個(gè)FD是局部依賴(lài),所以R不是2NF模式。 R應(yīng)分解成R1(職工編號(hào),車(chē)間編號(hào),車(chē)間主任) R2(職工編號(hào),日期,日產(chǎn)量) 此處,R1和R2都是2NF模式。 ③ R2已是3NF模式。在R1中,存在兩個(gè)FD:職工編號(hào) → 車(chē)間編號(hào) 車(chē)間編號(hào) → 車(chē)間主任 因此,“職工編號(hào) → 車(chē)間主任”是一個(gè)傳遞依賴(lài),R1不是3NF模式。 R1應(yīng)分解成R11(職工編號(hào),車(chē)間編號(hào)) R12(車(chē)間編號(hào),車(chē)間主任) 這樣,ρ= { R11,R12,R2 }是一個(gè)3NF模式集。 2.某學(xué)員為公安局的車(chē)輛信息管理系統(tǒng)設(shè)計(jì)了數(shù)據(jù)庫(kù)的ER圖,對(duì)車(chē)輛、車(chē)主、駕駛員、制造商、保險(xiǎn)公司、警察、車(chē)輛違章和車(chē)輛事故等信息進(jìn)行了管理,其ER圖如下所示。 1 N N P M M N N 制造商 車(chē)輛 保險(xiǎn)公司 車(chē)主 駕駛員 警察 交通管理大隊(duì) 被盜 擁有 管理 保險(xiǎn)2 事故 制造 違章 保險(xiǎn)1 1 1 M 1 1 N N N N P 該ER圖有7個(gè)實(shí)體類(lèi)型,其結(jié)構(gòu)如下: 制造商(制造商編號(hào),名稱(chēng),地址) 交通管理大隊(duì)(大隊(duì)編號(hào),地址,區(qū)域,電話) 警察(警號(hào),姓名,性別,出生年月) 車(chē)主(身份證號(hào),姓名,地址,電話) 車(chē)輛(車(chē)輛牌號(hào),型號(hào),發(fā)動(dòng)機(jī)號(hào),座位數(shù),登記日期) 駕駛員(駕駛證號(hào),姓名,性別,地址,準(zhǔn)駕車(chē)型,發(fā)證日期) 保險(xiǎn)公司(保險(xiǎn)公司編號(hào),名稱(chēng),地址,電話) 該ER圖有8個(gè)聯(lián)系類(lèi)型,其中5個(gè)是1:N聯(lián)系,1個(gè)是M:N聯(lián)系,2個(gè)是M:N:P聯(lián)系。其聯(lián)系的屬性如下:違章(違章編號(hào),時(shí)間,地點(diǎn),違章行為,處理結(jié)果) 事故(事故編號(hào),時(shí)間,地點(diǎn),事故簡(jiǎn)要,處理結(jié)果) 被盜(被盜編號(hào),被盜時(shí)間,被盜地點(diǎn),找回時(shí)間,找回地點(diǎn)) 試將上述ER圖轉(zhuǎn)換成關(guān)系模型:寫(xiě)出關(guān)系模式集,并用下劃線和波浪線標(biāo)識(shí)出每個(gè)模式的主鍵和外鍵。在上述數(shù)據(jù)庫(kù)中,寫(xiě)出主鍵和外鍵的總數(shù)這兩個(gè)數(shù)字。 解:① 根據(jù)ER圖和轉(zhuǎn)換規(guī)則,7個(gè)實(shí)體類(lèi)型轉(zhuǎn)換成7個(gè)關(guān)系模式,1個(gè)M:N聯(lián)系轉(zhuǎn)換成1個(gè)關(guān)系模式,2個(gè)M:N:P聯(lián)系轉(zhuǎn)換成2個(gè)關(guān)系模式。因此,該ER圖可轉(zhuǎn)換成10個(gè)關(guān)系模式,如下: 制造商(制造商編號(hào),名稱(chēng),地址) 交通管理大隊(duì)(大隊(duì)編號(hào),地址,區(qū)域,電話) 警察(警號(hào),姓名,性別,出生年月,大隊(duì)編號(hào)) 車(chē)主(身份證號(hào),姓名,地址,電話) 車(chē)輛(車(chē)輛牌號(hào),型號(hào),發(fā)動(dòng)機(jī)號(hào),座位數(shù),登記日期,制造商編號(hào),保險(xiǎn)公司編號(hào),車(chē)主身份證號(hào)) 駕駛員(駕駛證號(hào),姓名,性別,地址,準(zhǔn)駕車(chē)型,發(fā)證日期,保險(xiǎn)公司編號(hào)) 保險(xiǎn)公司(保險(xiǎn)公司編號(hào),名稱(chēng),地址,電話) 違章(違章編號(hào),時(shí)間,地點(diǎn),違章行為,處理結(jié)果,車(chē)輛牌號(hào),駕駛證號(hào),警號(hào)) 事故(事故編號(hào),時(shí)間,地點(diǎn),事故簡(jiǎn)要,處理結(jié)果,車(chē)輛牌號(hào),駕駛證號(hào),警號(hào)) 被盜(被盜編號(hào),被盜時(shí)間,被盜地點(diǎn),找回時(shí)間,找回地點(diǎn),車(chē)主身份證號(hào), 車(chē)輛牌號(hào)) ② 在上述數(shù)據(jù)庫(kù)中,主鍵的總數(shù)為10個(gè),外鍵的總數(shù)為13個(gè)。 1 N N P M M N N 制造商 車(chē)輛 保險(xiǎn)公司 車(chē)主 駕駛員 警察 交通管理大隊(duì) 被盜 擁有 管理 保險(xiǎn)2 事故 制造 違章 保險(xiǎn)1 1 1 M 1 1 N N N N P 2003-2004學(xué)年第二學(xué)期期末考試2001級(jí)《數(shù)據(jù)庫(kù)系統(tǒng)概論》試題C 一、選擇題(20分,每小題2分): 1.?dāng)?shù)據(jù)庫(kù)系統(tǒng)與文件系統(tǒng)的主要區(qū)別是____。 A.?dāng)?shù)據(jù)庫(kù)系統(tǒng)復(fù)雜,而文件系統(tǒng)簡(jiǎn)單 B.文件系統(tǒng)不能解決數(shù)據(jù)冗余和數(shù)據(jù)獨(dú)立性問(wèn)題,而數(shù)據(jù)庫(kù)系統(tǒng)可以解決 C.二文件系統(tǒng)只能管理程序文件,而數(shù)據(jù)庫(kù)系統(tǒng)能夠管理各種類(lèi)型的文件 D.文件系統(tǒng)管理的數(shù)據(jù)量較少,而數(shù)據(jù)庫(kù)系統(tǒng)可以管理龐大的數(shù)據(jù)量 2.同一個(gè)關(guān)系模型的任意兩個(gè)元組值____。 A.不能全同 B.可全同 C.必須全同 D.以上都不是 3.自然連接是構(gòu)成新關(guān)系的有效方法。一般情況下,當(dāng)對(duì)關(guān)系R和S使用自然連接時(shí),要求R和S含有一個(gè)或多個(gè)共有的____。 A.元組 B.行 C.記錄 D.屬性 4.SQL語(yǔ)言具有兩種使用方式,分別稱(chēng)為交互式SQL和____。 A.提示式SQL B.多用戶(hù)SQL C.嵌入式SQL D.解釋式SQL 5.關(guān)系規(guī)范化中的刪除操作異常是指________。 A.不該刪除的數(shù)據(jù)被刪除 B.不該插入的數(shù)據(jù)被插入 C.應(yīng)該刪除的數(shù)據(jù)未被刪除 D.應(yīng)該插入的數(shù)據(jù)未被插入 6. 屬于BCNF的關(guān)系模式________。 A.已消除了插入、刪除異常 B.已消除了插入、刪除異常和數(shù)據(jù)冗余 C.仍然存在插入、刪除異常 D.在函數(shù)依賴(lài)范疇內(nèi),已消除了插入和刪除的異常 7.從E-R模型關(guān)系向關(guān)系模型轉(zhuǎn)換時(shí),一個(gè)M:N聯(lián)系轉(zhuǎn)換為關(guān)系模式時(shí),該關(guān)系模式的關(guān)鍵字是____。 A.M端實(shí)體的關(guān)鍵字 B.N端實(shí)體的關(guān)鍵字 C.M端實(shí)體關(guān)鍵字與N端實(shí)體關(guān)鍵字組合 D.重新選取其他屬性 8.?dāng)?shù)據(jù)庫(kù)的____是指數(shù)據(jù)的正確性和相容性。 A.安全性 B.完整性 C.并發(fā)控制 D.恢復(fù) 9.授權(quán)編譯系統(tǒng)和合法性檢查機(jī)制一起組成了____子系統(tǒng)。 A.安全性 B.完整性 C.并發(fā)控制 D.恢復(fù) 10.設(shè)有兩個(gè)事務(wù)T1、T2,其并發(fā)操作如圖1所示,下列評(píng)價(jià)正確的是____。 A該操作不存在問(wèn)題 B.該操作丟失修改 C.該操作不能重復(fù)讀 D.該操作讀“臟”數(shù)據(jù) T1 T2 ① 讀A=100 A=A*2寫(xiě)回 ② 讀A=200 ③ ROLLBACK 恢復(fù)A=100 圖1 事務(wù)并發(fā)操作圖 二、填空題(20分,每小空2分): 1.DBMS的基本工作單位是事務(wù),它是用戶(hù)定義的一組邏輯一致的程序序列;并發(fā)控制的主要方法是①封鎖機(jī)制。 2.系統(tǒng)在運(yùn)行過(guò)程中,由于某種原因,造成系統(tǒng)停止運(yùn)行,致使事務(wù)在執(zhí)行過(guò)程中以非控制方式終止,這時(shí)內(nèi)存中的信息丟失,而存儲(chǔ)在外存上的數(shù)據(jù)不受影響,這種情況稱(chēng)為②系統(tǒng)故障。 3.關(guān)系數(shù)據(jù)庫(kù)中基于數(shù)學(xué)上兩類(lèi)運(yùn)算是③關(guān)系代數(shù) 和④關(guān)系演算。 4.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)的幾個(gè)步驟是⑤需求分析,概念設(shè)計(jì),邏輯設(shè)計(jì),物理設(shè)計(jì),編碼和調(diào)試、實(shí)施運(yùn)行和維護(hù)。 5.1NF,2NF,和3NF之間,相互是一種⑥3NF2NFLNF成立關(guān)系。 6.視圖是一個(gè)虛表,它是從⑦一個(gè)或幾個(gè)基本表中導(dǎo)出的表。在數(shù)據(jù)庫(kù)中,只存放視圖的⑧定義,不存放視圖的⑨視圖對(duì)應(yīng)的數(shù)據(jù)。 7.關(guān)系操作的特點(diǎn)是⑩集合操作。 三、簡(jiǎn)答題(15分,每小題5分): 1.什么是數(shù)據(jù)庫(kù)? 答:數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)是按某種數(shù)據(jù)模型進(jìn)行組織的、存放在外存儲(chǔ)器上,且可被多個(gè)用戶(hù)同時(shí)使用。因此,數(shù)據(jù)庫(kù)具有較小的冗余度,較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性。 2.什么是數(shù)據(jù)庫(kù)的數(shù)據(jù)獨(dú)立性? 答:數(shù)據(jù)獨(dú)立性表示應(yīng)用程序與數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)不存在依賴(lài)關(guān)系,包括邏輯數(shù)據(jù)獨(dú)立性和物理數(shù)據(jù)獨(dú)立性。 邏輯數(shù)據(jù)獨(dú)立性是指局部邏輯數(shù)據(jù)結(jié)構(gòu)(外視圖即用戶(hù)的邏輯文件)與全局邏輯數(shù)據(jù)結(jié)構(gòu)(概念視圖)之間的獨(dú)立性。當(dāng)數(shù)據(jù)庫(kù)的全局邏輯數(shù)據(jù)結(jié)構(gòu)(概念視圖)發(fā)生變化(數(shù)據(jù)定義的修改、數(shù)據(jù)之間聯(lián)系的變更或增加新的數(shù)據(jù)類(lèi)型等)時(shí),它不影響某些局部的邏輯結(jié)構(gòu)的性質(zhì),應(yīng)用程序不必修改。 物理數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與存取方法(內(nèi)視圖)改變時(shí),對(duì)數(shù)據(jù)庫(kù)的全局邏輯結(jié)構(gòu)(概念視圖)和應(yīng)用程序不必作修改的一種特性,也就是說(shuō),數(shù)據(jù)庫(kù)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與存取方法獨(dú)立。 數(shù)據(jù)獨(dú)立性的好處是,數(shù)據(jù)的物理存儲(chǔ)設(shè)備更新了,物理表示及存取方法改變了,但數(shù)據(jù)的邏輯模式可以不改變。數(shù)據(jù)的邏輯模式改變了,但用戶(hù)的模式可以不改變,因此應(yīng)用程序也可以不變。這將使程序維護(hù)容易,另外,對(duì)同一數(shù)據(jù)庫(kù)的邏輯模式,可以建立不同的用戶(hù)模式,從而提高數(shù)據(jù)共享性,使數(shù)據(jù)庫(kù)系統(tǒng)有較好的可擴(kuò)充性,給 DBA維護(hù)、改變數(shù)據(jù)庫(kù)的物理存儲(chǔ)提供了方便。 3.?dāng)⑹龅戎颠B接與自然連接的區(qū)別和聯(lián)系。 答:等值連接表示為RA=BS,自然連接表示為RS;自然連接是除去重復(fù)屬性的等值連接。兩者之間的區(qū)別和聯(lián)系如下: 自然連接一定是等值連接,但等值連接不一定是自然連接。 等值連接不把重復(fù)的屬性除去;而自然連接要把重復(fù)的屬性除去。 等值連接要求相等的分量,不一定是公共屬性;而自然連接要求相等的分量必須是公共屬性。 等值連接不把重復(fù)的屬性除去;而自然連接要把重復(fù)的屬性除去。 四、綜合題(45分): 1.設(shè)有如下實(shí)體: (10分) 學(xué)生:學(xué)號(hào)、單位、姓名、性別、年齡、選修課程名 課程:編號(hào)、課程名、開(kāi)課單位、任課教師號(hào) 教師:教師號(hào)、姓名、性別、職稱(chēng)、講授課程編號(hào) 單位:?jiǎn)挝幻Q(chēng)、電話、教師號(hào)、教師名 上述實(shí)體中存在如下聯(lián)系: 一個(gè)學(xué)生可選修多門(mén)課程,一門(mén)課程可為多個(gè)學(xué)生選修; 一個(gè)教師可講授多門(mén)課程,一門(mén)課程可為多個(gè)教師講授; 一個(gè)單位可有多個(gè)教師,一個(gè)教師只能屬于一個(gè)單位。 試完成如下工作: (1)分別設(shè)計(jì)學(xué)生選課和教師任課兩個(gè)局部信息的結(jié)構(gòu)E-R圖。 (4分) (2)將上述設(shè)計(jì)完成的E-R圖合并成一個(gè)全局E-R圖。 (3分) (3)將該全局E-R圖轉(zhuǎn)換為等價(jià)的關(guān)系模型表示的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)。 (3分) 解:(1)學(xué)生選課局部E-R圖如圖2 所示,教師任課局部E-R圖如圖3所示。 電 話n 課程 開(kāi)課 1 課程名 編 號(hào) n 學(xué)生 擁有 單 位 1 年 齡 單位名 姓 名 性 別 學(xué) 號(hào) 選修 m n 圖2 學(xué)生選課局部E-R圖 學(xué)生:學(xué)號(hào)、單位、姓名、性別、年齡、選修課程名 課程:編號(hào)、課程名、開(kāi)課單位、任課教師號(hào) 教師:教師號(hào)、姓名、性別、職稱(chēng)、講授課程編號(hào) 單位:?jiǎn)挝幻Q(chēng)、電話、教師號(hào)、教師名 上述實(shí)體中存在如下聯(lián)系: 一個(gè)學(xué)生可選修多門(mén)課程,一門(mén)課程可為多個(gè)學(xué)生選修; 一個(gè)教師可講授多門(mén)課程,一門(mén)課程可為多個(gè)教師講授; 一個(gè)單位可有多個(gè)教師,一個(gè)教師只能屬于一個(gè)單位。 課程 編 號(hào) 1 單位 屬于 教師 n 電 話 單位名 講授 m n 職 稱(chēng) 姓 名 性 別 教師號(hào) 課程名 圖3 教師任課局部E-R圖 教師 n 學(xué)生 擁有 單位 1 屬于 1 n n 課程 講授 m m n 選修 開(kāi)設(shè) 1 n 圖4 合并的全局E-R圖 (2)合并的全局E-R圖如圖4所示。 為避免圖形復(fù)雜,下面給出各實(shí)體屬性: 單位:?jiǎn)挝幻?、電? 學(xué)生:學(xué)號(hào)、姓名、性別、年齡 教師:教師號(hào)、姓名、性別、職稱(chēng) 課程:編號(hào)、課程名 (3)該全局E-R圖轉(zhuǎn)換為等價(jià)的關(guān)系模型表示的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)如下: 單位(單位名,電話) 教師(教師號(hào),姓名,性別,職稱(chēng),單位名) 課程(課程編號(hào),課程名,單位名) 學(xué)生(學(xué)號(hào),姓名,性別,年齡,單位名) 講授(教師號(hào),課程編號(hào)) 選修(學(xué)號(hào),課程編號(hào)) 2.設(shè)有關(guān)系S、SC、C,試用關(guān)系代數(shù)、元組關(guān)系演算表達(dá)式和SQL完成下列操作。(15分,每小題5分) S(S#,SNAME,AGE,SEX) 例:(001,李強(qiáng),23,’男) SC(S#,C#,SCORE) 例:(003,C1,83) C(C#,CNAME,TEACHER) 例:(C1,數(shù)據(jù)庫(kù)原理,王華) (1)試用關(guān)系代數(shù)檢索選修了“程軍”老師所授課程之一的學(xué)生姓名。 ∏SNAME(SSCTEACHER=程軍(C)) (2)試用元組關(guān)系演算表達(dá)式檢索選修了“程軍”老師所授課程之一的學(xué)生姓名。 {T(1)|($U)($V)($W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]=程軍)} (2)試用元組關(guān)系演算表達(dá)式檢索選修了“程軍”老師所授課程之一的學(xué)生學(xué)號(hào)。 {T(1)| ($V)($W)( SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]=程軍)} (3)找出“程序設(shè)計(jì)”課程成績(jī)?cè)?0分以上的學(xué)生姓名。 SELECT SNAME FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND SCORE>=90 AND CNAME=程序設(shè)計(jì) 或者 SELECT SNAME FROM S WHERER S.S# IN (SELECT S# FROM SC WHERE SCORE>=90 AND C.C# IN (SELECT C# FROM C WHERE CNAME=程序設(shè)計(jì)) 3.設(shè)有關(guān)系模式R(U,F(xiàn)),其中: (10分) U={A,B,C,D,E},F(xiàn) = { A→BC,CD→E,B→D,E→A}。 ⑴ 計(jì)算B+。 (2分) ⑵ 求R的所有候選碼。 (8分) 解: ⑴ 令X={B},X(0)=B,X(1)=BD,X(2)=BD,故B+=BD。 ⑵ 根據(jù)候選碼的定義,R的候選碼只可能由F中各個(gè)函數(shù)依賴(lài)的左邊屬性組成,即A,B,C,D,E,由于A→BC(A→B,A→C),B→D,E→A,故: 可除去A,B,C,D,_ 組成候選碼的屬性可能是E。 計(jì)算可知:E+=ABCDE,即E→U,_ E是一個(gè)候選碼。 可除去A,B,E,_ 組成候選碼的屬性可能是CD。 計(jì)算可知:(CD)+=ABCDE,即CD→U,但C+=C,D+=D,_ CD是一個(gè)候選碼。 可除去B,C,D,E,_ 組成候選碼的屬性可能是A。 計(jì)算可知:A+=ABCDE,即A→U,_ A是一個(gè)候選碼。 可除去A,D,E,_ 組成候選碼的屬性可能是BC。 計(jì)算可知:(BC)+=ABCDE,即CD→U,但B+=BD,C+=C,_ BC是一個(gè)候選碼。 R的所有候選碼是A,BC,CD,E。 4.設(shè)有關(guān)系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME為候選碼,設(shè)關(guān)系中有如下函數(shù)依賴(lài): (10分) S#,CNAME→SNAME,SDEPT,MNAME S#→SNAME,SDEPT,MNAME S#,CNAME→GRADE SDEPT→MNAME 試求下列問(wèn)題: (1)關(guān)系STUDENT屬于第幾范式?(5分) (2)如果關(guān)系STUDENT不屬于BCNF,請(qǐng)將關(guān)系STUDENT逐步分解為BCNF。(5分) 要求:寫(xiě)出達(dá)到每一級(jí)范式的分解過(guò)程,并指明消除什么類(lèi)型的函數(shù)依賴(lài)?!? 解:(1)關(guān)系STUDENT是1NF。 (2)首先消除部分函數(shù)依賴(lài){S#,CNAME}→{SNAME,SDEPT,MNAME} 將關(guān)系分解為: R1(S#,SNAME,SDEPT,MNAME) R2(S#,CNAME,GRADE) 在關(guān)系R1中存在非主屬性對(duì)候選碼的傳遞函數(shù)依賴(lài)S#→SDEPT,SDEPT→MNAME,所以以上關(guān)系模式還不是BCNF,進(jìn)一步分解R1: R11(S#,SNAME,SDEPT) R12(SDEPT,MNAME) R11,R12都是3NF。 關(guān)系模式:R2(S#,CNAME,GRADE) R11(S#,SNAME,SDEPT) R12(SDEPT,MNAME) R2,R11,R12關(guān)系模式存在的函數(shù)依賴(lài) S#,CNAME→GRADE S#→SNAME,SDEPT SDEPT→MNAME 上述函數(shù)依賴(lài)都是非平凡的,并且決定因素是候選碼,所以上述關(guān)系模式是BCNF. 2003-2004學(xué)年第二學(xué)期期末考試2001級(jí)《數(shù)據(jù)庫(kù)系統(tǒng)概論》試題B 一、選擇題(20分,每小題2分): 1.?dāng)?shù)據(jù)庫(kù)系統(tǒng)的核心是____。 A.?dāng)?shù)據(jù)庫(kù) B.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng) C.?dāng)?shù)據(jù)模型 D.軟件工具 2.關(guān)系模型中,候選碼____。 A.可由多個(gè)任意屬性組成 B.至多由一個(gè)屬性組成 C.可由一個(gè)或多個(gè)其值能惟一標(biāo)識(shí)該關(guān)系模式中任何元組的屬性組成 D.以上都不是 3.SQL語(yǔ)言具有____的功能。 A.關(guān)系規(guī)范化、數(shù)據(jù)操縱、數(shù)據(jù)控制 B.?dāng)?shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制 C.?dāng)?shù)據(jù)定義、關(guān)系規(guī)范化、數(shù)據(jù)控制 D.?dāng)?shù)據(jù)定義、關(guān)系規(guī)范化、數(shù)據(jù)操縱 4.SQL語(yǔ)言的數(shù)據(jù)操縱語(yǔ)句包括 SELECT,INSERT,UPDATE和 DELETE, 最重要的,也是使用最頻繁的語(yǔ)句是____。 A.SELECT B.INSERT C.UPDATE D.DELETE 5. FoxBASE、FoxPro屬于________。 A.表式系統(tǒng) B.最小關(guān)系系統(tǒng) C.關(guān)系完備的系統(tǒng) D.全關(guān)系系統(tǒng) 6.關(guān)系規(guī)范化中的插入操作異常是指________。 A.不該刪除的數(shù)據(jù)被刪除 B.不該插入的數(shù)據(jù)被插入 C.應(yīng)該刪除的數(shù)據(jù)未被刪除 D.應(yīng)該插入的數(shù)據(jù)未被插入 7.消除了部分函數(shù)依賴(lài)的INF的關(guān)系模式,必定是____。 A.1NF B.2NF C.3NF D.4NF 8.在關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)中,設(shè)計(jì)關(guān)系模式是____的任務(wù)。 A.需求分析階段 B.概念設(shè)計(jì)階段 C.邏輯設(shè)計(jì)階段 D.物理設(shè)計(jì)階段 9.____是DBMS的基本單位,它是用戶(hù)定義的一組邏輯一致的程序序列。 A.程序 B.命令 C.事務(wù) D.文件 10.設(shè)有兩個(gè)事務(wù)T1、T2,其并發(fā)操作如圖1所示,下面評(píng)價(jià)正確的是____。 A.該操作不存在問(wèn)題 B.該操作丟失修改 C.該操作不能重復(fù)讀 D.該操作讀“臟”數(shù)據(jù) T1 T2 ①讀A=10 ② 讀A=10 ③A=A-5寫(xiě)回 ④ A=A-8寫(xiě)回 圖1 事務(wù)并發(fā)操作圖 二、填空題(20分,每小空2分): 1.如果數(shù)據(jù)庫(kù)中只包含成功事務(wù)提交的結(jié)果,就說(shuō)數(shù)據(jù)庫(kù)處于①一致?tīng)顟B(tài)。 2.完整性約束是指②實(shí)體完整性和③參照完整性。 3.關(guān)系數(shù)據(jù)庫(kù)中可命名的最小數(shù)據(jù)單位是④屬性名。 4.保護(hù)數(shù)據(jù)安全性的一般方法是⑤設(shè)置用戶(hù)標(biāo)識(shí)和存取權(quán)限控制。 5.“為哪些表,在哪些字段上,建立什么樣的索引”這一設(shè)計(jì)內(nèi)容應(yīng)該屬于數(shù)據(jù)庫(kù)設(shè)計(jì)中的⑥物理設(shè)計(jì)階段。 6.若關(guān)系為1NF,且它的每一非主屬性都⑦不部分函數(shù)依賴(lài)于候選碼,則該關(guān)系為2NF。 7.關(guān)系代數(shù)運(yùn)算中,專(zhuān)門(mén)的關(guān)系運(yùn)算有⑧選擇、⑨投影和⑩連接。 三、簡(jiǎn)答題和綜合題(15分,每小題5分): 1.舉例說(shuō)明關(guān)系參照完整性的含義。 答:假如有下表所示的兩個(gè)關(guān)系表,在成績(jī)表中,學(xué)號(hào)是主碼,課程號(hào)是外碼:在課程表中課程號(hào)是主碼,根據(jù)關(guān)系參照完整性的定義,R2是成績(jī)表,R1是課程表,也就是成績(jī)表中課程號(hào)的值或者為空或者在課程表中的課程號(hào)中能夠找到。 成績(jī)表 課程表 11 學(xué)號(hào) 姓名 課程號(hào) 成績(jī) 101 劉軍 k5 80 212 王麗 k8 76 221 章華 k9 92 課程號(hào) 課程號(hào) k5 高等數(shù)學(xué) k8 C語(yǔ)言n k9 計(jì)算機(jī)網(wǎng)絡(luò) 滿(mǎn)足這個(gè)條件是必須的,如果不滿(mǎn)足,假設(shè)成績(jī)表中課程號(hào)的值k20在課程表中課程號(hào)的值中找不到,則該課程號(hào)顯然是不正確的,這樣會(huì)造成數(shù)據(jù)的不一致性。 2.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)有哪些功能? 答:數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是位于操作系統(tǒng)與用戶(hù)之間的一個(gè)數(shù)據(jù)管理軟件,它主要功能包括以下幾個(gè)方面: 數(shù)據(jù)定義功能 DBMS提供數(shù)據(jù)描述語(yǔ)言(DDL),用戶(hù)可通過(guò)它來(lái)定義數(shù)據(jù)。 數(shù)據(jù)操縱功能 DBMS還提供數(shù)據(jù)操縱語(yǔ)言(DML),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作:查詢(xún)、插入、刪除和修改。 數(shù)據(jù)庫(kù)的運(yùn)行管理 這是DBMS運(yùn)行時(shí)的核心部分,它包括開(kāi)發(fā)控制,安全性檢查,完整性約束條件的檢查和執(zhí)行,數(shù)據(jù)庫(kù)的內(nèi)容維護(hù)等。 數(shù)據(jù)庫(kù)的建立和維護(hù)功能 它包括數(shù)據(jù)庫(kù)初始數(shù)據(jù)的輸入及轉(zhuǎn)換,數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)與恢復(fù),數(shù)據(jù)庫(kù)的重組功能和性能的監(jiān)視與分析功能等。 3.事務(wù)中的提交和回滾是什么意思? 答:事務(wù)中的提交(COMMIT)是提交事務(wù)的所有操作。具體說(shuō)就是將事務(wù)中所有對(duì)數(shù)據(jù)庫(kù)的更新寫(xiě)回到磁盤(pán)上的物理數(shù)據(jù)庫(kù)中去,事務(wù)正常結(jié)束。 事務(wù)中的回滾(ROLLBACK)是數(shù)據(jù)庫(kù)滾回到事務(wù)開(kāi)始時(shí)的狀態(tài)。具體地說(shuō)就是,在事務(wù)運(yùn)行的過(guò)程中發(fā)生了某種故障,事務(wù)不能繼續(xù)執(zhí)行,系統(tǒng)將事務(wù)中對(duì)數(shù)據(jù)庫(kù)的所有已完成的更新操作全部撤消,使數(shù)據(jù)庫(kù)回滾到事務(wù)開(kāi)始時(shí)的狀態(tài)。 四、綜合題(45分): 1.假定一個(gè)部門(mén)的數(shù)據(jù)庫(kù)包括以下的信息: (10分) 職工的信息:職工號(hào)、姓名、住址和所在部門(mén)。 部門(mén)的信息:部門(mén)名、部門(mén)所有職工、經(jīng)理和銷(xiāo)售的產(chǎn)品。 產(chǎn)品的信息:產(chǎn)品名、制造商、價(jià)格、型號(hào)及產(chǎn)品內(nèi)部編號(hào)。 制造商的信息:制造商名稱(chēng)、地址、生產(chǎn)的產(chǎn)品名。 完成如下設(shè)計(jì): 解:本題對(duì)應(yīng)的E-R圖如圖2 所示。 產(chǎn)品名 經(jīng) 理 部門(mén)名 地 址 姓 名 職工號(hào) 產(chǎn)品內(nèi)部編號(hào) n m n 從屬ong 產(chǎn)品 部門(mén) 職工 1 銷(xiāo)售ong 型 號(hào) n 生產(chǎn) 價(jià) 格 m 制造商 地 址 名 稱(chēng) 圖2 E-R圖 (1)設(shè)計(jì)該計(jì)算機(jī)管理系統(tǒng)的E-R圖;(5分) (2)將該E-R圖轉(zhuǎn)換為關(guān)系模型結(jié)構(gòu);(3分) (3)指出轉(zhuǎn)換結(jié)果中每個(gè)關(guān)系模式的候選碼。(2分) 2.設(shè)有關(guān)系S、SC、C,試用關(guān)系代數(shù)、元組關(guān)系演算表達(dá)式和SQL完成下列操作。(15分,每小題5分) S(S#,SNAME,AGE,SEX) 例:(001,李強(qiáng),23,’男) SC(S#,C#,SCORE) 例:(003,C1,83) C(C#,CNAME,TEACHER) 例:(C1,數(shù)據(jù)庫(kù)原理,王華) (1)用關(guān)系代數(shù)檢索既選修了C1課程,又選修了C2課程的學(xué)生學(xué)號(hào)。 (∏SNAME(SC#=C1(SC)))∩(∏SNAME(SC#=C2(SC))) (2)用元組關(guān)系演算表達(dá)式檢索年齡大于21的男生的學(xué)號(hào)和姓名。 {t(2)|($r)(S(r)∧t[1]=r[1]∧t[2]=r[2]∧r[3]>21∧r[4]=男)} (3)用SQL找出“程序設(shè)計(jì)”課程成績(jī)?cè)?0分以上的學(xué)生姓名。 解: SELECT SNAME FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND SCORE>=90 AND CNAME=程序設(shè)計(jì) 或者 SELECT SNAME FROM S WHERER S.S# IN (SELECT S# FROM SC WHERE SCORE>=90 AND SC.C# IN ( SELECT C# FROM C WHERE CNAME=程序設(shè)計(jì)) 3.設(shè)有函數(shù)依賴(lài)集F = { D→G,C→A,CD→E,A→B},計(jì)算閉包D+,(AC)+,(ACD)+ 。(10分) 解:令X={D},X(0)= D,X(1)= DG,X(2)=DG,故D+=DG。 令X={AC},X(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.設(shè)有關(guān)系R和函數(shù)依賴(lài)F:(10分) R(W,X,Y,Z),F(xiàn) = { X→Z,WX→Y }。 試求下列問(wèn)題:(1)關(guān)系R屬于第幾范式?(5分) (2)如果關(guān)系R不屬于BCNF,請(qǐng)將關(guān)系R逐步分解為BCNF。(5分) 要求:寫(xiě)出達(dá)到每一級(jí)范式的分解過(guò)程,并指明消除什么類(lèi)型的函數(shù)依賴(lài)。 解:R是1NF。侯選碼為WX,則Y,Z為非主屬性,又由于X→Z,因此F中存在非主屬性對(duì)侯選碼的部分函數(shù)依賴(lài)。 W XY Y ZY 將關(guān)系分解為: R1(W,X,Y),F(xiàn)1 = { WX→Y } R2(X,Z),F(xiàn)2 = { X→Z } 消除了非主屬性對(duì)碼的部分函數(shù)依賴(lài)。 F1和F2中的函數(shù)依賴(lài)都是非平凡的,并且決定因素是候選碼,所以上述關(guān)系模式是BCNF。 2003-2004學(xué)年第二學(xué)期期末考試2001級(jí)《數(shù)據(jù)庫(kù)系統(tǒng)概論》試題A 一、選擇題(20分,每小題2分): 1.在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。在這幾個(gè)階段中,數(shù)據(jù)獨(dú)立性最高的是____階段。 A.?dāng)?shù)據(jù)庫(kù)系統(tǒng) B.文件系統(tǒng) C.人工管理 D.?dāng)?shù)據(jù)項(xiàng)管理 2.對(duì)關(guān)系模型敘述錯(cuò)誤的是____。 A.建立在嚴(yán)格的數(shù)學(xué)理論、集合論和謂詞演算公式的基礎(chǔ)之上 B.微機(jī)DBMS絕大部分采取關(guān)系數(shù)據(jù)模型 C.用二維表表示關(guān)系模型是其一大特點(diǎn) D.不具有連接操作的DBMS也可以是關(guān)系數(shù)據(jù)庫(kù)系統(tǒng) 3.關(guān)系運(yùn)算中花費(fèi)時(shí)間可能最長(zhǎng)的運(yùn)算是____。 A.投影 B.選擇 C.笛卡爾積 D.除 4.假定學(xué)生關(guān)系是S(S#,SNAME,SEX,AGE),課程關(guān)系是C(C#,CNAME,TEACHER),學(xué)生選課關(guān)系是SC(S#,C#,GRADE)。 要查找選修“COMPUTER”課程的“女”學(xué)生姓名,將涉及到關(guān)系____。 A.S B.SC,C C.S,SC D.S,C,SC 5. FoxBASE、FoxPro屬于________。 A.表式系統(tǒng) B.最小關(guān)系系統(tǒng) C.關(guān)系完備的系統(tǒng) D.全關(guān)系系統(tǒng) 6.關(guān)系規(guī)范化中的刪除操作異常是指________。 A.不該刪除的數(shù)據(jù)被刪除 B.不該插入的數(shù)據(jù)被插入 C.應(yīng)該刪除的數(shù)據(jù)未被刪除 D.應(yīng)該插入的數(shù)據(jù)未被插入 7.在關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)中,設(shè)計(jì)關(guān)系模式是____的任務(wù)。 A.需求分析階段 B.概念設(shè)計(jì)階段 C.邏輯設(shè)計(jì)階段 D.物理設(shè)計(jì)階段 8.從E-R模型關(guān)系向關(guān)系模型轉(zhuǎn)換時(shí),一個(gè)M:N聯(lián)系轉(zhuǎn)換為關(guān)系模式時(shí),該關(guān)系模式的碼是____。 A.M端實(shí)體的碼 B.N端實(shí)體的碼 C.M端實(shí)體碼與N端實(shí)體碼組合 D.重新選取其他屬性 9.下面哪個(gè)不是數(shù)據(jù)庫(kù)系統(tǒng)必須提供的數(shù)據(jù)控制功能____。 A.安全性 B.可移植性 C.完整性 D.并發(fā)控制 10.設(shè)有兩個(gè)事務(wù)T1、T2,其并發(fā)操作如圖1所示,下面評(píng)價(jià)正確的是___。 A該操作不存在問(wèn)題 B.該操作丟失修改 C.修改該操作不能重復(fù)讀 D.該操作讀“臟”數(shù)據(jù) T1 T2 ①讀A=10,B=5 ②讀A=10 A=A*2寫(xiě)回 ③讀A=20,B=5 求和25驗(yàn)證錯(cuò) 圖1 事務(wù)并發(fā)操作圖 二、填空題(20分,每小空2分): 1.①事務(wù)是DBMS的基本單位,它是用戶(hù)定義的一組邏輯一致的程序序列。 2.若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加了S鎖,則其他事務(wù)只能對(duì)數(shù)據(jù)A再加②S鎖,不能加③X鎖,直到事務(wù) T釋放 A上的鎖。 3.關(guān)系操作的特點(diǎn)是④集合操作。 4.關(guān)系代數(shù)中,從兩個(gè)關(guān)系中找出相同元組的運(yùn)算稱(chēng)為⑤交運(yùn)算。 5.在關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論中,在執(zhí)行“分解”時(shí),必須遵守規(guī)范化原則:保持原有的函數(shù)依賴(lài)和⑥無(wú)損連接。 6.SQL語(yǔ)言的數(shù)據(jù)定義功能包括⑦定義數(shù)據(jù)庫(kù)、⑧定義基本表、⑨定義視圖和 ⑩定義索引。 三、簡(jiǎn)答題(15分,每小題5分): 1.使用數(shù)據(jù)庫(kù)系統(tǒng)有什么好處? 答:使用數(shù)據(jù)庫(kù)系統(tǒng)的好處是:查詢(xún)迅速、準(zhǔn)確,而且可以節(jié)約大量紙面文件;數(shù)據(jù)結(jié)構(gòu)化,并由DBMS統(tǒng)一管理;數(shù)據(jù)冗余度?。壕哂休^高的數(shù)據(jù)獨(dú)立性;數(shù)據(jù)的共享性好;DBMS還提供了數(shù)據(jù)的控制功能。 2.?dāng)⑹鰯?shù)據(jù)字典的主要任務(wù)和作用? 答:數(shù)據(jù)字典的任務(wù)就是管理有關(guān)數(shù)據(jù)的信息,所以又稱(chēng)為“數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)”。它的任務(wù)主要有:(1)描述數(shù)據(jù)庫(kù)系統(tǒng)的所有對(duì)象,并確定其屬性。如一個(gè)模式中包含的記錄型與一個(gè)記錄型包含的數(shù)據(jù)項(xiàng);用戶(hù)的標(biāo)識(shí)、口令;物理文件名稱(chēng)、物理位置及其文件組織方式等。數(shù)據(jù)字典在描述時(shí)賦給每個(gè)對(duì)象一個(gè)惟一的標(biāo)識(shí)。(2)描述數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象之間的各種交叉聯(lián)系。如哪個(gè)用戶(hù)使用哪個(gè)子模式,哪些模式或記錄型分配在哪些區(qū)域及對(duì)應(yīng)于哪些物理文件、存儲(chǔ)在何種物理設(shè)備上。(3)登記所有對(duì)象的完整性及安全性限制等。(4)對(duì)數(shù)據(jù)字典本身的維護(hù)、保護(hù)、查詢(xún)與輸出。 數(shù)據(jù)字典的主要作用是:(1)供數(shù)據(jù)庫(kù)管理系統(tǒng)快速查找有關(guān)對(duì)象的信息。數(shù)據(jù)庫(kù)管理系統(tǒng)在處理用戶(hù)存取時(shí),要經(jīng)常查閱數(shù)據(jù)字典中的用戶(hù)表、子模式表和模式表等。(2)供數(shù)據(jù)庫(kù)管理員查詢(xún),以掌握整個(gè)系統(tǒng)的運(yùn)行情況。(3)支持?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)與系統(tǒng)分析。 3.簡(jiǎn)要敘述關(guān)系數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)? 答:關(guān)系數(shù)據(jù)庫(kù)是以關(guān)系模型作為數(shù)據(jù)的組織方式,關(guān)系模型是建立在嚴(yán)格的數(shù)學(xué)概念基礎(chǔ)上的,關(guān)系數(shù)據(jù)庫(kù)的主要優(yōu)點(diǎn)是概念簡(jiǎn)單清晰,用戶(hù)不需了解復(fù)雜的存取路徑,不需說(shuō)明“怎么 干”,只需說(shuō)明“干什么”,易懂易學(xué)。 四、綜合題(45分): 1.某醫(yī)院病房計(jì)算機(jī)管理中需要如下信息:(10分) 科室:科名,科地址,科電話,醫(yī)生姓名 病房:病房號(hào),床位號(hào),所屬科室名 醫(yī)生:姓名,職稱(chēng),所屬科室名,年齡,工作證號(hào) 病人:病歷號(hào),姓名,性別,診斷,主管醫(yī)生,病房號(hào) 其中,一個(gè)科室有多個(gè)病房、多個(gè)醫(yī)生,一個(gè)病房只能屬于一個(gè)科室,一個(gè)醫(yī)生只屬于一個(gè)科室,但可負(fù)責(zé)多個(gè)病人的診治,一個(gè)病人的主管醫(yī)生只有一個(gè)。 (1) 完成如下設(shè)計(jì):設(shè)計(jì)該計(jì)算機(jī)管理系統(tǒng)的E-R圖;(5分) 本題的E-R圖如圖2所示。 16 n 病人 入住 病房 1 病房號(hào) 床位號(hào) 工作證號(hào) 姓 名 性 別 病歷號(hào) n 醫(yī)生 從屬 科室 1 科 名 科電話 科地址 職 稱(chēng) 年 齡 姓 名 診治 組成 n 1 n 1 圖2 E-R圖 (2)將該E-R圖轉(zhuǎn)換為關(guān)系模型結(jié)構(gòu);(3分) 對(duì)應(yīng)的關(guān)系模型結(jié)構(gòu)如下: 科室(科名,科地址,科電話) 病房(病房號(hào),床位號(hào),科室名) 醫(yī)生(工作證號(hào),姓名,職稱(chēng),科室名,年齡) 病人(病歷號(hào),姓名,性別,主管醫(yī)生,病房號(hào)) (3)指出轉(zhuǎn)換結(jié)果中每個(gè)關(guān)系模式的候選碼。(2分) 每個(gè)關(guān)系模式的候選碼如下: 科室的候選碼是科名; 病房的候選碼是科室名十病房號(hào); 醫(yī)生的候選碼是工作證號(hào); 病人的候選碼是病歷號(hào)。 2.設(shè)有關(guān)系S、SC、C,試用關(guān)系代數(shù)、元組關(guān)系演算表達(dá)式和SQL完成下列操作。(15分,每小題5分) S(S#,SNAME,AGE,SEX) 例:(001,李強(qiáng),23,’男) SC(S#,C#,SCORE) 例:(003,C1,83) C(C#,CNAME,TEACHER) 例:(C1,數(shù)據(jù)庫(kù)原理,王華) (1)用關(guān)系代數(shù)檢索選修課程號(hào)(C#)為C1和 C2的學(xué)生學(xué)號(hào)(S#)。 ΠS#,C#(SC)ΠC#(σC#=’C1’ C#=’C2’(C))-σC#’C1’ C# ’C2’(ΠS#,C#(SC)ΠC#(σC#=’C1’ C#=’C2’(C))) (2)用元組關(guān)系演算表達(dá)式檢索選修了“程軍”老師所授課程之一的學(xué)生姓名。 {T(1)|($U)($V)($W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]=程軍)} (2)用元組關(guān)系演算表達(dá)式檢索選修了“程軍”老師所授課程之一的學(xué)生學(xué)號(hào)。 {T(1)| ($V)($W)( SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]=程軍)} (3)用SQL找出選修了“程軍”老師教的所有課程的學(xué)生姓名。 19 SELECT S.SNAME FROM S WHERE NOT EXISTS ( SELECT * FROM C WHERE C.TEACHER=程軍 AND NOT EXISTS ( 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是查詢(xún)程軍所授的所有課程,外層查詢(xún)中C.C#作為變量在內(nèi)層查詢(xún)中被使用,外層教師程軍所授課程的課程號(hào)C#給內(nèi)層,內(nèi)層根據(jù)該課程號(hào)C#在SC中查詢(xún)是否存在這樣的課程號(hào),即程軍所授的課程,如果存在則括號(hào)中的記錄集不空,EXISTS條件為T(mén)RUE。因此,執(zhí)行結(jié)果是顯示程軍所授的所有課程。 SELECT * FROM C WHERE C.TEACHER=程軍 AND NOT EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C# ) 這條SQL語(yǔ)句在剛才語(yǔ)句的EXISTS前加了NOT,變成當(dāng)內(nèi)層查詢(xún)?nèi)渴浅誊娝谡n程時(shí)NOT EXISTS條件為假。 SELECT S.SNAME FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE C.TEACHER=程軍 AND NOT EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C# AND SC.S#=S.S# ) 這條是完整的語(yǔ)句,比上面一條語(yǔ)句多了一個(gè)AND SC.S#=S.S#表示某個(gè)學(xué)生的學(xué)號(hào),加上最外層的NOT EXISTS的整個(gè)語(yǔ)句的含義是,對(duì)該某個(gè)學(xué)生,如果最內(nèi)層查詢(xún)中查詢(xún)結(jié)果全部是‘程軍’所授課程時(shí),條件C.CNAME=程軍 AND NOT EXISTS為FALSE,所以SELECT * FROM C的查詢(xún)結(jié)果為空(第二層),這時(shí)最外層的NOT EXISTS為T(mén)RUE,最外層查找成功,該學(xué)生是選修了‘程軍’所授全部課程的。 3.設(shè)有關(guān)系模式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的最小依賴(lài)集。 解: ⑴ 將F中右部屬性單一化: (2分) F1= {E→G,G→E,F(xiàn)→E,F(xiàn)→G,H→E,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
5 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)庫(kù) 系統(tǒng) 概論 期末考試 試題
鏈接地址:http://kudomayuko.com/p-13108540.html