數(shù)據(jù)庫系統(tǒng)概論練習(xí).doc

上傳人:小** 文檔編號(hào):13336652 上傳時(shí)間:2020-06-15 格式:DOC 頁數(shù):50 大?。?45.01KB
收藏 版權(quán)申訴 舉報(bào) 下載
數(shù)據(jù)庫系統(tǒng)概論練習(xí).doc_第1頁
第1頁 / 共50頁
數(shù)據(jù)庫系統(tǒng)概論練習(xí).doc_第2頁
第2頁 / 共50頁
數(shù)據(jù)庫系統(tǒng)概論練習(xí).doc_第3頁
第3頁 / 共50頁

下載文檔到電腦,查找使用更方便

5 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)據(jù)庫系統(tǒng)概論練習(xí).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫系統(tǒng)概論練習(xí).doc(50頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 第一章 緒論 一、選擇題 1. DBS是采用了數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng),DBS是一個(gè)集合體,包含數(shù)據(jù)庫、計(jì)算機(jī)硬件、軟件和( ) 。 A. 系統(tǒng)分析員 B. 程序員 C. 數(shù)據(jù)庫管理員 D. 操作員 2. 數(shù)據(jù)庫(DB),數(shù)據(jù)庫系統(tǒng)(DBS)和數(shù)據(jù)庫管理系統(tǒng)(DBMS)之間的關(guān)系是( )。 A. DBS包括DB和DBMS B. DBMS包括DB和DBS C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS 3. 下面列出的數(shù)據(jù)庫管理技術(shù)發(fā)展的三個(gè)階段中,沒有專門的軟件對(duì)數(shù)據(jù)進(jìn)行管理的是( )。 I.人工管理階段 II.文件系統(tǒng)階段 III.?dāng)?shù)據(jù)庫階段

2、 A. I 和 II B. 只有 II C. II 和 III D. 只有 I 4. 下列四項(xiàng)中,不屬于數(shù)據(jù)庫系統(tǒng)特點(diǎn)的是( ) 。 A. 數(shù)據(jù)共享 B. 數(shù)據(jù)完整性 C. 數(shù)據(jù)冗余度高 D. 數(shù)據(jù)獨(dú)立性高 5. 數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)獨(dú)立性體現(xiàn)在( ) 。 A.不會(huì)因?yàn)閿?shù)據(jù)的變化而影響到應(yīng)用程序 B.不會(huì)因?yàn)橄到y(tǒng)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)邏輯結(jié)構(gòu)的變化而影響應(yīng)用程序 C.不會(huì)因?yàn)榇鎯?chǔ)策略的變化而影響存儲(chǔ)結(jié)構(gòu) D.不會(huì)因?yàn)槟承┐鎯?chǔ)結(jié)構(gòu)的變化而影響其他的存儲(chǔ)結(jié)構(gòu) 6. 描述數(shù)據(jù)庫全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特性的是( ) 。 A. 模式 B. 內(nèi)模式 C. 外模式 D. 用戶模式 7.

3、要保證數(shù)據(jù)庫的數(shù)據(jù)獨(dú)立性,需要修改的是( ) 。 A. 模式與外模式 B. 模式與內(nèi)模式 C. 三層之間的兩種映射 D. 三層模式 8. 要保證數(shù)據(jù)庫的邏輯數(shù)據(jù)獨(dú)立性,需要修改的是( ) 。 A. 模式與外模式的映射 B. 模式與內(nèi)模式之間的映射 C. 模式 D. 三層模式 9. 用戶或應(yīng)用程序看到的那部分局部邏輯結(jié)構(gòu)和特征的描述是( ),它是模式的邏輯子集。 A.模式 B. 物理模式 C. 子模式 D. 內(nèi)模式 10.下述( )不是DBA數(shù)據(jù)庫管理員的職責(zé) 。 A.完整性約束說明 B. 定義數(shù)據(jù)庫模式 C.數(shù)據(jù)庫安全 D. 數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì) 選擇題答案:

4、(1) C (2) A (3) D (4) C (5) B (6) A (7) C (8) A (9) C (10) D 二、簡答題 1.試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。 數(shù)據(jù): 描述事物的符號(hào)記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有文字、圖形、圖象、聲音、正文等等。數(shù)據(jù)與其語義是不可分的。 *解析: 在現(xiàn)代計(jì)算機(jī)系統(tǒng)中數(shù)據(jù)的概念是廣義的。早期的計(jì)算機(jī)系統(tǒng)主要用于科學(xué)計(jì)算,處理的數(shù)據(jù)是整數(shù)、實(shí)數(shù)、浮點(diǎn)數(shù)等傳統(tǒng)數(shù)學(xué)中的數(shù)據(jù)等。現(xiàn)在計(jì)算機(jī)能存儲(chǔ)和處理的對(duì)象十分廣泛,表示這些對(duì)象的 數(shù)據(jù)也越來越復(fù)雜。 數(shù)據(jù)與其語義是不可分的。500這個(gè)數(shù)字可以表示一件物品的價(jià)格是500元,

5、也可以表示一個(gè)學(xué)術(shù)會(huì)議參加的人數(shù)有500人。還可以表示一袋奶粉重500克。 數(shù)據(jù)庫: 數(shù)據(jù)庫是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。 *解析: 簡單地講,數(shù)據(jù)數(shù)據(jù)庫數(shù)據(jù)具有永久儲(chǔ)存、有組織和可共享三個(gè)特點(diǎn)。 數(shù)據(jù)模型是數(shù)據(jù)庫的核心概念。每個(gè)數(shù)據(jù)庫中數(shù)據(jù)的都是按照某一種數(shù)據(jù)模型來組織的。 數(shù)據(jù)庫系統(tǒng): 數(shù)據(jù)庫系統(tǒng)(DBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。 *解析: 數(shù)

6、據(jù)庫系統(tǒng)和數(shù)據(jù)庫是兩個(gè)概念。數(shù)據(jù)庫系統(tǒng)是一個(gè)人-機(jī)系統(tǒng),數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的一個(gè)組成部分。但是在日常工作中人們常常把把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。希望讀者能夠從人們講話或文章的上下文中區(qū)分“數(shù)據(jù)庫系統(tǒng)”和“數(shù)據(jù)庫”。 不要引起混淆。 數(shù)據(jù)庫管理系統(tǒng): 數(shù)據(jù)庫管理系統(tǒng)(DBMS)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。用于科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。DBMS主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運(yùn)行管理功能、數(shù)據(jù)庫的建立和維護(hù)功能。 *解析: DBMS是一個(gè)大型復(fù)雜的軟件系統(tǒng)。是計(jì)算機(jī)中的基礎(chǔ)軟件。目前,專門研制DBMS的廠商及其研制的DBMS產(chǎn)品很多。著名的

7、有美國IBM公司的DB2關(guān)系數(shù)據(jù)庫管理系統(tǒng)、IMS層次數(shù)據(jù)庫管理系統(tǒng);美國ORACLE公司的ORACLE關(guān)系數(shù)據(jù)庫管理系統(tǒng);SYBASE公司的SYBASE關(guān)系數(shù)據(jù)庫管理系統(tǒng);美國微軟公司的SQL SERVER關(guān)系數(shù)據(jù)庫管理系統(tǒng)等等。 2.使用數(shù)據(jù)庫系統(tǒng)有什么好處? 使用數(shù)據(jù)庫系統(tǒng)的好處是由數(shù)據(jù)庫管理系統(tǒng)的特點(diǎn)或優(yōu)點(diǎn)決定的。 使用數(shù)據(jù)庫系統(tǒng)的好處很多,例如可以大大提高應(yīng)用開發(fā)的效率,方便用戶的使用,減輕數(shù)據(jù)庫系統(tǒng)管理人員維護(hù)的負(fù)擔(dān)等。 為什么有這些好處,可以結(jié)合第5題來回答。 使用數(shù)據(jù)庫系統(tǒng)可以大大提高應(yīng)用開發(fā)的效率。因?yàn)樵跀?shù)據(jù)庫系統(tǒng)中應(yīng)用程序不必考慮數(shù)據(jù)的定義、存儲(chǔ)和數(shù)據(jù)存取的具

8、體路徑,這些工作都由DBMS來完成。用一個(gè)通俗的比喻,使用了DBMS就如有了一個(gè)好參謀好助手,許多具體的技術(shù)工作都由這個(gè)助手來完成。開發(fā)人員就可以專注于應(yīng)用邏輯的設(shè)計(jì)而不必為管理數(shù)據(jù)的許許多多復(fù)雜的細(xì)節(jié)操心。 還有,當(dāng)應(yīng)用邏輯改變,數(shù)據(jù)的邏輯結(jié)構(gòu)需要改變時(shí),由于數(shù)據(jù)庫系統(tǒng)提供了數(shù)據(jù)與程序之間的獨(dú)立性。數(shù)據(jù)邏輯結(jié)構(gòu)的改變是DBA的責(zé)任,開發(fā)人員不必修改應(yīng)用程序,或者只需要修改很少的應(yīng)用程序。從而既簡化了應(yīng)用程序的編制,又大大減少了應(yīng)用程序的維護(hù)和修改。 使用數(shù)據(jù)庫系統(tǒng)可以減輕數(shù)據(jù)庫系統(tǒng)管理人員維護(hù)系統(tǒng)的負(fù)擔(dān)。因?yàn)镈BMS在數(shù)據(jù)庫建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制,包括數(shù)據(jù)的完整性

9、、安全性,多用戶并發(fā)控制,故障恢復(fù)等等都由DBMS執(zhí)行。 總之,使用數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)是很多的,既便于數(shù)據(jù)的集中管理,控制數(shù)據(jù)冗余,可以提高數(shù)據(jù)的利用率和一致性,又有利于應(yīng)用程序的開發(fā)和維護(hù)。讀者可以在自己今后的工作中結(jié)合具體應(yīng)用,認(rèn)真加以體會(huì)和總結(jié)。 3.試述文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別和聯(lián)系。 文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別: 文件系統(tǒng)面向某一應(yīng)用程序,共享性差、冗余度大,獨(dú)立性差,紀(jì)錄內(nèi)有結(jié)構(gòu)、整體無結(jié)構(gòu),應(yīng)用程序自己控制。 數(shù)據(jù)庫系統(tǒng)面向現(xiàn)實(shí)世界,共享性高、冗余度小,具有高度的物理獨(dú)立性和一定的邏輯獨(dú)立性,整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述,由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)安全性、完整性、并發(fā)控

10、制和恢復(fù)能力。 讀者可以參考《概論》書中表1.1 中的有關(guān)內(nèi)容。 文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的聯(lián)系是: 文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)都是計(jì)算機(jī)系統(tǒng)中管理數(shù)據(jù)的軟件。 *解析: 文件系統(tǒng)是操作系統(tǒng)的重要組成部分,而DBMS是獨(dú)立于操作系統(tǒng)的軟件。但是DBMS是在操作系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)的。數(shù)據(jù)庫中數(shù)據(jù)的組織和存儲(chǔ)是通過操作系統(tǒng)中文件系統(tǒng)來實(shí)現(xiàn)的。 讀者可以參考書中第十一章《數(shù)據(jù)庫管理系統(tǒng)》。或者說,讀者進(jìn)一步學(xué)習(xí)數(shù)據(jù)庫管理系統(tǒng)實(shí)現(xiàn)的有關(guān)課程(第十一章只是DBMS實(shí)現(xiàn)技術(shù)的概述)后可以對(duì)本題有深入的理解和全面的解答。因?yàn)镈BMS的實(shí)現(xiàn)與操作系統(tǒng)中的文件系統(tǒng)是緊密相關(guān)的。例如,數(shù)據(jù)庫實(shí)現(xiàn)的基礎(chǔ)是文件,對(duì)數(shù)

11、據(jù)庫的任何操作最終要轉(zhuǎn)化為對(duì)文件的操作。所以在DBMS實(shí)現(xiàn)中數(shù)據(jù)庫物理組織的基本問題是如何利用或如何選擇操作系統(tǒng)提供的基本的文件組織方法。這里我們就不具體展開了。 4.舉出適合用文件系統(tǒng)而不是數(shù)據(jù)庫系統(tǒng)的例子;再舉出適合用數(shù)據(jù)庫系統(tǒng)的應(yīng)用例子。 適用于文件系統(tǒng)而不是數(shù)據(jù)庫系統(tǒng)的應(yīng)用例子 數(shù)據(jù)的備份,軟件或應(yīng)用程序使用過程中的臨時(shí)數(shù)據(jù)存儲(chǔ)一般使用文件比較合適。 早期功能比較簡單、比較固定的應(yīng)用系統(tǒng)也適合用文件系統(tǒng)。 適用于數(shù)據(jù)庫系統(tǒng)而非文件系統(tǒng)的應(yīng)用例子 目前,幾乎所有企業(yè)或部門的信息系統(tǒng)都以數(shù)據(jù)庫系統(tǒng)為基礎(chǔ),都使用數(shù)據(jù)庫。如一個(gè)工廠的管理信息系統(tǒng)(其中會(huì)包括許多子系統(tǒng),如庫存

12、管理系統(tǒng)、物資采購系統(tǒng)、作業(yè)調(diào)度系統(tǒng)、設(shè)備管理系統(tǒng)、人事管理系統(tǒng)等等),還比如學(xué)校的學(xué)生管理系統(tǒng),人事管理系統(tǒng),圖書館的圖書管理系統(tǒng)等等都適合用數(shù)據(jù)庫系統(tǒng)。 希望同學(xué)們能舉出自己了解的應(yīng)用例子。 5.試述數(shù)據(jù)庫系統(tǒng)的特點(diǎn)。 數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)有: 一、數(shù)據(jù)結(jié)構(gòu)化 數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,這是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。 *解析:注意這里“整體”兩個(gè)字。在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)不再針對(duì)某一個(gè)應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化。不僅數(shù)據(jù)是結(jié)構(gòu)化的,而且數(shù)據(jù)的存取單位即一次可以存取數(shù)據(jù)的大小也很靈活。可以小到某一個(gè)數(shù)據(jù)項(xiàng)(如一個(gè)學(xué)生的姓名)

13、,大到一組記錄(成千上萬個(gè)學(xué)生記錄)。而在文件系統(tǒng)中,數(shù)據(jù)的存取單位只有一個(gè):記錄。如一個(gè)學(xué)生的完整記錄。 二、數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充 數(shù)據(jù)庫的數(shù)據(jù)不再面向某個(gè)應(yīng)用而是面向整個(gè)系統(tǒng),因此可以被多個(gè)用戶、多個(gè)應(yīng)用、用多種不同的語言共享使用。由于數(shù)據(jù)面向整個(gè)系統(tǒng),是有結(jié)構(gòu)的數(shù)據(jù),不僅可以被多個(gè)應(yīng)用共享使用,而且容易增加新的應(yīng)用,這就使得數(shù)據(jù)庫系統(tǒng)彈性大,易于擴(kuò)充。 *解析: 數(shù)據(jù)共享可以大大減少數(shù)據(jù)冗余,節(jié)約存儲(chǔ)空間,同時(shí)還能夠避免數(shù)據(jù)之間的不相容性與不一致性。 所謂“數(shù)據(jù)面向某個(gè)應(yīng)用”是指數(shù)據(jù)結(jié)構(gòu)是針對(duì)某個(gè)應(yīng)用設(shè)計(jì)的,只被這個(gè)應(yīng)用程序或應(yīng)用系統(tǒng)使用??梢哉f數(shù)據(jù)是某個(gè)應(yīng)用的

14、“私有資源”。 所謂“彈性大”是指系統(tǒng)容易擴(kuò)充也容易收縮,即應(yīng)用增加或減少時(shí)不必修改整個(gè)數(shù)據(jù)庫的結(jié)構(gòu),或者只要做很少的修改。 我們可以取整體數(shù)據(jù)的各種子集用于不同的應(yīng)用系統(tǒng),當(dāng)應(yīng)用需求改變或增加時(shí),只要重新選取不同的子集或加上一部分?jǐn)?shù)據(jù)便可以滿足新的需求。 三、數(shù)據(jù)獨(dú)立性高 數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。 數(shù)據(jù)庫管理系統(tǒng)的模式結(jié)構(gòu)和二級(jí)映象功能保證了數(shù)據(jù)庫中的數(shù)據(jù)具有很高的物理獨(dú)立性和邏輯獨(dú)立性。 *解析: 所謂“獨(dú)立性”即相互不依賴。數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)和程序相互不依賴。即數(shù)據(jù)的邏輯結(jié)構(gòu)或物理結(jié)構(gòu)改變了,程序不會(huì)跟著改變。數(shù)據(jù)與程序的獨(dú)立,把數(shù)據(jù)的定義從程

15、序中分離出去,加上數(shù)據(jù)的存取又由DBMS負(fù)責(zé),簡化了應(yīng)用程序的編制,大大減少了應(yīng)用程序的維護(hù)和修改。 四、數(shù)據(jù)由DBMS統(tǒng)一管理和控制 數(shù)據(jù)庫的共享是并發(fā)的共享,即多個(gè)用戶可以同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù)甚至可以同時(shí)存取數(shù)據(jù)庫中同一個(gè)數(shù)據(jù)。為此,DBMS必須提供統(tǒng)一的數(shù)據(jù)控制功能,包括數(shù)據(jù)的安全性保護(hù),數(shù)據(jù)的完整性檢查,并發(fā)控制和數(shù)據(jù)庫恢復(fù)。 *解析: DBMS數(shù)據(jù)控制功能包括四個(gè)方面: 數(shù)據(jù)的安全性保護(hù):保護(hù)數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞; 數(shù)據(jù)的完整性檢查:將數(shù)據(jù)控制在有效的范圍內(nèi)或保證數(shù)據(jù)之間滿足一定的關(guān)系; 并發(fā)控制:對(duì)多用戶的并發(fā)操作加以控制和協(xié)調(diào),保證并發(fā)

16、操作的正確性; 數(shù)據(jù)庫恢復(fù):當(dāng)計(jì)算機(jī)系統(tǒng)發(fā)生硬件故障、軟件故障,或者由于操作員的失誤以及故意的破壞影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫部分或全部數(shù)據(jù)的丟失時(shí),能將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(亦稱為完整狀態(tài)或一致狀態(tài))。 下面我們可以得到“什么是數(shù)據(jù)庫”的一個(gè)定義: 數(shù)據(jù)庫是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)有組織的大量的共享的數(shù)據(jù)集合。它可以供各種用戶共享,具有最小冗余度和較高的數(shù)據(jù)獨(dú)立性。DBMS在數(shù)據(jù)庫建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫進(jìn)行統(tǒng)一控制,以保證數(shù)據(jù)的完整性、安全性,并在多用戶同時(shí)使用數(shù)據(jù)庫時(shí)進(jìn)行并發(fā)控制,在發(fā)生故障后對(duì)系統(tǒng)進(jìn)行恢復(fù)。 數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的

17、程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。 6.?dāng)?shù)據(jù)庫管理系統(tǒng)的主要功能有哪些? ①數(shù)據(jù)庫定義功能; ②數(shù)據(jù)存取功能; ③數(shù)據(jù)庫運(yùn)行管理; ④數(shù)據(jù)庫的建立和維護(hù)功能。 7.試述數(shù)據(jù)模型的概念、數(shù)據(jù)模型的作用和數(shù)據(jù)模型的三個(gè)要素。 數(shù)據(jù)模型是數(shù)據(jù)庫中用來對(duì)現(xiàn)實(shí)世界進(jìn)行抽象的工具,是數(shù)據(jù)庫中用于提供信息表示和操作手段的形式構(gòu)架。 一般地講,數(shù)據(jù)模型是嚴(yán)格定義的概念的集合。這些概念精確地描述系統(tǒng)的靜態(tài)特性、動(dòng)態(tài)特性和完整性約束條件。因此數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。 ①數(shù)據(jù)結(jié)構(gòu):是所研究的對(duì)象類型的集合,是對(duì)系統(tǒng)的靜態(tài)特性的描述。 ②數(shù)據(jù)操作

18、:是指對(duì)數(shù)據(jù)庫中各種對(duì)象(型)的實(shí)例(值)允許進(jìn)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。 ③數(shù)據(jù)的約束條件:是完整性規(guī)則的集合,完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。 *解析: 數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)中最重要的概念之一。同學(xué)們必須通過《概論》的學(xué)習(xí)真正掌握 數(shù)據(jù)模型的概念和作用。 數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)。任何一個(gè)DBMS都以某一個(gè)數(shù)據(jù)模型為基礎(chǔ),或者說支持某一個(gè)數(shù)據(jù)模型。 數(shù)據(jù)庫系統(tǒng)中模型有不同的層次。根據(jù)模型應(yīng)用的不同目的,可以將模型分成兩類或說兩個(gè)

19、層次:一是概念模型,是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模,用于信息世界的建模,強(qiáng)調(diào)語義表達(dá)能力,概念簡單清晰;另一是數(shù)據(jù)模型,是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,用于機(jī)器世界,人們可以用它定義、操縱數(shù)據(jù)庫中的數(shù)據(jù)。一般需要有嚴(yán)格的形式化定義和一組嚴(yán)格定義了語法和語義的語言,并有一些規(guī)定和限制,便于在機(jī)器上實(shí)現(xiàn)。 8.試述概念模型的作用。 概念模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。概念模型用于信息世界的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言。 9.定義并解釋概念模型中以下術(shù)語: 實(shí)體,實(shí)體型,實(shí)

20、體集,屬性,碼,實(shí)體聯(lián)系圖(E-R圖) 實(shí)體:客觀存在并可以相互區(qū)分的事物叫實(shí)體。 實(shí)體型:具有相同屬性的實(shí)體具有相同的特征和性質(zhì),用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體稱為實(shí)體型。 實(shí)體集:同型實(shí)體的集合稱為實(shí)體集。 屬性:實(shí)體所具有的某一特性,一個(gè)實(shí)體可由若干個(gè)屬性來刻畫。 碼:唯一標(biāo)識(shí)實(shí)體的屬性集稱為碼。 實(shí)體聯(lián)系圖:E-R圖提供了表示實(shí)體型、屬性和聯(lián)系的方法: 實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名。 屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來。 聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(

21、1 : 1,1 : n或m : n)。 10.試給出三個(gè)實(shí)際部門的E-R圖,要求實(shí)體型之間具有一對(duì)一,一對(duì)多,多對(duì)多各種不同的聯(lián)系。 第二章 關(guān)系數(shù)據(jù)庫 一、選擇題 1. 下面的選項(xiàng)不是關(guān)系數(shù)據(jù)庫基本特征的是( )。 A.不同的列應(yīng)有不同的數(shù)據(jù)類型 B.不同的列應(yīng)有不同的列名 C.與行的次序無關(guān) D.與列的次序無關(guān) 2. 一個(gè)關(guān)系只有一個(gè)( ) 。 A.候選碼 B. 外碼 C. 超碼 D. 主碼 3. 關(guān)系模型中,一個(gè)碼是( )。 A.可以由多個(gè)任意屬性組成 B.至多由一個(gè)屬性組成 C.可有多個(gè)或者一個(gè)其值能夠唯一表示該關(guān)系模式中任

22、何元組的屬性組成 D.以上都不是 4. 現(xiàn)有如下關(guān)系: 患者(患者編號(hào),患者姓名,性別,出生日起,所在單位) 醫(yī)療(患者編號(hào),患者姓名,醫(yī)生編號(hào),醫(yī)生姓名,診斷日期,診斷結(jié)果) 其中,醫(yī)療關(guān)系中的外碼是( )。 A. 患者編號(hào) B. 患者姓名 C. 患者編號(hào)和患者姓名 D. 醫(yī)生編號(hào)和患者編號(hào) 5. 現(xiàn)有一個(gè)關(guān)系:借閱(書號(hào),書名,庫存數(shù),讀者號(hào),借期,還期),假如同一本書允許一個(gè)讀者多次借閱,但不能同時(shí)對(duì)一種書借多本,則該關(guān)系模式的外碼是( )。 A. 書號(hào) B. 讀者號(hào) C. 書號(hào)+讀者號(hào) D. 書號(hào)+讀者號(hào)+借期 6. 關(guān)系模型中實(shí)現(xiàn)實(shí)體間 N:M 聯(lián)系是通過增

23、加一個(gè)( ) 。 A.關(guān)系實(shí)現(xiàn) B. 屬性實(shí)現(xiàn) C. 關(guān)系或一個(gè)屬性實(shí)現(xiàn) D. 關(guān)系和一個(gè)屬性實(shí)現(xiàn) 7. 關(guān)系代數(shù)運(yùn)算是以( )為基礎(chǔ)的運(yùn)算 。 A. 關(guān)系運(yùn)算 B. 謂詞演算 C. 集合運(yùn)算 D. 代數(shù)運(yùn)算 8. 關(guān)系數(shù)據(jù)庫管理系統(tǒng)應(yīng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括( )。 A. 排序、索引、統(tǒng)計(jì) B. 選擇、投影、連接 C. 關(guān)聯(lián)、更新、排序 D. 顯示、打印、制表 9. 五種基本關(guān)系代數(shù)運(yùn)算是( )。 A.∪ - σ π B.∪ - σ π C.∪ ∩ σ π D.∪ ∩ σ π 10. 關(guān)系代數(shù)表達(dá)式的優(yōu)化策略中,首先要做的是( ) 。 A.對(duì)文件進(jìn)行預(yù)處理

24、B.盡早執(zhí)行選擇運(yùn)算 C.執(zhí)行笛卡爾積運(yùn)算 D.投影運(yùn)算 11. 關(guān)系數(shù)據(jù)庫中的投影操作是指從關(guān)系中( ) 。 A.抽出特定記錄 B. 抽出特定字段 C.建立相應(yīng)的影像 D. 建立相應(yīng)的圖形 12. 從一個(gè)數(shù)據(jù)庫文件中取出滿足某個(gè)條件的所有記錄形成一個(gè)新的數(shù)據(jù)庫文件的操作是( )操作 。 A.投影 B. 聯(lián)接 C. 選擇 D. 復(fù)制 13. 關(guān)系代數(shù)中的聯(lián)接操作是由( )操作組合而成 。 A.選擇和投影 B. 選擇和笛卡爾積 C.投影、選擇、笛卡爾積 D. 投影和笛卡爾積 14. 自然聯(lián)接是構(gòu)成新關(guān)系的有效方法。一般情況下,當(dāng)對(duì)關(guān)系R和S是用自然聯(lián)接時(shí),要求R和S含有一

25、個(gè)或者多個(gè)共有的( ) 。 A.記錄 B. 行 C. 屬性 D. 元組 15. 假設(shè)有關(guān)系R和S,在下列的關(guān)系運(yùn)算中,( )運(yùn)算不要求:“R和S具有相同的元數(shù),且它們的對(duì)應(yīng)屬性的數(shù)據(jù)類型也相同” 。 A.R∩S B. R∪S C. R-S D. RS 16. 假設(shè)有關(guān)系R和S,關(guān)系代數(shù)表達(dá)式R-(R-S)表示的是( )。 A.R∩S B. R∪S C. R-S D. RS 17. 下面列出的關(guān)系代數(shù)表達(dá)是中,那些式子能夠成立( ) 。 ⅰ. σf1 ( σf2 (E)) = σf1∧f2 (E) ⅱ. E1∞E2 = E2∞E1 ⅲ. (E1∞E2)∞E3 = E1∞ (

26、E2∞E3) ⅳ. σf1 ( σf2 (E)) =σf2 ( σf1(E)) A.全部 B. ⅱ和ⅲ C. 沒有 D. ⅰ和ⅳ 18. 下面四個(gè)關(guān)系表達(dá)式是等價(jià)的,是判別它們的執(zhí)行效率( ) 。 E1 =πA (σ B=C ∧ D=E′ (RS) ) E2 =πA (σ B=C (R σD=E′ (S) ) E3 =πA (R∞B=CσD=E′(S) ) E3 =πA (σD=E′ (R∞B=C S) ) A. E3最快 B. E2最快 C. E4最快 D. E1最快 19. 有關(guān)系SC(S_ID,C_ID,AGE,SCORE),查找年齡大于22歲的學(xué)生的學(xué)號(hào)和分?jǐn)?shù),正確的

27、關(guān)系代數(shù)表達(dá)式是( ) 。 ⅰ. πS_ID,SCORE (σ age>22 (SC) ) ⅱ. σ age>22 (πS_ID,SCORE (SC) ) ⅲ. πS_ID,SCORE (σ age>22 (πS_ID,SCORE,AGE (SC) ) ) A.ⅰ和 ⅱ B. 只有ⅱ正確 C. 只有 ⅰ正確 D. ⅰ和ⅲ正確 選擇題答案: (1) A (2) D (3) C (4) A (5) D (6) A (7) C (8) B (9) A (10) B (11) B (12) C (13) B (14) C (15) D (16) A (17) C (18)

28、 A (19) D 二、簡答題 1. 試述關(guān)系模型的三個(gè)組成部分。 2. 試述關(guān)系數(shù)據(jù)語言的特點(diǎn)和分類。 3.設(shè)有一個(gè)SPJ數(shù)據(jù)庫,包括S,P,J,SPJ四個(gè)關(guān)系模式: S( SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供應(yīng)商表S由供應(yīng)商代碼(SNO)、供應(yīng)商姓名(SNAME)、供應(yīng)商狀態(tài)(STATUS)、供應(yīng)商所在城市(CITY)組成;零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIG

29、HT)組成;工程項(xiàng)目表J由工程項(xiàng)目代碼(JNO)、工程項(xiàng)目名(JNAME)、工程項(xiàng)目所在城市(CITY)組成;供應(yīng)情況表SPJ由供應(yīng)商代碼(SNO)、零件代碼(PNO)、工程項(xiàng)目代碼(JNO)、供應(yīng)數(shù)量(QTY)組成,表示某供應(yīng)商供應(yīng)某種零件給某工程項(xiàng)目的數(shù)量為QTY。 試用關(guān)系代數(shù)完成如下查詢: (1) 求供應(yīng)工程J1零件的供應(yīng)商號(hào)碼SNO; (2) 求供應(yīng)工程J1零件P1的供應(yīng)商號(hào)碼SNO; (3) 求供應(yīng)工程J1零件為紅色的供應(yīng)商號(hào)碼SNO; (4) 求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO; (5) 求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)JNO。 4. 定義

30、并理解下列術(shù)語,說明它們之間的聯(lián)系與區(qū)別: (1)域,笛卡爾積,關(guān)系,元組,屬性 (2)主碼,候選碼,外碼 (3)關(guān)系模式,關(guān)系,關(guān)系數(shù)據(jù)庫 5. 試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外碼屬性的值有時(shí)也可以為空?什么情況下才可以為空? 6. 試述等值連接與自然連接的區(qū)別和聯(lián)系。 7. 關(guān)系代數(shù)的基本運(yùn)算有哪些? 8. 試用關(guān)系代數(shù)的基本運(yùn)算來表示其他運(yùn)算。 第三章 SQL語言 一、選擇題 1. SQL語言是( )的語言,容易學(xué)習(xí) 。 A.過程化 B. 非過程化 C.格式化 D. 導(dǎo)航式 2. SQL語言的數(shù)據(jù)操縱語句包括

31、SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最頻繁的語句是( ) 。 A. SELECT B. INSERT C. UPDATE D. DELETE 3. 在視圖上不能完成的操作是( ) 。 A. 更新視圖 B. 查詢 C. 在視圖上定義新的表 D. 在視圖上定義新的視圖 4. SQL語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,其中,CREATE、DROP、ALTER語句是實(shí)現(xiàn)哪種功能( )。 A. 數(shù)據(jù)查詢 B. 數(shù)據(jù)操縱 C. 數(shù)據(jù)定義 D. 數(shù)據(jù)控制 5. SQL語言中,刪除一個(gè)視圖的命令是( )。 A.DELETE

32、 B.DROP C.CLEAR D.REMOVE 6. 在SQL語言中的視圖VIEW是數(shù)據(jù)庫的( ) 。 A. 外模式 B. 模式 C. 內(nèi)模式 D. 存儲(chǔ)模式 7. 下列的SQL語句中,( )不是數(shù)據(jù)定義語句。 A. CREATE TABLE B. DROP VIEW C. CREATE VIEW D. GRANT 8. 若要撤銷數(shù)據(jù)庫中已經(jīng)存在的表S,可用( )。 A. DELETE TABLE S B. DELETE S C. DROP TABLE S D. DROP S 9. 若要在基本表S中增加一列CN(課程名),可用( )。 A.ADD TABLE S(C

33、N CHAR(8)) B.ADD TABLE S ALTER(CN CHAR(8)) C.ALTER TABLE S ADD(CN CHAR(8)) D.ALTER TABLE S (ADD CN CHAR(8)) 10. 學(xué)生關(guān)系模式 S( S#,Sname,Sex,Age),S的屬性分別表示學(xué)生的學(xué)號(hào)、姓名、性別、年齡。要在表S中刪除一個(gè)屬性“年齡”,可選用的SQL語句是( )。 A. DELETE Age from S B. ALTER TABLE S DROP Age C. UPDATE S Age D. ALTER TABLE S ‘Age’ 11. 有關(guān)系S

34、(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是學(xué)生號(hào),SNAME是學(xué)生姓名,SAGE是學(xué)生年齡, C#是課程號(hào),CNAME是課程名稱。要查詢選修“ACCESS”課的年齡不小于20的全體學(xué)生姓名的SQL語句是SELECT SNAME FROM S,C,SC WHERE子句。這里的WHERE子句的內(nèi)容是( )。 A. S.S# = SC.S# and C.C# = SC.C# and SAGE>=20 and CNAME=‘ACCESS’ B. S.S# = SC.S# and C.C# = SC.C# and SAGE in>=20 and

35、 CNAME in ‘ACCESS’ C. SAGE in>=20 and CNAME in ‘ACCESS’ D. SAGE>=20 and CNAME=’ ACCESS’ 12. 設(shè)關(guān)系數(shù)據(jù)庫中一個(gè)表S的結(jié)構(gòu)為S(SN,CN,grade),其中SN為學(xué)生名,CN為課程名,二者均為字符型;grade為成績,數(shù)值型,取值范圍0-100。若要把“張二的化學(xué)成績80分”插入S中,則可用( )。 A. ADD INTO S VALUES(’張二’,’化學(xué)’,’80’) B. INSERT INTO S VALUES(’張二’,’化學(xué)’,’80’) C. ADD

36、INTO S VALUES(’張二’,’化學(xué)’,80) D. INSERT INTO S VALUES(’張二’,’化學(xué)’,80) 13. 設(shè)關(guān)系數(shù)據(jù)庫中一個(gè)表S的結(jié)構(gòu)為:S(SN,CN,grade),其中SN為學(xué)生名,CN為課程名,二者均為字符型;grade為成績,數(shù)值型,取值范圍0-100。若要更正王二的化學(xué)成績?yōu)?5分,則可用( ) 。 A. UPDATE S SET grade=85 WHERE SN=’王二’ AND CN=’化學(xué)’ B. UPDATE S SET grade=’85’ WHERE SN=’王二’ AND CN=’化學(xué)’ C

37、. UPDATE grade=85 WHERE SN=’王二’ AND CN=’化學(xué)’ D. UPDATE grade=’85’ WHERE SN=’王二’ AND CN=’化學(xué)’ 14. 在SQL語言中,子查詢是( ) 。 A. 返回單表中數(shù)據(jù)子集的查詢語言 B. 選取多表中字段子集的查詢語句 C. 選取單表中字段子集的查詢語句 D. 嵌入到另一個(gè)查詢語句之中的查詢語句 15. SQL是一種( )語言。 A. 高級(jí)算法 B. 人工智能 C. 關(guān)系數(shù)據(jù)庫 D. 函數(shù)型 16. 有關(guān)系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GR

38、ADE)。其中S#是學(xué)生號(hào),SNAME是學(xué)生姓名,SEX是性別, C#是課程號(hào),CNAME是課程名稱。要查詢選修“數(shù)據(jù)庫”課的全體男生姓名的SQL語句是SELECT SNAME FROM S,C,SC WHERE子句。這里的WHERE子句的內(nèi)容是( )。 A.S.S# = SC.S# and C.C# = SC.C# and SEX=’男’ and CNAME=’數(shù)據(jù)庫’ B.S.S# = SC.S# and C.C# = SC.C# and SEX in’男’and CNAME in’數(shù)據(jù)庫’ C.SEX ’男’ and CNAME ’ 數(shù)據(jù)庫’ D.S.SEX=’男’ and CN

39、AME=’ 數(shù)據(jù)庫’ 17. 若用如下的SQL語句創(chuàng)建了一個(gè)表SC: CREATE TABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCORE INTEGER,NOTE CHAR(20));向SC表插入如下行時(shí),( )行可以被插入 。 A.(’201009’,’111’,60,必修) B.(’200823’,’101’,NULL,NULL) C.(NULL,’103’,80,’選修’) D.(’201132’,NULL,86,’ ’) 18. 假設(shè)學(xué)生關(guān)系S(S#,SNAME,SEX),課程關(guān)系C(C#,CNAME),學(xué)生選課關(guān)

40、系SC(S#,C#,GRADE)。要查詢選修“Computer”課的男生姓名,將涉及到關(guān)系( )。 A. S B. S,SC C. C,SC D. S,C,SC 選擇題答案: (1) B (2) A (3) C (4) C (5) B (6) A (7) D (8) C (9) C (10) B (11) A (12) D (13) A (14) D (15) C (16) A (17) B (18) D 二、簡答題 1. 試述SQL語言的特點(diǎn)。 答: (1)綜合統(tǒng)一。 SQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體。 (

41、2)高度非過程化。用SQL語言進(jìn)行數(shù)據(jù)操作,只要提出“做什么”,而無須指明“怎么做”,因此無需了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統(tǒng)自動(dòng)完成。 (3)面向集合的操作方式。SQL語言采用集合操作方式,不僅操作對(duì)象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可以是元組的集合。 (4)以同一種語法結(jié)構(gòu)提供兩種使用方式。SQL語言既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式,也能夠嵌入到高級(jí)語言程序中,供程序員設(shè)計(jì)程序時(shí)使用。 (5)語言簡捷,易學(xué)易用。 2. 試述SQL的定義功能。 答: SQL的數(shù)據(jù)定義功能

42、包括定義表、定義視圖和定義索引。 SQL語言使用CREATE TABLE語句定義建立基本表,;ALTER TABLE語句修改基本表定義,DROP TABLE語句刪除基本表;建立索引使用CREATE INDEX語句建立索引, DROP INDEX語句刪除索引表;SQL語言使用CREATE VIEW命令建立視圖,DROP VIEW語句刪除視圖。 3.(1)SELECT * FROM S WHERE A=10 (2)SELECT A,B FROM S (3)SELECT A,B,S.C,S.D,E,F FROM S,T WHERE S.C=T.C and S.D=T.D (4)SELEC

43、T S.*,T.* FROM S,T WHERE S.C=T.C (5) SELECT S.*,T.* FROM S,T WHERE A

44、 P(PNO,PNAME,COLOR,WEIGHT); 建P表 CREATE TABLE P (PNO CHAR(3) primary key, PNAME varCHAR2(10), COLOR CHAR(4), WEIGHT INT); J(JNO,JNAME,CITY); 建J表 CREATE TABLE J (JNO CHAR(3) primary key, JNAME CHAR(10), CITY CHAR(10)); SPJ(SNO,PNO,JNO,QTY); 建SPJ表 CREATE TABLE SPJ (SNO

45、CHAR(3), PNO CHAR(3), JNO CHAR(3), QTY INT, Primary key(sno,pno,jno), Foreign key(sno) references s(sno), Foreign key(pno) references p(pno), Foreign key(jno) references j(jno)); 4. 針對(duì)上題中建立的四個(gè)表試用SQL語言完成第3章習(xí)題3中的查詢。 答: (1) 求供應(yīng)工程J1零件的供應(yīng)商號(hào)碼SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1’; (

46、2) 求供應(yīng)工程J1零件P1的供應(yīng)商號(hào)碼SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO=‘P1’; (3) 求供應(yīng)工程J1零件為紅色的供應(yīng)商號(hào)碼SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO IN (SELECT PNO FROM P WHERE COLOR=‘紅’); 或 SELECT SNO FROM SPJ,P WHERE JNO=‘J1’ AND SPJ.PNO=P.PNO AND COLOR=‘紅’; (4)

47、 求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO; 解析: 用SQL語言表示如下: Select jno From j Where jno not in(select jno From s,p,spj Where s.sno=spj.sno and p.pno=spj.pno and city=’ 天津’ and color=’紅’) SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN (SELECT SNO FROM S

48、 WHERE CITY=‘天津’) AND PNO IN (SELECT PNO FROM P WHERE COLOR=‘紅’)); 或 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ, S, P WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO AND S.CITY=‘天津’ AND P. COLOR=‘紅’); 注意:從 J 表入手,以包含那些尚未使用任何零件的工程號(hào)。 (5) 求至少用了供應(yīng)商S1所

49、供應(yīng)的全部零件的工程號(hào)JNO 。 解析: 用SQL語言表示如下: SELECT DISTINCT JNO FROM SPJ SPJZ WHERE NOT EXISTS (SELECT * FROM SPJ SPJX WHERE SNO=S1 AND NOT EXISTS (SELECT * FROM SPJ SPJY WHERE SPJY.PNO=SPJX.PNO AND SPJY.JNO=SPJZ.JNO));   5. 針對(duì)習(xí)題3中的四個(gè)表試用SQL語言完成以下各項(xiàng)操作: (1)找出所有供應(yīng)商的姓名和所在城市。 (2)

50、找出所有零件的名稱、顏色、重量。 (3)找出使用供應(yīng)商S1所供應(yīng)零件的工程號(hào)碼。 (4)找出工程項(xiàng)目J2使用的各種零件的名稱及其數(shù)量。 (5)找出上海廠商供應(yīng)的所有零件號(hào)碼。 (6)找出使用上海產(chǎn)的零件的工程名稱。 (7)找出沒有使用天津產(chǎn)的零件的工程號(hào)碼。 (8)把全部紅色零件的顏色改成藍(lán)色。 (9)由S5供給J4的零件P6改為由S3供應(yīng),請(qǐng)作必要的修改。 (10)從供應(yīng)商關(guān)系中刪除S2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。 (11)請(qǐng)將 (S2,J6,P4,200) 插入供應(yīng)情況關(guān)系。 答: (1) 找出所有供應(yīng)商的姓名和所在城市。 S

51、ELECT SNAME, CITY FROM S; (2) 找出所有零件的名稱、顏色、重量。 SELECT PNAME, COLOR, WEIGHT FROM P; (3) 找出使用供應(yīng)商S1所供應(yīng)零件的工程號(hào)碼。 SELECT JNO FROM SPJ WHERE SNO=‘S1’; (4) 找出工程項(xiàng)目J2使用的各種零件的名稱及其數(shù)量。 SELECT P.PNAME, SPJ.QTY FROM P, SPJ WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2; (5) 找出上海廠商供應(yīng)的所有零件號(hào)碼。 SELEC

52、T DISTINCT PNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY=上海); (6) 找出使用上海產(chǎn)的零件的工程名稱。 SELECT JNAME FROM J, SPJ, S WHERE J. JNO=SPJ. JNO AND SPJ. SNO=S.SNO AND S.CITY=上海; 或 SELECT JNAME FROM J WHERE JNO IN (SELECT JNO FROM SPJ, S WHERE SPJ. SNO=S.SNO AND

53、S.CITY=上海); (7) 找出沒有使用天津產(chǎn)的零件的工程號(hào)碼。 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN (SELECT SNO FROM S WHERE CITY=‘天津’)); 或 SELECT JNO FROM J WHERE NOT EXISTS (SELECT *1 FROM SPJ, S WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND S.CITY

54、=‘天津’); 或SELECT JNO FROM J WHERE jno NOT in (SELECT jno FROM SPJ, S WHERE SPJ.SNO=S.SNO AND S.CITY=‘天津’); (8) 把全部紅色零件的顏色改成藍(lán)色。 UPDATE P SET COLOR=藍(lán) WHERE COLOR=紅 ; (9) 由S5供給J4的零件P6改為由S3供應(yīng),請(qǐng)作必要的修改。 UPDATE SPJ SET SNO=S3 WHERE SNO=S5 AND JNO=J4 AND PNO=P6; (10) 從供應(yīng)商關(guān)系中刪除S

55、2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。 DELETE FROM SPJ WHERE SNO=S2; 或 DELETE FROM S WHERE SNO=S2; 解析:注意刪除順序,應(yīng)該先從SPJ表中刪除供應(yīng)商S2所供應(yīng)零件的記錄,然后從從S表中刪除S2。 (11) 請(qǐng)將 (S2,J6,P4,200) 插入供應(yīng)情況關(guān)系。 INSERT INTO SPJ(SNO, JNO, PNO, QTY) VALUES (‘S2’,’J6’,’P4’,200); 或 INSERT INTO SPJ VALUES (‘S2’,’P4’,’

56、J6’,200); 6. 什么是基本表?什么是視圖?兩者的區(qū)別和聯(lián)系是什么? 答:基本表是本身獨(dú)立存在的表,在SQL中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)表。 視圖是從一個(gè)或幾個(gè)基本表導(dǎo)出的表。視圖本身不獨(dú)立存儲(chǔ)在數(shù)據(jù)庫中,是一個(gè)虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。 7. 試述視圖的優(yōu)點(diǎn)。 答:(1)視圖能夠簡化用戶的操作。 (2)視圖使用戶能以多種角度看待同一數(shù)據(jù)。 (3)視圖對(duì)重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨(dú)立性。 (4)視圖能夠?qū)C(jī)密數(shù)據(jù)

57、提供安全保護(hù)。 8. 所有的視圖是否都可以更新?為什么? 答:不是。視圖是不實(shí)際存儲(chǔ)數(shù)據(jù)的虛表,因此對(duì)視圖的更新,最終要轉(zhuǎn)換為對(duì)基本表的更新。因?yàn)橛行┮晥D的更新不能唯一地有意義地轉(zhuǎn)換成對(duì)相應(yīng)基本表的更新,所以,并不是所有的視圖都是可更新的。如《概論》3.5.1中的視圖S_G(學(xué)生的學(xué)號(hào)及他的平均成績) CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno; 要修改平均成績,必須修改各科成績,而我們無法知道哪些課程成績的變化導(dǎo)致了平均成績的變化。 9. 哪類視圖是可以更新的

58、,哪類視圖是不可更新的? 各舉一例說明。 答:基本表的行列子集視圖一般是可更新的。如《概論》3.5.3中的例1。 若視圖的屬性來自集函數(shù)、表達(dá)式,則該視圖肯定是不可以更新的。 如《概論》3.5.3中的S_G視圖。 10. 試述某個(gè)你熟悉的實(shí)際系統(tǒng)中對(duì)視圖更新的規(guī)定。 答:(略) 解析:不同的系統(tǒng)對(duì)視圖更新的規(guī)定是不同的,讀者必須了解你所用系統(tǒng)對(duì)視圖更新的規(guī)定。 9. 請(qǐng)為三建工程項(xiàng)目建立一個(gè)供應(yīng)情況的視圖,包括供應(yīng)商代碼(SNO)、零件代碼(PNO)、供應(yīng)數(shù)量(QTY)。針對(duì)該視圖完成下列查詢: (1)找出三建工程項(xiàng)目使用的各種零件代碼及其數(shù)量。 (2)找出供應(yīng)商S1

59、的供應(yīng)情況。 答:建視圖: CREATE VIEW V_SPJ AS SELECT SNO, PNO, QTY FROM SPJ WHERE JNO in (SELECT JNO FROM J WHERE JNAME=三建); 對(duì)該視圖查詢: (1) 找出三建工程項(xiàng)目使用的各種零件代碼及其數(shù)量。 SELECT PNO, QTY FROM V_SPJ; (2) 找出供應(yīng)商S1的供應(yīng)情況。 SELECT PNO, QTY /* S1供應(yīng)三建工程的零件號(hào)和對(duì)應(yīng)的數(shù)量*/ FROM V_SPJ WHERE SNO=S1; 第四章 數(shù)據(jù)庫

60、安全性 一、選擇題 1. 以下( )不屬于實(shí)現(xiàn)數(shù)據(jù)庫系統(tǒng)安全性的主要技術(shù)和方法。 A. 存取控制技術(shù) B. 視圖技術(shù) C. 審計(jì)技術(shù) D. 出入機(jī)房登記和加鎖 2. SQL中的視圖提高了數(shù)據(jù)庫系統(tǒng)的( )。 A. 完整性 B. 并發(fā)控制 C. 隔離性 D. 安全性 3. SQL語言的GRANT和REMOVE語句主要是用來維護(hù)數(shù)據(jù)庫的( )。 A. 完整性 B. 可靠性 C. 安全性 D. 一致性 4. 在數(shù)據(jù)庫的安全性控制中,授權(quán)的數(shù)據(jù)對(duì)象的( ),授權(quán)子系統(tǒng)就越靈活。 A. 范圍越小 B. 約束越細(xì)致 C. 范圍越大 D. 約束范圍大 選擇題答案: (1)

61、 D (2) D (3) C (4) A 三、簡答題 1. 什么是數(shù)據(jù)庫的安全性? 答: 數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。 2. 數(shù)據(jù)庫安全性和計(jì)算機(jī)系統(tǒng)的安全性有什么關(guān)系? 答: 安全性問題不是數(shù)據(jù)庫系統(tǒng)所獨(dú)有的,所有計(jì)算機(jī)系統(tǒng)都有這個(gè)問題。只是在數(shù)據(jù)庫系統(tǒng)中大量數(shù)據(jù)集中存放,而且為許多最終用戶直接共享,從而使安全性問題更為突出。 系統(tǒng)安全保護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)的主要指標(biāo)之一。 數(shù)據(jù)庫的安全性和計(jì)算機(jī)系統(tǒng)的安全性,包括操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的安全性是緊密聯(lián)系、相互支持的, 3.試述實(shí)現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和

62、技術(shù)。 答: 實(shí)現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)有: 1)用戶標(biāo)識(shí)和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份。每次用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對(duì),通過鑒定后才提供系統(tǒng)的使用權(quán)。 2)存取控制:通過用戶權(quán)限定義和合法權(quán)檢查確保只有合法權(quán)限的用戶訪問數(shù)據(jù)庫,所有未被授權(quán)的人員無法存取數(shù)據(jù)。例如C2級(jí)中的自主存取控制(DAC),B1級(jí)中的強(qiáng)制存取控制(MAC); 3)視圖機(jī)制:為不同的用戶定義視圖,通過視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無權(quán)存取的用戶隱藏起來,從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。 4)審計(jì):建立審計(jì)日志,把用戶對(duì)數(shù)據(jù)庫的所有操作自動(dòng)記錄下來放入審計(jì)日志

63、中, DBA可以利用審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。 5)數(shù)據(jù)加密:對(duì)存儲(chǔ)和傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容。 具體內(nèi)容請(qǐng)參見《概論》4.2。 4.什么是數(shù)據(jù)庫中的自主存取控制方法和強(qiáng)制存取控制方法? 答: 自主存取控制方法:定義各個(gè)用戶對(duì)不同數(shù)據(jù)對(duì)象的存取權(quán)限。當(dāng)用戶對(duì)數(shù)據(jù)庫訪問時(shí)首先檢查用戶的存取權(quán)限。防止不合法用戶對(duì)數(shù)據(jù)庫的存取。 強(qiáng)制存取控制方法:每一個(gè)數(shù)據(jù)對(duì)象被(強(qiáng)制地)標(biāo)以一定的密級(jí),每一個(gè)用戶也被(強(qiáng)制地)授予某一個(gè)級(jí)別的許可證。系統(tǒng)規(guī)定只有具有某一許可證級(jí)別的用戶才能存

64、取某一個(gè)密級(jí)的數(shù)據(jù)對(duì)象。 *解析:自主存取控制中自主的含義是:用戶可以將自己擁有的存取權(quán)限“自主”地授予別人。即用戶具有一定的“自主”權(quán)。 5.SQL語言中提供了哪些數(shù)據(jù)控制(自主存取控制)的語句?請(qǐng)?jiān)嚺e幾例說明它們的使用方法。 答: SQL中 的自主存取控制是通過GRANT 語句和 REVOKE 語句來實(shí)現(xiàn)的。如: GRANT SELECT, INSERT ON Student TO 王平 WITH GRANT OPTION; 就將Student表的SELECT和INSERT權(quán)限授予了用戶王平,后面的“WITH GRANT OPTION”子句表示用戶王平同時(shí)也獲得了“

65、授權(quán)”的權(quán)限,即可以把得到的權(quán)限繼續(xù)授予其他用戶。 REVOKE INSERT ON Student FROM 王平 CASCADE; 就將Student表 的INSERT權(quán)限從用戶王平處收回,選項(xiàng) CASCADE 表示,如果用戶王平將 Student 的 INSERT 權(quán)限又轉(zhuǎn)授給了其他用戶,那么這些權(quán)限也將從其他用戶處收回。 6.今有兩個(gè)關(guān)系模式: 職工(職工號(hào),姓名,年齡,職務(wù),工資,部門號(hào)) 部門(部門號(hào),名稱,經(jīng)理名,地址,電話號(hào)) 請(qǐng)用SQL的GRANT和REVOKE語句(加上視圖機(jī)制)完成以下授權(quán)定義或存取控制功能: (a) 用戶王明對(duì)兩個(gè)表有SELECT

66、權(quán)力; GRANT SELECT ON 職工,部門 TO 王明; (b) 用戶李勇對(duì)兩個(gè)表有INSERT和DELETE權(quán)力; GRANT INSERT,DELETE ON 職工,部門 TO 李勇; (c) *每個(gè)職工只對(duì)自己的記錄有SELECT權(quán)力; GRANT SELECT ON 職工 WHEN USER()= NAME TO ALL; 這里假定系統(tǒng)的GRANT語句支持WHEN子句和USER()的使用。用戶將自己的名字作為ID。注意,不同的系統(tǒng)這些擴(kuò)展語句可能是不同的。讀者應(yīng)該了解你使用的DBMS產(chǎn)品的擴(kuò)展語句。 (d) 用戶劉星對(duì)職工表有SELECT權(quán)力,對(duì)工資字段具有更新權(quán)力; GRANT SELECT,UPDATE(工資) ON 職工 TO 劉星; (e) 用戶張新具有修改這兩個(gè)表的結(jié)構(gòu)的權(quán)力; GRANT ALTER TABLE ON 職工,部門 TO 張新; (f) 用戶周平具有對(duì)兩個(gè)表所有權(quán)力(讀,插,改,刪數(shù)據(jù)),并具

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!