數據庫系統(tǒng)概論習題集[51頁]
《數據庫系統(tǒng)概論習題集[51頁]》由會員分享,可在線閱讀,更多相關《數據庫系統(tǒng)概論習題集[51頁](52頁珍藏版)》請在裝配圖網上搜索。
1、數據庫系統(tǒng)概論習題集 第一章 緒論 一、選擇題 1. DBS是采用了數據庫技術的計算機系統(tǒng),DBS是一個集合體,包含數據庫、計算機硬件、軟件和(c ) 。 A. 系統(tǒng)分析員 B. 程序員 C. 數據庫管理員 D. 操作員 2. 數據庫(DB),數據庫系統(tǒng)(DBS)和數據庫管理系統(tǒng)(DBMS)之間的關系是( a)。 A. DBS包括DB和DBMS B. DBMS包括DB和DBS C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS 3. 下面列出的數據庫管理技術發(fā)展的三個階段中,沒有專門的軟件對數據進行管理的是(d )
2、。 I.人工管理階段 II.文件系統(tǒng)階段 III.數據庫階段 A. I 和 II B. 只有 II C. II 和 III D. 只有 I 4. 下列四項中,不屬于數據庫系統(tǒng)特點的是(c ) 。 A. 數據共享 B. 數據完整性 C. 數據冗余度高 D. 數據獨立性高 5. 數據庫系統(tǒng)的數據獨立性體現(xiàn)在( bo) 。 A.不會因為數據的變化而影響到應用程序 B.不會因為系統(tǒng)數據存儲結構與數據邏輯結構的變化而影響應用程序 C.不會因為存儲策略的變化而影響存儲結構 D.不會因為某些存儲結構的變化而影響其
3、他的存儲結構 6. 描述數據庫全體數據的全局邏輯結構和特性的是( ) 。 A. 模式 B. 內模式 C. 外模式 D. 用戶模式 7. 要保證數據庫的數據獨立性,需要修改的是( ) 。 A. 模式與外模式 B. 模式與內模式 C. 三層之間的兩種映射 D. 三層模式 8. 要保證數據庫的邏輯數據獨立性,需要修改的是( ) 。 A. 模式與外模式的映射 B. 模式與內模式之間的映射 C. 模式 D. 三層模式 9. 用戶或應用程序看到的那部分局部邏輯結構和特征的描述是( ),它是模式的邏輯子集。 A.模式 B. 物理
4、模式 C. 子模式 D. 內模式 10.下述( )不是DBA數據庫管理員的職責 。 A.完整性約束說明 B. 定義數據庫模式 C.數據庫安全 D. 數據庫管理系統(tǒng)設計 選擇題答案: (1) C (2) A (3) D (4) C (5) B (6) A (7) C (8) A (9) C (10) D 二、簡答題 ?。保囀鰯祿祿?、數據庫系統(tǒng)、數據庫管理系統(tǒng)的概念。 數據: 描述事物的符號記錄稱為數據。數據的種類有文字、圖形、圖象、聲音、正文等等。數據與其語義是不可分的。 *解析:
5、 在現(xiàn)代計算機系統(tǒng)中數據的概念是廣義的。早期的計算機系統(tǒng)主要用于科學計算,處理的數據是整數、實數、浮點數等傳統(tǒng)數學中的數據等?,F(xiàn)在計算機能存儲和處理的對象十分廣泛,表示這些對象的 數據也越來越復雜。 數據與其語義是不可分的。500這個數字可以表示一件物品的價格是500元,也可以表示一個學術會議參加的人數有500人。還可以表示一袋奶粉重500克。 數據庫: 數據庫是長期儲存在計算機內、有組織的、可共享的數據集合。數據庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享。 *解析: 簡單地講,數據
6、數據庫數據具有永久儲存、有組織和可共享三個特點。 數據模型是數據庫的核心概念。每個數據庫中數據的都是按照某一種數據模型來組織的。 數據庫系統(tǒng): 數據庫系統(tǒng)(DBS)是指在計算機系統(tǒng)中引入數據庫后的系統(tǒng)構成。數據庫系統(tǒng)由數據庫、數據庫管理系統(tǒng)(及其開發(fā)工具)、應用系統(tǒng)、數據庫管理員構成。 *解析: 數據庫系統(tǒng)和數據庫是兩個概念。數據庫系統(tǒng)是一個人-機系統(tǒng),數據庫是數據庫系統(tǒng)的一個組成部分。但是在日常工作中人們常常把把數據庫系統(tǒng)簡稱為數據庫。希望讀者能夠從人們講話或文章的上下文中區(qū)分“數據庫系統(tǒng)”和“數據庫”。 不要引起混淆。 數據庫管理系統(tǒng)
7、: 數據庫管理系統(tǒng)(DBMS)是位于用戶與操作系統(tǒng)之間的一層數據管理軟件。用于科學地組織和存儲數據、高效地獲取和維護數據。DBMS主要功能包括數據定義功能、數據操縱功能、數據庫的運行管理功能、數據庫的建立和維護功能。 *解析: DBMS是一個大型復雜的軟件系統(tǒng)。是計算機中的基礎軟件。目前,專門研制DBMS的廠商及其研制的DBMS產品很多。著名的有美國IBM公司的DB2關系數據庫管理系統(tǒng)、IMS層次數據庫管理系統(tǒng);美國ORACLE公司的ORACLE關系數據庫管理系統(tǒng);SYBASE公司的SYBASE關系數據庫管理系統(tǒng);美國微軟公司的SQL SERVER關系數據庫管理系統(tǒng)等等
8、。 ?。玻褂脭祿煜到y(tǒng)有什么好處? 使用數據庫系統(tǒng)的好處是由數據庫管理系統(tǒng)的特點或優(yōu)點決定的。 使用數據庫系統(tǒng)的好處很多,例如可以大大提高應用開發(fā)的效率,方便用戶的使用,減輕數據庫系統(tǒng)管理人員維護的負擔等。 為什么有這些好處,可以結合第5題來回答。 使用數據庫系統(tǒng)可以大大提高應用開發(fā)的效率。因為在數據庫系統(tǒng)中應用程序不必考慮數據的定義、存儲和數據存取的具體路徑,這些工作都由DBMS來完成。用一個通俗的比喻,使用了DBMS就如有了一個好參謀好助手,許多具體的技術工作都由這個助手來完成。開發(fā)人員就可以專注于應用邏輯的設計而不必為管理數據的許許多多復
9、雜的細節(jié)操心。 還有,當應用邏輯改變,數據的邏輯結構需要改變時,由于數據庫系統(tǒng)提供了數據與程序之間的獨立性。數據邏輯結構的改變是DBA的責任,開發(fā)人員不必修改應用程序,或者只需要修改很少的應用程序。從而既簡化了應用程序的編制,又大大減少了應用程序的維護和修改。 使用數據庫系統(tǒng)可以減輕數據庫系統(tǒng)管理人員維護系統(tǒng)的負擔。因為DBMS在數據庫建立、運用和維護時對數據庫進行統(tǒng)一的管理和控制,包括數據的完整性、安全性,多用戶并發(fā)控制,故障恢復等等都由DBMS執(zhí)行。 總之,使用數據庫系統(tǒng)的優(yōu)點是很多的,既便于數據的集中管理,控制數據冗余,可以提高數據的利用率和一致性,又有利于應用程
10、序的開發(fā)和維護。讀者可以在自己今后的工作中結合具體應用,認真加以體會和總結。 ?。常囀鑫募到y(tǒng)與數據庫系統(tǒng)的區(qū)別和聯(lián)系。 文件系統(tǒng)與數據庫系統(tǒng)的區(qū)別: 文件系統(tǒng)面向某一應用程序,共享性差、冗余度大,獨立性差,紀錄內有結構、整體無結構,應用程序自己控制。 數據庫系統(tǒng)面向現(xiàn)實世界,共享性高、冗余度小,具有高度的物理獨立性和一定的邏輯獨立性,整體結構化,用數據模型描述,由數據庫管理系統(tǒng)提供數據安全性、完整性、并發(fā)控制和恢復能力。 讀者可以參考《概論》書中表1.1 中的有關內容。 文件系統(tǒng)與數據庫系統(tǒng)的聯(lián)系是: 文件系統(tǒng)與數據庫系統(tǒng)都是
11、計算機系統(tǒng)中管理數據的軟件。 *解析: 文件系統(tǒng)是操作系統(tǒng)的重要組成部分,而DBMS是獨立于操作系統(tǒng)的軟件。但是DBMS是在操作系統(tǒng)的基礎上實現(xiàn)的。數據庫中數據的組織和存儲是通過操作系統(tǒng)中文件系統(tǒng)來實現(xiàn)的。 讀者可以參考書中第十一章《數據庫管理系統(tǒng)》?;蛘哒f,讀者進一步學習數據庫管理系統(tǒng)實現(xiàn)的有關課程(第十一章只是DBMS實現(xiàn)技術的概述)后可以對本題有深入的理解和全面的解答。因為DBMS的實現(xiàn)與操作系統(tǒng)中的文件系統(tǒng)是緊密相關的。例如,數據庫實現(xiàn)的基礎是文件,對數據庫的任何操作最終要轉化為對文件的操作。所以在DBMS實現(xiàn)中數據庫物理組織的基本問題是如何利用或如何選擇操作系
12、統(tǒng)提供的基本的文件組織方法。這里我們就不具體展開了。 ?。矗e出適合用文件系統(tǒng)而不是數據庫系統(tǒng)的例子;再舉出適合用數據庫系統(tǒng)的應用例子。 適用于文件系統(tǒng)而不是數據庫系統(tǒng)的應用例子 數據的備份,軟件或應用程序使用過程中的臨時數據存儲一般使用文件比較合適。 早期功能比較簡單、比較固定的應用系統(tǒng)也適合用文件系統(tǒng)。 適用于數據庫系統(tǒng)而非文件系統(tǒng)的應用例子 目前,幾乎所有企業(yè)或部門的信息系統(tǒng)都以數據庫系統(tǒng)為基礎,都使用數據庫。如一個工廠的管理信息系統(tǒng)(其中會包括許多子系統(tǒng),如庫存管理系統(tǒng)、物資采購系統(tǒng)、作業(yè)調度系統(tǒng)、設備管理系統(tǒng)、人事管理系統(tǒng)等等),還比如
13、學校的學生管理系統(tǒng),人事管理系統(tǒng),圖書館的圖書管理系統(tǒng)等等都適合用數據庫系統(tǒng)。 希望同學們能舉出自己了解的應用例子。 ?。担囀鰯祿煜到y(tǒng)的特點。 數據庫系統(tǒng)的主要特點有: 一、數據結構化 數據庫系統(tǒng)實現(xiàn)整體數據的結構化,這是數據庫的主要特征之一,也是數據庫系統(tǒng)與文件系統(tǒng)的本質區(qū)別。 *解析:注意這里“整體”兩個字。在數據庫系統(tǒng)中,數據不再針對某一個應用,而是面向全組織,具有整體的結構化。不僅數據是結構化的,而且數據的存取單位即一次可以存取數據的大小也很靈活??梢孕〉侥骋粋€數據項(如一個學生的姓名),大到一組記錄(成千上萬個學生記錄)。而在文件系統(tǒng)
14、中,數據的存取單位只有一個:記錄。如一個學生的完整記錄。 二、數據的共享性高,冗余度低,易擴充 數據庫的數據不再面向某個應用而是面向整個系統(tǒng),因此可以被多個用戶、多個應用、用多種不同的語言共享使用。由于數據面向整個系統(tǒng),是有結構的數據,不僅可以被多個應用共享使用,而且容易增加新的應用,這就使得數據庫系統(tǒng)彈性大,易于擴充。 *解析: 數據共享可以大大減少數據冗余,節(jié)約存儲空間,同時還能夠避免數據之間的不相容性與不一致性。 所謂“數據面向某個應用”是指數據結構是針對某個應用設計的,只被這個應用程序或應用系統(tǒng)使用??梢哉f數據是某個應用的“私有資源”。
15、所謂“彈性大”是指系統(tǒng)容易擴充也容易收縮,即應用增加或減少時不必修改整個數據庫的結構,或者只要做很少的修改。 我們可以取整體數據的各種子集用于不同的應用系統(tǒng),當應用需求改變或增加時,只要重新選取不同的子集或加上一部分數據便可以滿足新的需求。 三、數據獨立性高 數據獨立性包括數據的物理獨立性和數據的邏輯獨立性。 數據庫管理系統(tǒng)的模式結構和二級映象功能保證了數據庫中的數據具有很高的物理獨立性和邏輯獨立性。 *解析: 所謂“獨立性”即相互不依賴。數據獨立性是指數據和程序相互不依賴。即數據的邏輯結構或物理結構改變了,程序不會跟著改變。數據與程序
16、的獨立,把數據的定義從程序中分離出去,加上數據的存取又由DBMS負責,簡化了應用程序的編制,大大減少了應用程序的維護和修改。 四、數據由DBMS統(tǒng)一管理和控制 數據庫的共享是并發(fā)的共享,即多個用戶可以同時存取數據庫中的數據甚至可以同時存取數據庫中同一個數據。為此,DBMS必須提供統(tǒng)一的數據控制功能,包括數據的安全性保護,數據的完整性檢查,并發(fā)控制和數據庫恢復。 *解析: DBMS數據控制功能包括四個方面: 數據的安全性保護:保護數據以防止不合法的使用造成的數據的泄密和破壞; 數據的完整性檢查:將數據控制在有效的范圍內或保證數據之間滿足一
17、定的關系; 并發(fā)控制:對多用戶的并發(fā)操作加以控制和協(xié)調,保證并發(fā)操作的正確性; 數據庫恢復:當計算機系統(tǒng)發(fā)生硬件故障、軟件故障,或者由于操作員的失誤以及故意的破壞影響數據庫中數據的正確性,甚至造成數據庫部分或全部數據的丟失時,能將數據庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)(亦稱為完整狀態(tài)或一致狀態(tài))。 下面我們可以得到“什么是數據庫”的一個定義: 數據庫是長期存儲在計算機內有組織的大量的共享的數據集合。它可以供各種用戶共享,具有最小冗余度和較高的數據獨立性。DBMS在數據庫建立、運用和維護時對數據庫進行統(tǒng)一控制,以保證數據的完整性、安全性,并在多用戶同時使用數據
18、庫時進行并發(fā)控制,在發(fā)生故障后對系統(tǒng)進行恢復。 數據庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數據的程序為中心轉向圍繞共享的數據庫為中心的新階段。 ?。叮當祿旃芾硐到y(tǒng)的主要功能有哪些? ?、贁祿於x功能; ?、跀祿嫒」δ?; ?、蹟祿爝\行管理; ④數據庫的建立和維護功能。 7.試述數據模型的概念、數據模型的作用和數據模型的三個要素。 數據模型是數據庫中用來對現(xiàn)實世界進行抽象的工具,是數據庫中用于提供信息表示和操作手段的形式構架。 一般地講,數據模型是嚴格定義的概念的集合。這些概念精確地描述系統(tǒng)的靜態(tài)特性、動態(tài)特性和完整性約束條
19、件。因此數據模型通常由數據結構、數據操作和完整性約束三部分組成。 ?、贁祿Y構:是所研究的對象類型的集合,是對系統(tǒng)的靜態(tài)特性的描述。 ②數據操作:是指對數據庫中各種對象(型)的實例(值)允許進行的操作的集合,包括操作及有關的操作規(guī)則,是對系統(tǒng)動態(tài)特性的描述。 ?、蹟祿募s束條件:是完整性規(guī)則的集合,完整性規(guī)則是給定的數據模型中數據及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數據模型的數據庫狀態(tài)以及狀態(tài)的變化,以保證數據的正確、有效、相容。 *解析: 數據模型是數據庫系統(tǒng)中最重要的概念之一。同學們必須通過《概論》的學習真正掌握 數據模型的概念和作用。
20、 數據模型是數據庫系統(tǒng)的基礎。任何一個DBMS都以某一個數據模型為基礎,或者說支持某一個數據模型。 數據庫系統(tǒng)中模型有不同的層次。根據模型應用的不同目的,可以將模型分成兩類或說兩個層次:一是概念模型,是按用戶的觀點來對數據和信息建模,用于信息世界的建模,強調語義表達能力,概念簡單清晰;另一是數據模型,是按計算機系統(tǒng)的觀點對數據建模,用于機器世界,人們可以用它定義、操縱數據庫中的數據。一般需要有嚴格的形式化定義和一組嚴格定義了語法和語義的語言,并有一些規(guī)定和限制,便于在機器上實現(xiàn)。 8.試述概念模型的作用。 概念模型實際上是現(xiàn)實世界到機器世界的一個中間層次
21、。概念模型用于信息世界的建模,是現(xiàn)實世界到信息世界的第一層抽象,是數據庫設計人員進行數據庫設計的有力工具,也是數據庫設計人員和用戶之間進行交流的語言。 9.定義并解釋概念模型中以下術語: 實體,實體型,實體集,屬性,碼,實體聯(lián)系圖(E-R圖) 實體:客觀存在并可以相互區(qū)分的事物叫實體。 實體型:具有相同屬性的實體具有相同的特征和性質,用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型。 實體集:同型實體的集合稱為實體集。 屬性:實體所具有的某一特性,一個實體可由若干個屬性來刻畫。 碼:唯一標識實體的屬性集稱為碼。 實體聯(lián)系圖:E
22、-R圖提供了表示實體型、屬性和聯(lián)系的方法: 實體型:用矩形表示,矩形框內寫明實體名。 屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來。 聯(lián)系:用菱形表示,菱形框內寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1 : 1,1 : n或m : n)。 10.試給出三個實際部門的E-R圖,要求實體型之間具有一對一,一對多,多對多各種不同的聯(lián)系。 第二章 關系數據庫 一、選擇題 1. 下面的選項不是關系數據庫基本特征的是( )。 A.不同的列應有不同的數據類型 B.不同的列應有不同的列名
23、 C.與行的次序無關 D.與列的次序無關 2. 一個關系只有一個( ) 。 A.候選碼 B. 外碼 C. 超碼 D. 主碼 3. 關系模型中,一個碼是( )。 A.可以由多個任意屬性組成 B.至多由一個屬性組成 C.可有多個或者一個其值能夠唯一表示該關系模式中任何元組的屬性組成 D.以上都不是 4. 現(xiàn)有如下關系: 患者(患者編號,患者姓名,性別,出生日起,所在單位) 醫(yī)療(患者編號,患者姓名,醫(yī)生編號,醫(yī)生姓名,診斷日期,診斷結果) 其中,醫(yī)療關系中的外碼是( )。 A. 患者編號 B
24、. 患者姓名 C. 患者編號和患者姓名 D. 醫(yī)生編號和患者編號 5. 現(xiàn)有一個關系:借閱(書號,書名,庫存數,讀者號,借期,還期),假如同一本書允許一個讀者多次借閱,但不能同時對一種書借多本,則該關系模式的外碼是( )。 A. 書號 B. 讀者號 C. 書號+讀者號 D. 書號+讀者號+借期 6. 關系模型中實現(xiàn)實體間 N:M 聯(lián)系是通過增加一個( ) 。 A.關系實現(xiàn) B. 屬性實現(xiàn) C. 關系或一個屬性實現(xiàn) D. 關系和一個屬性實現(xiàn) 7. 關系代數運算是以( )為基礎的運算 。 A. 關系運算 B. 謂詞演算 C. 集合運算
25、 D. 代數運算 8. 關系數據庫管理系統(tǒng)應能實現(xiàn)的專門關系運算包括( )。 A. 排序、索引、統(tǒng)計 B. 選擇、投影、連接 C. 關聯(lián)、更新、排序 D. 顯示、打印、制表 9. 五種基本關系代數運算是( )。 A.∪ - σ π B.∪ - σ π C.∪ ∩ σ π D.∪ ∩ σ π 10. 關系代數表達式的優(yōu)化策略中,首先要做的是( ) 。 A.對文件進行預處理 B.盡早執(zhí)行選擇運算 C.執(zhí)行笛卡爾積運算 D.投影運算 11. 關系數據庫中的投影操作是指從關系中( ) 。
26、 A.抽出特定記錄 B. 抽出特定字段 C.建立相應的影像 D. 建立相應的圖形 12. 從一個數據庫文件中取出滿足某個條件的所有記錄形成一個新的數據庫文件的操作是( )操作 。 A.投影 B. 聯(lián)接 C. 選擇 D. 復制 13. 關系代數中的聯(lián)接操作是由( )操作組合而成 。 A.選擇和投影 B. 選擇和笛卡爾積 C.投影、選擇、笛卡爾積 D. 投影和笛卡爾積 14. 自然聯(lián)接是構成新關系的有效方法。一般情況下,當對關系R和S是用自然聯(lián)接時,要求R和S含有一個或者多個共有的( ) 。 A.記錄 B. 行 C. 屬性 D
27、. 元組 15. 假設有關系R和S,在下列的關系運算中,( )運算不要求:“R和S具有相同的元數,且它們的對應屬性的數據類型也相同” 。 A.R∩S B. R∪S C. R-S D. RS 16. 假設有關系R和S,關系代數表達式R-(R-S)表示的是( )。 A.R∩S B. R∪S C. R-S D. RS 17. 下面列出的關系代數表達是中,那些式子能夠成立( ) 。 ⅰ. σf1 ( σf2 (E)) = σf1∧f2 (E) ?、? E1∞E2 = E2∞E1 ⅲ. (E1∞E2)∞E3 = E1∞ (E2∞E3)
28、?、? σf1 ( σf2 (E)) =σf2 ( σf1(E)) A.全部 B. ⅱ和ⅲ C. 沒有 D. ⅰ和ⅳ 18. 下面四個關系表達式是等價的,是判別它們的執(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. 有關系SC(S_ID,C_ID,AGE,SCORE),查找年齡大
29、于22歲的學生的學號和分數,正確的關系代數表達式是( ) 。 ?、? π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 (
30、13) B (14) C (15) D (16) A (17) C (18) A (19) D 二、簡答題 1. 試述關系模型的三個組成部分。 2. 試述關系數據語言的特點和分類。 3.設有一個SPJ數據庫,包括S,P,J,SPJ四個關系模式: S( SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供應商表S由供應商代碼(SNO)、供應商姓名(SNAME)、供應商狀態(tài)(S
31、TATUS)、供應商所在城市(CITY)組成;零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成;工程項目表J由工程項目代碼(JNO)、工程項目名(JNAME)、工程項目所在城市(CITY)組成;供應情況表SPJ由供應商代碼(SNO)、零件代碼(PNO)、工程項目代碼(JNO)、供應數量(QTY)組成,表示某供應商供應某種零件給某工程項目的數量為QTY。 試用關系代數完成如下查詢: ?。?) 求供應工程J1零件的供應商號碼SNO; ?。?) 求供應工程J1零件P1的供應商號碼SNO; ?。?) 求供應工程J1零件為紅色的供
32、應商號碼SNO; ?。?) 求沒有使用天津供應商生產的紅色零件的工程號JNO; ?。?) 求至少用了供應商S1所供應的全部零件的工程號JNO。 4. 定義并理解下列術語,說明它們之間的聯(lián)系與區(qū)別: (1)域,笛卡爾積,關系,元組,屬性 (2)主碼,候選碼,外碼 (3)關系模式,關系,關系數據庫 5. 試述關系模型的完整性規(guī)則。在參照完整性中,為什么外碼屬性的值有時也可以為空?什么情況下才可以為空? 6. 試述等值連接與自然連接的區(qū)別和聯(lián)系。 7. 關系代數的基本運算有哪些? 8. 試用關系代數的基本運算來表示其他
33、運算。 第三章 SQL語言 一、選擇題 1. SQL語言是( )的語言,容易學習 。 A.過程化 B. 非過程化 C.格式化 D. 導航式 2. SQL語言的數據操縱語句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最頻繁的語句是( ) 。 A. SELECT B. INSERT C. UPDATE D. DELETE 3. 在視圖上不能完成的操作是( ) 。 A. 更新視圖 B. 查詢 C. 在視圖上定義新的表 D. 在視圖上定義新的視圖 4. SQL語言集數據
34、查詢、數據操縱、數據定義和數據控制功能于一體,其中,CREATE、DROP、ALTER語句是實現(xiàn)哪種功能( )。 A. 數據查詢 B. 數據操縱 C. 數據定義 D. 數據控制 5. SQL語言中,刪除一個視圖的命令是( )。 A.DELETE B.DROP C.CLEAR D.REMOVE 6. 在SQL語言中的視圖VIEW是數據庫的( ) 。 A. 外模式 B. 模式 C. 內模式 D. 存儲模式 7. 下列的SQL語句中,( )不是數據定義語句。 A. CREATE TABLE B. DROP VIE
35、W C. CREATE VIEW D. GRANT 8. 若要撤銷數據庫中已經存在的表S,可用( )。 A. DELETE TABLE S B. DELETE S C. DROP TABLE S D. DROP S 9. 若要在基本表S中增加一列CN(課程名),可用( )。 A.ADD TABLE S(CN 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))
36、 10. 學生關系模式 S( S#,Sname,Sex,Age),S的屬性分別表示學生的學號、姓名、性別、年齡。要在表S中刪除一個屬性“年齡”,可選用的SQL語句是( )。 A. DELETE Age from S B. ALTER TABLE S DROP Age C. UPDATE S Age D. ALTER TABLE S ‘Age’ 11. 有關系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是學生號,SNAME是學生姓名,SAGE是學生年齡, C#是課程號,CNAME是課程名稱。要查詢選修“
37、ACCESS”課的年齡不小于20的全體學生姓名的SQL語句是SELECT SNAME FROM S,C,SC WHERE子句。這里的WHERE子句的內容是( )。 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 CNAME in ‘ACCESS’ C. SAGE in>=20 and CNAME in ‘ACCESS’ D. SAGE>=20 and CNAME=’ ACCES
38、S’ 12. 設關系數據庫中一個表S的結構為S(SN,CN,grade),其中SN為學生名,CN為課程名,二者均為字符型;grade為成績,數值型,取值范圍0-100。若要把“張二的化學成績80分”插入S中,則可用( )。 A. ADD INTO S VALUES(’張二’,’化學’,’80’) B. INSERT INTO S VALUES(’張二’,’化學’,’80’) C. ADD INTO S VALUES(’張二’,’化學’,80) D. INSERT INTO S
39、 VALUES(’張二’,’化學’,80) 13. 設關系數據庫中一個表S的結構為:S(SN,CN,grade),其中SN為學生名,CN為課程名,二者均為字符型;grade為成績,數值型,取值范圍0-100。若要更正王二的化學成績?yōu)?5分,則可用( ) 。 A. UPDATE S SET grade=85 WHERE SN=’王二’ AND CN=’化學’ B. UPDATE S SET grade=’85’ WHERE SN=’王二’ AND CN=’化學’ C. UPDATE grade=85 WHERE S
40、N=’王二’ AND CN=’化學’ D. UPDATE grade=’85’ WHERE SN=’王二’ AND CN=’化學’ 14. 在SQL語言中,子查詢是( ) 。 A. 返回單表中數據子集的查詢語言 B. 選取多表中字段子集的查詢語句 C. 選取單表中字段子集的查詢語句 D. 嵌入到另一個查詢語句之中的查詢語句 15. SQL是一種( )語言。 A. 高級算法 B. 人工智能 C. 關系數據庫 D. 函數型 16. 有關系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#
41、,GRADE)。其中S#是學生號,SNAME是學生姓名,SEX是性別, C#是課程號,CNAME是課程名稱。要查詢選修“數據庫”課的全體男生姓名的SQL語句是SELECT SNAME FROM S,C,SC WHERE子句。這里的WHERE子句的內容是( )。 A.S.S# = SC.S# and C.C# = SC.C# and SEX=’男’ and CNAME=’數據庫’ B.S.S# = SC.S# and C.C# = SC.C# and SEX in’男’and CNAME in’數據庫’ C.SEX ’男’ and CNAME ’ 數據庫’ D.S
42、.SEX=’男’ and CNAME=’ 數據庫’ 17. 若用如下的SQL語句創(chuàng)建了一個表SC: CREATE TABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCORE INTEGER,NOTE CHAR(20));向SC表插入如下行時,( )行可以被插入 。 A.(’201009’,’111’,60,必修) B.(’200823’,’101’,NULL,NULL) C.(NULL,’103’,80,’選修’) D.(’201132’,NULL,86,’ ’) 18. 假設學生關系S
43、(S#,SNAME,SEX),課程關系C(C#,CNAME),學生選課關系SC(S#,C#,GRADE)。要查詢選修“Computer”課的男生姓名,將涉及到關系( )。 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語言的特點。
44、 答: (1)綜合統(tǒng)一。 SQL語言集數據定義語言DDL、數據操縱語言DML、數據控制語言DCL的功能于一體。 ?。?)高度非過程化。用SQL語言進行數據操作,只要提出“做什么”,而無須指明“怎么做”,因此無需了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統(tǒng)自動完成。 (3)面向集合的操作方式。SQL語言采用集合操作方式,不僅操作對象、查找結果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。 ?。?)以同一種語法結構提供兩種使用方式。SQL語言既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨立地用于聯(lián)機交互的使用方式,也能夠
45、嵌入到高級語言程序中,供程序員設計程序時使用。 ?。?)語言簡捷,易學易用。 2. 試述SQL的定義功能。 答: SQL的數據定義功能包括定義表、定義視圖和定義索引。 SQL語言使用CREATE TABLE語句定義建立基本表,;ALTER TABLE語句修改基本表定義,DROP TABLE語句刪除基本表;建立索引使用CREATE INDEX語句建立索引, DROP INDEX語句刪除索引表;SQL語言使用CREATE VIEW命令建立視圖,DROP VIEW語句刪除視圖。 3. 用SQL語句建立第3章習題3中的四個表。 答: 對于S表
46、:S( SNO,SNAME,STATUS,CITY); 建S表 CREATE TABLE S (SNO CHAR(3), SNAME CHAR(10), STATUS CHAR(2), CITY CHAR(10)); P(PNO,PNAME,COLOR,WEIGHT); 建P表 CREATE TABLE P (PNO CHAR(3), PNAME CHAR(10), COLOR CHAR(4), WEIGHT INT); J(JNO,JNAME,CITY)
47、; 建J表 CREATE TABLE J (JNO CHAR(3), JNAME CHAR(10), CITY CHAR(10)); SPJ(SNO,PNO,JNO,QTY); 建SPJ表 CREATE TABLE SPJ (SNO CHAR(3), PNO CHAR(3), JNO CHAR(3), QTY INT); 4. 針對上題中建立的四個表試用SQL語言完成第3章習題3中的查詢。 答: (1) 求供應工程J1零件的供應商號碼SNO; SEL
48、ECT SNO FROM SPJ WHERE JNO=‘J1’; (2) 求供應工程J1零件P1的供應商號碼SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO=‘P1’; ?。?) 求供應工程J1零件為紅色的供應商號碼SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO IN (SELECT PNO FROM P WHERE COLOR=‘紅’); 或
49、 SELECT SNO FROM SPJ,P WHERE JNO=‘J1’ AND SPJ.PNO=P.PNO AND COLOR=‘紅’; ?。?) 求沒有使用天津供應商生產的紅色零件的工程號JNO; 解析: 用SQL語言表示如下: SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN (SELECT SNO FROM S
50、 WHERE CITY=‘天津’) AND PNO IN (SELECT PNO FROM P WHERE COLOR=‘紅’)); 或 SELECT JNO FROM J WHERE NOT EXISTS (SELECT *1 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=‘紅’);
51、 注意:從 J 表入手,以包含那些尚未使用任何零件的工程號。 ?。?) 求至少用了供應商S1所供應的全部零件的工程號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
52、 AND SPJY.JNON=SPJZ.JNO AND SPJY.SNO=’S1’)); AND SPJY.SNO=S1 )); 5. 針對習題3中的四個表試用SQL語言完成以下各項操作: (1)找出所有供應商的姓名和所在城市。 (2)找出所有零件的名稱、顏色、重量。 (3)找出使用供應商S1所供應零件的工程號碼。 (4)找出工程項目J2使用的各種零件的名稱及其數量。 (5)找出上海廠商供應的所有零件號碼。 (6)找出使用上海產的零件的工程名稱。 (7)找出沒有使用天津產的零件的工程號
53、碼。 (8)把全部紅色零件的顏色改成藍色。 (9)由S5供給J4的零件P6改為由S3供應,請作必要的修改。 (10)從供應商關系中刪除S2的記錄,并從供應情況關系中刪除相應的記錄。 (11)請將 (S2,J6,P4,200) 插入供應情況關系。 答: (1) 找出所有供應商的姓名和所在城市。 SELECT SNAME, CITY FROM S; (2) 找出所有零件的名稱、顏色、重量。 SELECT PNAME, COLOR, WEIGHT FROM P; (3) 找出使用供應商S1
54、所供應零件的工程號碼。 SELECT JNO FROM SPJ WHERE SNO=‘S1’; (4) 找出工程項目J2使用的各種零件的名稱及其數量。 SELECT P.PNAME, SPJ.QTY FROM P, SPJ WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2; (5) 找出上海廠商供應的所有零件號碼。 SELECT DISTINCT PNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S
55、 WHERE CITY=上海); (6) 找出使用上海產的零件的工程名稱。 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 S.CITY=上海); (7)
56、 找出沒有使用天津產的零件的工程號碼。 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.J
57、NO AND SPJ.SNO=S.SNO AND S.CITY=‘天津’); (8) 把全部紅色零件的顏色改成藍色。 UPDATE P SET COLOR=藍 WHERE COLOR=紅 ; (9) 由S5供給J4的零件P6改為由S3供應,請作必要的修改。 UPDATE SPJ SET SNO=S3 WHERE SNO=S5 AND JNO=J4 AND PNO=P6; (10) 從供應商關系中刪除S2的記錄,并從供應情況關系中刪除相應的記錄。 DELETE FROM SPJ
58、 WHERE SNO=S2; 或 DELETE FROM S WHERE SNO=S2; 解析:注意刪除順序,應該先從SPJ表中刪除供應商S2所供應零件的記錄,然后從從S表中刪除S2。 (11) 請將 (S2,J6,P4,200) 插入供應情況關系。 INSERT INTO SPJ(SNO, JNO, PNO, QTY) VALUES (S2,J6,P4,200); 或 INSERT INTO SPJ VALUES (S2,P4,J6,200); 6. 什么是基本表?什么是視
59、圖?兩者的區(qū)別和聯(lián)系是什么? 答:基本表是本身獨立存在的表,在SQL中一個關系就對應一個表。 視圖是從一個或幾個基本表導出的表。視圖本身不獨立存儲在數據庫中,是一個虛表。即數據庫中只存放視圖的定義而不存放視圖對應的數據,這些數據仍存放在導出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。 7. 試述視圖的優(yōu)點。 答:(1)視圖能夠簡化用戶的操作。 (2)視圖使用戶能以多種角度看待同一數據。 (3)視圖對重構數據庫提供了一定程度的邏輯獨立性。 (4)視圖能夠對機密數據提供安全保護。
60、 8. 所有的視圖是否都可以更新?為什么? 答:不是。視圖是不實際存儲數據的虛表,因此對視圖的更新,最終要轉換為對基本表的更新。因為有些視圖的更新不能唯一地有意義地轉換成對相應基本表的更新,所以,并不是所有的視圖都是可更新的。如《概論》3.5.1中的視圖S_G(學生的學號及他的平均成績) CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno; 要修改平均成績,必須修改各科成績,而我們無法知道哪些課程成績的變化導致了平均成績的變化。
61、 9. 哪類視圖是可以更新的,哪類視圖是不可更新的? 各舉一例說明。 答:基本表的行列子集視圖一般是可更新的。如《概論》3.5.3中的例1。 若視圖的屬性來自集函數、表達式,則該視圖肯定是不可以更新的。 如《概論》3.5.3中的S_G視圖。 10. 試述某個你熟悉的實際系統(tǒng)中對視圖更新的規(guī)定。 答:(略) 解析:不同的系統(tǒng)對視圖更新的規(guī)定是不同的,讀者必須了解你所用系統(tǒng)對視圖更新的規(guī)定。 11. 請為三建工程項目建立一個供應情況的視圖,包括供應商代碼(SNO)、零件 代碼(PNO)、供應數量(QTY)。針對該視圖完成下列查詢:
62、 (1)找出三建工程項目使用的各種零件代碼及其數量。 (2)找出供應商S1的供應情況。 答:建視圖: CREATE VIEW V_SPJ AS SELECT SNO, PNO, QTY FROM SPJ WHERE JNO= (SELECT JNO FROM J WHERE JNAME=三建); 對該視圖查詢: (1) 找出三建工程項目使用的各種零件代碼及其數量。 SELECT PNO, QTY FROM V_SPJ; (2) 找出供應商S1的供應
63、情況。 SELECT PNO, QTY /* S1供應三建工程的零件號和對應的數量*/ FROM V_SPJ WHERE SNO=S1; 第四章 關系系統(tǒng)及其優(yōu)化 一、選擇題 1.概念模型是現(xiàn)實世界的第一層抽象,這一類最著名的模型是( ) 。 A.層次模型 B. 關系模型 C. 網狀模型 D. 實體-關系模型 2.區(qū)分不同實體的依據是( ) 。 A. 名稱 B. 屬性 C. 對象 D. 概念 3.關系數據模型是目前最重要的一種數據模型,它的三個要素分別為( )。 A.實體完整、參照完整、用戶自定義完整
64、 B.數據結構、關系操作、完整性約束 C.數據增加、數據修改、數據查詢 D.外模式、模式、內模式 4.在( )中一個結點可以有多個雙親,節(jié)點之間可以有多種聯(lián)系。 A.網狀模型 B. 關系模型 C.層次模型 D. 以上都有 5.( )的存取路徑對用戶透明,從而具有更高的數據獨立性、更好的安全保密性, 也簡化了程序員的工作和數據庫開發(fā)建立的工作。 A.網狀模型 B. 關系模型 D.層次模型 D. 以上都有 6.在關系數據庫中,要求基本關系中所有的主屬性上不能有空值,其遵守的約束規(guī)則是( ) 。 A.數據
65、依賴完整性規(guī)則 B. 用戶定義完整性規(guī)則 C.實體完整性規(guī)則 D. 域完整性規(guī)則 選擇題答案: (1) D (2) B (3) B (4) A (5) B (6) C 二、簡答題 1.試述關系模型的三個組成部分。 答:關系模型由關系數據結構、關系操作集合和關系完整性約束三部分組成。 2.試述關系數據語言的特點和分類。 答:關系數據語言可以分為三類: 關系代數語言 例如ISBL 關系演算語言 (元組關系演算語言 例如APLHA,QUEL 和 域關系演算語言 例如QBE) 具有關系代數和關系演算
66、雙重特點的語言 例如SQL 這些關系數據語言的共同特點是,具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高級語言中使用。 3. 定義并理解下列術語,說明它們之間的聯(lián)系與區(qū)別: ?。?)域,關系,元組,屬性 答: 域:域是一組具有相同數據類型的值的集合。 關系:在域D1,D2,…,Dn上笛卡爾積D1D2…Dn的子集稱為關系,表示為 R(D1,D2,…,Dn) 元組:關系中的每個元素是關系中的元組。 屬性:關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域。由于域可 以相同,為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)。 ?。?)主碼,候選碼,外部碼 答: 候選碼:若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼(Candidate key)。 主碼:若一個關系有多個候選碼,則選定其中一個為主碼(Primary key)。 外部碼
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。