數(shù)據(jù)庫系統(tǒng)原理綜合練習(xí)題.doc
《數(shù)據(jù)庫系統(tǒng)原理綜合練習(xí)題.doc》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫系統(tǒng)原理綜合練習(xí)題.doc(49頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第一章 緒論 Ⅰ、學(xué)習(xí)要點 1、準(zhǔn)確掌握數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)等基本術(shù)語、概念; 2、數(shù)據(jù)獨立性的概念、分類及實現(xiàn)途徑; 3、數(shù)據(jù)模型的概念、分類、要素及作用; 4、數(shù)據(jù)庫三級模式體系結(jié)構(gòu)的含義及作用; 5、關(guān)系數(shù)據(jù)模型的三要素內(nèi)容。 Ⅱ、習(xí)題 一、選擇題: 1、使用二維表格結(jié)構(gòu)表達數(shù)據(jù)和數(shù)據(jù)間聯(lián)系的數(shù)據(jù)模型是(C ) A、層次模型 B、網(wǎng)狀模型 C、關(guān)系模型 D、實體—聯(lián)系模型 2、DB、DBS、DBMS間的關(guān)系是(C ) A、DB包括DBMS和DBS B、DBMS包括DB和DBS C、DBS包括DB和DBMS D、DBS與DB和DBMS無關(guān) 3、在數(shù)據(jù)庫中存儲的是( C) A、數(shù)據(jù) B、數(shù)據(jù)模型 C、數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系 D、信息 4、數(shù)據(jù)庫系統(tǒng)中,用( B)描述全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)。 A、外模式 B、模式 C、內(nèi)模式 D、數(shù)據(jù)模式 5、數(shù)據(jù)庫中,導(dǎo)致數(shù)據(jù)不一致的根本原因是(C ) A、數(shù)據(jù)量太大 B、數(shù)據(jù)安全性不高 C、數(shù)據(jù)冗余 D、數(shù)據(jù)完整性約束不強 6、劃分層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫的原則是( D) A、記錄的長度 B、文件的大小 C、聯(lián)系的復(fù)雜程度 D、數(shù)據(jù)及聯(lián)系的表示方式 7、數(shù)據(jù)庫三級模式體系結(jié)構(gòu)的劃分,主要有利于保持數(shù)據(jù)庫的(B ) A、數(shù)據(jù)安全性 B、數(shù)據(jù)獨立性 C、結(jié)構(gòu)規(guī)范化 D、操作可行性 8、數(shù)據(jù)庫系統(tǒng)中,用(A)描述用戶局部數(shù)據(jù)的邏輯結(jié)構(gòu),它是用戶和數(shù)據(jù)庫系統(tǒng)間的接口。 A、外模式 B、模式 C、內(nèi)模式 D、數(shù)據(jù)模式 9、數(shù)據(jù)庫系統(tǒng)中,用( C)描述全部數(shù)據(jù)的物理存儲視圖。 A、外模式 B、模式 C、內(nèi)模式 D、數(shù)據(jù)模式 10、數(shù)據(jù)庫系統(tǒng)中用于定義和描述數(shù)據(jù)庫邏輯結(jié)構(gòu)的語言是(B ) A、DML B、DDL C、DCL D、SQL 11、數(shù)據(jù)庫系統(tǒng)支持的數(shù)據(jù)共享指的是(D ) A、同一應(yīng)用的多個程序共享同一數(shù)據(jù)集合 B、多個用戶、同一語言程序共享同一數(shù)據(jù)集合 C、多個用戶共享同一數(shù)據(jù)文件 D、多種語言、多個用戶、多個應(yīng)用相互覆蓋地使用同一數(shù)據(jù)集合 12、數(shù)據(jù)庫系統(tǒng)中,當(dāng)內(nèi)模式發(fā)生變化時,采用( B)來保證數(shù)據(jù)的物理獨立性。 A、修改模式定義 B、修改模式\內(nèi)模式映像 C、修改應(yīng)用程序 D、修改外模式定義 二、填空題 1、指出下列縮寫的含義: (1)DML 數(shù)據(jù)操縱語言 (2)DBMS 數(shù)據(jù)庫管理系統(tǒng) (3)DDL 數(shù)據(jù)庫系統(tǒng)中用于定義和描述數(shù)據(jù)庫邏輯結(jié)構(gòu)的語言(4)DD (5)DBS 數(shù)據(jù)庫系統(tǒng) (6)DD (7)DBA 數(shù)據(jù)庫管理員 2、數(shù)據(jù)管理技術(shù)經(jīng)歷了(人工處理)、(文件系統(tǒng))、(數(shù)據(jù)庫系統(tǒng))三個階段。 3、DBS組成部分包括(數(shù)據(jù)庫)、(數(shù)據(jù)庫管理系統(tǒng))、(應(yīng)用系統(tǒng))、(數(shù)據(jù)庫管理員)、(用戶)五部分。 4、DBMS是位于(用戶)和(操作系統(tǒng))之間的一層管理軟件。 5、數(shù)據(jù)庫和文件系統(tǒng)的根本區(qū)別是(數(shù)據(jù)的整體結(jié)構(gòu)化)。 6、DBMS提供的數(shù)據(jù)控制功能包括:(數(shù)據(jù)定義)、(數(shù)據(jù)操縱)、(數(shù)據(jù)庫的運行管理)、(數(shù)據(jù)庫的建立和維護)。 7、數(shù)據(jù)庫中,數(shù)據(jù)模型用于(抽象、表示和處理現(xiàn)實世界的數(shù)據(jù)和信息),數(shù)據(jù)模型應(yīng)當(dāng)滿足(能比較真實模擬現(xiàn)實世界)、(能易于為人理解)、(便于在計算機上實現(xiàn) )三方面要求。 8、數(shù)據(jù)模型的三要素包括(數(shù)據(jù)結(jié)構(gòu))、(數(shù)據(jù)操作)、(數(shù)據(jù)的約束條件)。 9、概念模型,也稱為(信息模型),是(按用戶觀點對數(shù)據(jù)和信息建模),主要用于(數(shù)據(jù)庫設(shè)計),與具體的DBMS和機器(無關(guān))。 10、基本數(shù)據(jù)模型,是(按計算機觀點對數(shù)據(jù)建模),主要用于(DBMS的實現(xiàn))。 11、數(shù)據(jù)獨立性是指(用戶應(yīng)用程序和存儲在存儲器中的數(shù)據(jù)庫的數(shù)據(jù)是相互獨立的),可以分為(數(shù)據(jù)邏輯獨立性)和(數(shù)據(jù)物理獨立性)。 12、(數(shù)據(jù)結(jié)構(gòu))用于對系統(tǒng)靜態(tài)特性的描述,(數(shù)據(jù)操作)用于對系統(tǒng)動態(tài)特性的描述 13、數(shù)據(jù)庫系統(tǒng)中人員主要包括(數(shù)據(jù)庫管理員)、(系統(tǒng)分析和數(shù)據(jù)庫設(shè)計員)、(應(yīng)用程序員)和用戶,其中用戶可分為(偶然用戶)、(簡單用戶)、(復(fù)雜用戶)三類。 14、數(shù)據(jù)庫系統(tǒng)的軟件包括(DBMS)、(OS)、(具有與數(shù)據(jù)庫接口的高級語言及其編譯系統(tǒng),便于開發(fā)應(yīng)用程序)、(以DBMS為核心的應(yīng)用開發(fā)工具)、(為特定應(yīng)用環(huán)境開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng))五部分。 三、簡答題 1、什么是數(shù)據(jù)、數(shù)據(jù)處理、數(shù)據(jù)管理、數(shù)據(jù)管理的三個發(fā)展階段是什么? 數(shù)據(jù):科學(xué)實驗、檢驗、統(tǒng)計等所獲得的和用于科學(xué)研究、技術(shù)設(shè)計、查證、決策等的數(shù)值 數(shù)據(jù)處理:利用相應(yīng)的技術(shù)和設(shè)備進行各種數(shù)據(jù)加工的過程。 數(shù)據(jù)管理:是利用計算機硬件和軟件技術(shù)對數(shù)據(jù)進行有效的收集、存儲、處理和應(yīng)用的過程 數(shù)據(jù)管理的三個階段:人工管理、文件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)。 2、什么是數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)的主要功能是什么? 3、什么是數(shù)據(jù)獨立性,數(shù)據(jù)獨立性包括哪兩個方面,數(shù)據(jù)庫系統(tǒng)中如何保證數(shù)據(jù)獨立性? 4、什么是數(shù)據(jù)物理獨立性,如何保證? 5、什么是數(shù)據(jù)邏輯獨立性,如何保證? 6、簡述關(guān)系數(shù)據(jù)模型的三要素的內(nèi)容及關(guān)系模型的優(yōu)缺點。 7、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的區(qū)別和聯(lián)系,以及數(shù)據(jù)庫系統(tǒng)的優(yōu)點? *8、簡述現(xiàn)實世界的事物抽象、組織為某一具體DBMS支持的數(shù)據(jù)模型的過程。 第二章 關(guān)系數(shù)據(jù)庫 Ⅰ、學(xué)習(xí)要點 1、掌握關(guān)系數(shù)據(jù)模型的三要素的內(nèi)容,即數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作和完整性約束的具體內(nèi)容; 2、掌握關(guān)系、關(guān)系模式等基本概念,理解基本關(guān)系的性質(zhì); 3、理解實體完整性約束、參照完整性約束的概念和含義; 4、熟練掌握關(guān)系代數(shù)的運算; *5、掌握簡單的利用關(guān)系代數(shù)表達式表示實際查詢要求的方法。 Ⅱ、習(xí)題 一、 選擇題 1、當(dāng)關(guān)系有多個侯選碼時,則選定一個作為主碼,但若主碼為全碼時應(yīng)包含 D 。 A、單個屬性 B、兩個屬性 C、多個屬性 D、全部屬性 2、在基本的關(guān)系中,下列說法正確的 C 。 A、行類列序有關(guān) B、屬性名允許重名 C、任意兩個元組不允許重復(fù) D、列是非同質(zhì)的] 3、關(guān)系代數(shù)的五個基本操作是 D 。 A、并、交、差、笛卡兒積、除法 B、并、交、選取、笛卡兒積、除法 C、并、交、選取、投影、除法 D、并、交、選取、笛卡兒積、投影 4、關(guān)系代數(shù)四個組合操作是 A 。 A、并、連接、自然連接、除法 B、投影、連接、選取、除法 C、投影、自然連接、選取、除法 D、投影、自然連接、選取、連接 5、關(guān)系R為R(A,B,C,D),則 C 。 A、πA,C(R)為取屬性值為A,C的兩列組成 B、π1,3(R)為取屬性值為1,3的兩列組成 C、π1,3(R)與πA,C(R)是等價的 D、π1,3(R)與πA,C(R)是不等價的 6、б3<‘2’(S)表示 B 。 A、表示從S關(guān)系挑選3的值小于第二個分量的元組 B、表示從S關(guān)系挑選第三個分量小于2的元組 C、表示從S關(guān)系挑選第三個分量小于第二個分量的元組 D、 б3<‘2’(S)是向關(guān)系垂直方向運算 7、R為4元關(guān)系R(A,B,C,D),S為3元關(guān)系S(B,C,D),RS構(gòu)成的結(jié)果集為 C 元關(guān)系。 A、4 B、 3 C、 7 D、 6 8、R為4元關(guān)系R(A,B,C,D),S為3元關(guān)系S(B,C,D),R∞S構(gòu)成的結(jié)果集為 A 元關(guān)系。 A、4 B、 3 C、 7 D、 6 *9、關(guān)系模式S(A,B,C,D),代數(shù)中的б3<‘2’(S)等價于如下的( A )語句。 A、SEKECT * FORM S WHERE C〈 ‘2’ B、SEKECT B,C FORM S WHERE C〈 ‘2’ C、SEKECT B,C FORM S HAVING C〈 ‘2’ D、SEKECT * FORM S WHERE ‘3’〈 B 10、笛卡爾積是( B )進行運算。 A、向關(guān)系的垂直方向 B、向關(guān)系的水平方向 C、既向關(guān)系的垂直方向也向關(guān)系的水平方向 D、先向關(guān)系的垂直方向,然后再向關(guān)系的水平方向 11、自然連接是( C )進行運算。 A、向關(guān)系的垂直方向 B、向關(guān)系的水平方向 C、既向關(guān)系的垂直方向也向關(guān)系的水平方向 D、先向關(guān)系的垂直方向,然后再向關(guān)系的水平方向 12、同一個關(guān)系模型的任兩個元組值___A____。 A、不能全同 B、可全同 C、必須全同 D、以上都不是 13、關(guān)系模型的任何屬性___A____。 A、不可再分 B、可再分 C、命名在該關(guān)系模型式中可以不惟一 D、以上都不是 14、自然連接是構(gòu)成新關(guān)系的有效方法。一般情況下,對關(guān)系R和S使用自然連接時,要求R和S含有一個或多個共有的_____D___。 A、元組 B、行 C、記錄 D、屬性 二、填空題 1、關(guān)系模型由關(guān)系的數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合、關(guān)系的完整性約束三部分組成。 2、關(guān)系的完整性分為實體完整性、參照完整性、用戶定義完整性三類。 3、關(guān)系代數(shù)運算中并、差、笛卡爾積、投影和選擇五個基本運算,其他運算可以從基本的運算中導(dǎo)出。 4、關(guān)系代數(shù)的連接運算中當(dāng)θ為“=”的連接稱之為等差鏈接,且當(dāng)比較的分量是相同的屬性時,則稱為自然連接。 5、在元組演算中,如果φ1 φ2是公式,φ1 ∨φ2 、→φ1也是公式。 6、關(guān)系運算主要有關(guān)系代數(shù)運算、元組演算、域演算三種,在關(guān)系的表達能力上是 可以相互轉(zhuǎn)換。 7、關(guān)系操作的特點是集合操作。 8、關(guān)系數(shù)據(jù)庫中的可命名的最小數(shù)據(jù)單位是屬性名。 9、在一個實體表示的信息中,稱能惟一標(biāo)識實體的屬性或?qū)傩越M為關(guān)鍵字。 10、傳統(tǒng)的集合“并,交,差”運算施加于兩個關(guān)系時,這兩個關(guān)系的屬性個數(shù)必須相等,相對應(yīng)的屬性值必須去取同一個域、 11、已知系(系編號,系名稱,系主任,電話,地點)和學(xué)生(學(xué)號,姓名,性別,入學(xué)日期,專業(yè),系編號)兩個關(guān)系,系關(guān)系的主關(guān)鍵字是系編號,系關(guān)系的外關(guān)鍵字是無,學(xué)生關(guān)系的主關(guān)鍵字是學(xué)號,外關(guān)鍵字是系編號、 三、問答題 1、關(guān)系運算的基本運算有那些?如何用這些基本運算來表示其他的運算? 關(guān)系代數(shù)的五個基本操作為:并 差 笛卡兒積 投影 選擇。其他的操作都可以由5個基本的操作導(dǎo)出,因此它們構(gòu)成了關(guān)系代數(shù)完備的操作集。 ① 兩個關(guān)系R與S的交運算等價于: R∩S=R-(R-S)或 R∩S=S-(S-R) ② 兩個關(guān)系R與S的F(條件)連接運算等價于: R∞S=бF(R*S) ③ 兩個關(guān)系R與S的自然連接運算等價于: 設(shè)R與S的公共屬性為:A1,…AK,從R*中挑選出R、A1=S、A1, …R、AK=S、AK的元組,再去掉S、A1…S、AK,、即可寫出等價的表達式如下: R∞S=лi1…im(бR、A1=S、A1…R、AK=S、AK) ④ 兩個關(guān)系R與S的除法運算等價于: R/S=лX((лX(R)*S)-R) 2、試述笛卡兒積、F連接、等值連接與自然連接有什么區(qū)別? 答:笛卡爾積是一個基本操作,相當(dāng)于將兩個關(guān)系R,S進行無條件的連接操作。而θ連接一個基本操作,相當(dāng)于將兩個關(guān)系R,S進行條件的連接操作。既從R*S中選取滿足θ條件的元組作為新關(guān)系的元組。當(dāng)連接運算符“θ”為“=”時,稱為等值連接。而自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進行比較的分量具有相同的屬性組,并且去掉重復(fù)屬性列 3、敘述等值連接與自然連接的區(qū)別和聯(lián)系. 答:等值連接表示為R∞S,自然連接表示為R∞S;自然連接是除去重復(fù)屬性的等值連接.兩者之間的區(qū)別和聯(lián)系如下: 自然連接一定是等值連接,但等值連接不一定是自然連接 等值連接要求相等的分量,不一定是公共屬性;而自然連接要求相等的分量必須是公共屬性. 等值連接不把重復(fù)的屬性除去;而自然連接要把重復(fù)的屬性除去. 4、設(shè)有如圖2.1所示的關(guān)系R,S和T,計算: ⑴ R1=R∪S ⑵ R2=R-S ⑶ R3=R∞T ⑷ R4=R∞TA<C ⑸ R5=πA(R) ⑹ R6=σA=C(RT) R S A B a b c d e c A B d b d a a c T B C b c b b c d 圖2.1 關(guān)系R,S和T 5、設(shè)有如圖2.2所示的關(guān)系R,S,計算: ⑴ R1=R∞S ⑵ R2= ⑶ R3=σB=d(RS) R S A B C 3 4 7 4 6 5 2 4 7 7 3 3 C D E 3 7 4 2 5 3 圖2.2 關(guān)系R和S 6、設(shè)有如圖2.3所示的關(guān)系R,W和D,計算: (1) R1=πY,T(R) (2) R2=σp>5∧T=e(R) (3) R3=R∞W (4) R4=π[2],[1],[6]( σ[3]=[5](RD)) (5) R5=RD R W D T Y B c c d d d f m n n P Q T Y 2 9 2 9 7 7 b a b a g g c e e d e c d f f e f d T Y C C d f 圖2.3 關(guān)系R,W和D *四、綜合題 1、設(shè)有一個供應(yīng)商、零件、工程項目數(shù)據(jù)庫SPJ,并有如下關(guān)系: S(Sno,Sname,Status,City) J(Jno,Jname,City) P(Pno,Pname,Color,Weight) SPJ(Sno,Pno,Jno,Qty) 其中: S(Sno,Sname,Status,City)分別表示:供應(yīng)商代碼、供應(yīng)商名、供應(yīng)商狀態(tài)、供應(yīng)上所在城市: J(Jno,Jname,City)分別表示:工程號、工程名、工程項目所在城市: P(Pno,Pname,Color,Weight)分別表示:零件代碼、零件名稱、零件的顏色、零件的重量: SPJ(Sno,Pno,Jno,Qty)表示供應(yīng)的情況,由:供應(yīng)商代碼、零件代碼、工程號及數(shù)量組成。 今有具體的關(guān)系如圖2.4所示: S SPJ Sno Sname Status City S1 S2 S3 S4 S5 精 益 盛 錫 東方紅 金 葉 泰 達 20 10 30 10 20 天津 北京 北京 天津 上海 Sno Pno Jno Qty S1 S1 S1 S1 S2 S2 S2 S2 S2 S2 S3 S3 S4 S4 S4 S5 S5 S5 S5 P1 P1 P1 P2 P3 P3 P3 P3 P5 P5 P1 P3 P5 P6 P6 P2 P3 P6 P6 J1 J3 J4 J2 J1 J1 J3 J4 J2 J1 J1 J3 J4 J1 J3 J4 J1 J3 J4 200 100 700 100 400 200 500 400 400 100 200 200 100 300 200 100 200 200 500 P Pno Pname Color Weight P1 P2 P3 P4 P5 P6 螺 母 螺 栓 螺絲刀 螺絲刀 凸 輪 齒 輪 紅 綠 藍 紅 藍 紅 20 12 18 18 16 23 J Jno Jname City J1 J2 J3 J4 J5 三 建 一 汽 造船廠 機車廠 彈簧廠 天 津 長 春 北 京 南 京 上 海 圖2.4 試用關(guān)系代數(shù)、**ALPHA語言、**元組演算語言完成如下查詢: ⑴ 求供應(yīng)工程J1零件的供應(yīng)商的號碼Sno; ⑵ 求供應(yīng)工程J1零件P1的供應(yīng)商的號碼Sno; ⑶ 求供應(yīng)工程J1零件為“紅”的供應(yīng)商的號碼Sno; ⑷ 求沒有使用天津供應(yīng)商生產(chǎn)”紅”色零件的工程號Jno; ⑸ 求至少使用了供應(yīng)商S1所供應(yīng)的全部零件的工程號Jno。 4、解:本題個小題的結(jié)果如圖2.5所示. R1 R2 A B a b c d b d d e c a a e A B a b c D e c R3 R5 A B C c c c A a b c A B B C b c c c b c b c R4 R6 A B B C a a a b b c d d d e e c b c b c b b c c d c d d 5、解:本題個小題的結(jié)果如圖2.6所示. A B C C D E 7 2 3 3 4 5 R2 R1 A B C D E 3 4 7 4 6 5 2 4 7 7 3 3 2 2 4 4 3 3 5 5 R3 A B C C D E 7 4 2 4 3 3 7 3 2 4 3 5 2.6 計算結(jié)果 6、解:本題個小題的結(jié)果如圖2.7所示. R1 R2 Y T d f e c e d P Q T Y 9 7 a g e e f f R3 R4 R5 P Q T Y B 2 2 7 7 b b g g c c c c d d d d m n m n P Q Y B a b g g 2 9 2 7 7 d f f f d P Q 2 7 b g 圖2.7 計算結(jié)果 四、綜合題 解:⑴ 關(guān)系代數(shù):πSNO(πSNO=‘J1‘(SPJ)) ALPHA語言:GET W (SPJ.Sno):SPJ.Sno=’J1’ 元組演算表達式:{t|(u)(SPJ(u) U[3]=’J1’ t[1]=u[1])} ⑵ 關(guān)系代數(shù):πSNO(SNO=‘J1Pno=’p1‘(SPJ)) ALPHA語言:GET W (SPJ.Sno):SPJ.Sno=’J1’SPJ.Pno=’P1’ 元組演算表達式:{t|(u)(SPJ(u)U[3]=’J1’U[2]=’P1’ t[1]=u[1])} ⑶ 關(guān)系代數(shù):πSNO(sno=’p1‘color=‘紅’(P)∞SPJ)) ALPHA語言:RANGE P X GET W (SPJ.Sno): X(X.Pno=SPJ.Snox、color=’紅’ SPJ.Jno=’J1’ 元組演算表達式:{t|(U)(u)(SPJ(u) P(V)U[2]=V[1] V[3]= ’紅’ U[3]=’J1’ t[1]=u[1])} ⑷ 關(guān)系代數(shù) π(SPJ)-πJNO(CITY=‘天津’Color=‘紅’(S∞SPJ∞P )) ALPHA語言:RANGE P X S SX P PX GET W (SPJ.Sno): X SXPX(X.Pno=SX.SnoSX.CITY≠’天津’ X.PNO=PX.Pno=PX.PNOPX.COLOR≠’紅’) 元組演算表達式: {t|(U)(u)(ww)(SPJ(u) P(V)s(w) U[2]=V[1] u[1]= w[1] w[4] ≠ ’天津’ V[3] ≠’紅’ T[1]=u[3])} ⑸關(guān)系代數(shù):πJno.pno(SPJ) πPNO(SNO=‘S1’(SPJ)) ALPHA語言: RANGE SPJ SPJY SPJ SPJY P PX GET W (SPJ.Sno): PX (SPJY(SPJY.Sno=‘S1’ SPJT.Pno=PX.PNO)ЕSPJY(SPJY.JNO=SPJ.JNOSPJY.PNO=PX.PNO )) 元組演算表達式: {t|(U)(u)(w)(PU) SPJ(v) SPJ(W)V(1) =’S1’ U[1]=V[2] w[2] =U[1] w[3]= v[3])t[1]=u[3]} 第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL Ⅰ、學(xué)習(xí)要點 1、掌握 SQL的功能特點和體系結(jié)構(gòu); 2、熟練掌握SQL定義、修改和刪除表、建立視圖、定義索引的方法; 3、熟練掌握利用SQL的SELECT語句表達數(shù)據(jù)查詢要求的方法; 4、掌握如何利用SQL語句表達數(shù)據(jù)的修改、刪除操作。 Ⅱ、習(xí)題 一、 選擇題 1、SQL屬于 A 數(shù)據(jù)庫語言。 A.關(guān)系型 B.網(wǎng)狀型 C.層次型 D.面向?qū)ο笮? 2、當(dāng)兩個子查詢的結(jié)果 B 時,可以執(zhí)行并,交,差操作. A.結(jié)構(gòu)完全不一致 B.結(jié)構(gòu)完全一致 C.結(jié)構(gòu)部分一致 D.主鍵一致 3、SQL中創(chuàng)建基本表應(yīng)使用 B 語句. A.CEARTE SCHEMA B.CEARTE TABLE C.CEARTE VIEW D.CEARTE DATEBASE 4、SQL中創(chuàng)建視圖應(yīng)使用(C )語句. A. CEARTE SCHEMA B.CEARTE TABLE C. CEARTE VIEW D.CEARTE DATABASE *5、視圖創(chuàng)建完畢后,數(shù)據(jù)字典中存放的是( C ). A. 查詢語句 B.查詢結(jié)果 C. 視圖定義 D.所引用的基本表的定義 6、關(guān)系代數(shù)中的л運算符對應(yīng)SELECT語句中的( A )子句. A.SELECT B.FROM C.WHERE D.GROUP BY 7、關(guān)系代數(shù)中的σ運算符對應(yīng)SELECT語句中的( C )子句. A.SELECT B.FROM C.WHERE D.GROUP BY 8、WHERE子句的條件表達式中,可以匹配0個到多個字符的通配符是( B ). A. * B. % C. - D.??? 9、WHERE子句的條件表達式中,可以匹配單個字符的通配符是( C ). A. * B. % C. - D. ? 10、SELECT語句中與HAVING子句同時使用的是( C )子句. A.ORDER BY B.WHERE C.GROUP BY D.無需配合 11、與WHERE G BETWEEN 60 AND 100語句等價的子句是(D ). A. WHERE G>60 AND G<100 B. WHERE G>=60 AND G<100 C. WHERE G>60 AND G<=100 D. WHERE G>=60 AND G<=100 12、SELECT語句執(zhí)行的結(jié)果是( C). A.數(shù)據(jù)項 B.元組 C.表 D.視圖 13、SQL語言具有__B__的功能。 A.關(guān)系規(guī)范化,數(shù)據(jù)操縱,數(shù)據(jù)控制 B。數(shù)據(jù)定義,數(shù)據(jù)操縱,數(shù)據(jù)控制 C.?dāng)?shù)據(jù)定義,關(guān)系規(guī)范化,數(shù)據(jù)控制 D。數(shù)據(jù)定義,關(guān)系規(guī)范化,數(shù)據(jù)操縱 14、SQL語言中,實現(xiàn)數(shù)據(jù)檢索的語句是__A__。 A、SELECT B、INSERT C、UPDATE D、DELETE 15、下列SQL語句中,修改表結(jié)構(gòu)的是__A__ A.ALTER B.CREATE C.UPDATE D.INSERT 二、填空題 1. 非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言是面向?qū)ο蟮?而關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言SQL是面向集合的語言. 2. SQL語言的功能包括數(shù)據(jù)查詢,數(shù)據(jù)操縱,數(shù)據(jù)定義和數(shù)據(jù)控制. 3. SQL以同一種語法格式,提供自含式和自定義兩種使用方式. 4. SELECT語句中, WHERE子句用于選擇滿足給定條件的元組,使用_ GROUP BY子句可按指定列的值分組,同時使用HAVING子句可提取滿足條件的組. 5. 在SQL中,如果希望將查詢結(jié)果排序,應(yīng)在SELECT語句中使用ORDER BY子句,其中ASC選項表示升序, DESC選項表示將序. 6. SELECT語句中進行查詢,若希望查詢的結(jié)果不出現(xiàn)重復(fù)元組,應(yīng)在SELECT子句中使用DESTINCT保留字. 7. 在SQL中,WHERE子句的條件表達式中,字符串匹配的操作符是LIKE;與0個或多個字符匹配的通配符是 % 與單個字符匹配的通配符是 - . 8. 如果外連接符出現(xiàn)在連接條件的右邊稱之為右連接符,出現(xiàn)在連接條件的左邊稱之為左連接符. 9. 子查詢的條件不依賴與父查詢,這類查詢稱之為不相干子查詢,否則稱之為相干子查詢. 10. 若一個視圖是從單個基本表中導(dǎo)出來的,并且只是去掉了基本表的某些行和某些列,但保留了碼,我們稱這類視圖為列子集視圖. 11.SQL是結(jié)構(gòu)化查詢語言。 12.SQL語言的數(shù)據(jù)定義功能包括數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制。 13.視圖是一個虛表,它是從.一個或幾個基本表中導(dǎo)出的表。在數(shù)據(jù)庫中,只存放視圖的定義 不存放視圖的視圖對應(yīng)的數(shù)據(jù)。 三.簡答題 1. 什么是基本表?什么是視圖?兩者的區(qū)別是什么? 答:基本表是獨立存在的表,在SQL中,一個關(guān)系對應(yīng)于一個表,一個表對應(yīng)與一個存儲文件。視圖是在創(chuàng)建時,將其定義存放在存放在數(shù)據(jù)字典中,并不存放視圖對應(yīng)的數(shù)據(jù),因此視圖是從一個或幾個基本表中導(dǎo)出來的,它本身不獨立存儲在數(shù)據(jù)庫中,是一個虛表。兩者的區(qū)別是基本表是獨立存于數(shù)據(jù)庫中,而視圖存放的只是視圖的定義 2. 試述試圖的優(yōu)點. 視圖的優(yōu)點主要有四個方面: 1能夠簡化用戶的操作; 2用戶可以從多種角度看待數(shù)據(jù); 3視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性; 視圖能對機密數(shù)據(jù)提供安全保護 3.所有的視圖都可以更新嗎?為什么? 并不是所有的視圖都可以更新,因為有些視圖的更新不能惟一地有意義地轉(zhuǎn)換成相對應(yīng)的基本表的更新。 4.?dāng)⑹鯯QL語言支持的三級邏輯結(jié)構(gòu)。 5.?dāng)⑹鍪褂肧QL語言實現(xiàn)各種關(guān)系運算的方法。 由Visual FoxPro支持的SQL語言沒有提供關(guān)系的迪卡爾積、交和差運算。其他關(guān)系運算對應(yīng)的SQL語句是: R∪S SELECT語句(生成R) UNION SELECT語句(生成S) 選擇 SELECT* FROM〈表〉 WHERE〈指定選擇的文件〉 投影 SELECT 〈投影字段列表〉 FROM 〈表〉 連接 SELECT 〈連接的字段列表〉 FROM 〈連接的兩個表名〉 WHERE〈連接條件〉 6.設(shè)有圖書登記表TS,具有屬性:BNO(圖書類別)、BNA(書名)、AU(著者)、 PUB(出版社)。按下列要求用SQL語言進行設(shè)計: (1) 按圖書編號BNA建立TS表的索引ITS。 (2) 查詢按出版社統(tǒng)計其出版圖書總數(shù)。 (3) 刪除索引ITS。 *7、三個關(guān)系R、S和T如圖3.3所示。 R S T A B C A D E D F a1 b1 20 a1d1 15 d2 12 a1 b2 22 a2d2 18 d3 13 a2 b1 18 a1d2 24 a2 b3a2 圖3.3關(guān)系R、S和T 試用SQL語句實現(xiàn)如下操作: (1) 將R 、S和T三個關(guān)系按關(guān)聯(lián)屬性建立一個視圖R-S-T; (2) 對視圖R-S-T按屬性A 分組后,求屬性C和E的平均值。 8、有關(guān)系R 和S 如圖3.4所示 R S A B A C a1 b1 a1 40 a2 b2 a2 50 a3 b3 a3 55 圖3.4 關(guān)系R和S 試用SQL語句實現(xiàn): (1) 查詢屬性C>50時,R中與相關(guān)聯(lián)的屬性B之值。 (2) 當(dāng)屬性C=40時,將R 中與之相關(guān)聯(lián)的屬性B值修改為b4。 *9、知R和S兩個關(guān)系如圖3.5所示: R S A B C C D E a1b1 c1 c1 d1e1 a2b2 c2 c2d2e2 a3b3 c2 c3 d3e2 圖3.5 關(guān)系R和S 執(zhí)行如下SQL語句: (1) CREATE SQL VIEW H(A,BC,C,D,E) AS SELECT A, B, R.C, D, E FEOM R, S WHERE R.C=S.C; (2) SELECT B , D, E FROM H WHERE C=’C2’ 試給出:(1)視圖H; (2)對視圖H的查詢結(jié)果 10.已知學(xué)生表S和學(xué)生選課表SC。其關(guān)系模式如下: S(SNO,SN,SD,PROV) SC(SNO,CN,GR) 其中,SNO為學(xué)號,SN為姓名,SD為系名,PROV為省區(qū),CN為課程名,GR為分數(shù)。 試用SQL語句實現(xiàn)下列操作: (1) 查詢“信息系”的學(xué)生來自哪些省區(qū)。 (2) 按分數(shù)降序排列,輸出“英語系”學(xué)生選修了“計算機”課程的學(xué)生的姓名和分數(shù)。 *四. 綜合題 1. 用SQL為供銷數(shù)據(jù)庫(圖2_17)創(chuàng)建四個表:供應(yīng)商,零件,工程項目,供應(yīng)情況. 2. 請為三建工程項目建立一個供應(yīng)商情況的視圖,包括供應(yīng)商號Sno,零件號Pno,數(shù)量號Qty.針對該視圖完成如下查詢: (1) 找出三建工程項目使用各種零件代碼及數(shù)量; (2) 找出供應(yīng)商S1的供應(yīng)情況. 3. 根據(jù)本章習(xí)題四中的第一小題建立的表,用SQL語言完成以下操作: (1) 把對S的INSERT權(quán)限授予用戶張勇,并允許他將此權(quán)限授予其他用戶; (2) 把對SPJ表和修改QTY屬性的權(quán)限授予用戶李天明. 4. 對本章習(xí)題四中的第一小題用SQL語言完成以下操作: (1) 找出所有供應(yīng)商的姓名和所在城市; (2) 找出所有零件的名稱,顏色和重量; (3) 找出使用供應(yīng)商S1所供應(yīng)零件的工程號碼; (4) 找出工程項目J2使用的各種零件的名稱及其數(shù)量; (5) 找出上海廠商供應(yīng)的所有零件號碼; (6) 找出使用上海產(chǎn)的零件的工程的名稱; (7) 找出沒有使用天津產(chǎn)的零件的工程號碼; (8) 把全部紅色零件的顏色改為藍色; (9) 有S5供給J4的零件P6改為由S3供應(yīng),請做必要的修改; (10)從供應(yīng)商關(guān)系中刪除S2記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄; (11) 請將(S2,J6,P4,200)插入供應(yīng)情況關(guān)系. Ⅲ、答案 4.答:SQL語言支持的三級邏輯結(jié)構(gòu)如圖3.1所示 : 用戶 SQL - 視圖1 視圖2 外層 ------------------------------------------------------------------------------------------------------------- 基本表1 基本表2 基本表3 基本表4 概念層 --------------------------------------------------------------------------------------------------------- 存儲文件s1 存儲文件s2 存儲文件s3 存儲文件s4 內(nèi)層 圖 3.1 SQL語言支持的三級結(jié)構(gòu) 在概念層,對應(yīng)概念模式的概念記錄型的基本表?;颈硎沁@樣的一種表,它本身實際存在,在Visual FoxPro 中沒個表在存儲中可用一個存儲文件來表示(在ORACLE中多個表存儲在一個文件中),一個基本表就是一個關(guān)系,它不是由其他表導(dǎo)出的表。基本表是使用CREATE TABLE語句建立的。 在外層,用戶所看到的可以是基本表,也可以是視圖。視圖是一個虛擬表,它是由一個或幾個基本表導(dǎo)出的表,它不直接存在與物理存儲器上的表。視圖是使用CREATE SQL VIEW語句建立的。在內(nèi)層,每個基本表用一個存儲文件來表示,即用一組類型相同的存儲記錄值來表示。DBA可以對物理存儲文件進行操作。 6.(1)USE TS INDEX ON BNO TO ITS (2)SELECT PUB,COUNT(BNO) FROM TS GROUP BY PUB (3)DELETE FILE ITS.IDX 7.(1)CREATE SQL VIEW R-S-T AS SELECT R.A,B,C,S.D,E,F(xiàn) FROM R,S,T WHERE R.A=S.A AND S.D=T.D (2)SELECT AVG(C),A AVG(E) FROM R-S-T GROUP BY A 8.(1)SELECT B FROM R,S WHERE R.A=S.A AND C>50 (2)UPDATE R SET B =‘b4’ WHERE A IN (SELECT A FROM S WHERE C=40) 9.本題結(jié)果如圖3.6所示: 視圖H 對視圖H的查詢結(jié)果 A B C D E B D E a1 b1 c1 d1 e1 b1 d2e2 a2 b2 c2 d2 e2 b2 d2e2 a3 b3c3 d3e3 圖3.6 視圖H及其查詢結(jié)果 10.(1)SELECT DISDINCT PROV FROM S WHERE SD=“信息系” (2)SELECT SN,GR FROM S,SC WHERE SD=“英語系”AND CN=“計算機”AND S.SNO=SC.SNO ORDER BY GR DESC: 四.綜合題 1.設(shè)有一個供應(yīng)商,零件,工程項目,供應(yīng)情況數(shù)據(jù)庫SPJ,并有如下關(guān)系: 供應(yīng)商關(guān)系模式S為S(Sno,Sname,Status,City)其中屬性的含義分別為:供應(yīng)商代碼,供應(yīng)商名,供應(yīng)商狀態(tài),供應(yīng)上所在城市; CREATE TABLE S(Sno CHAR(3) NOT NULL UNIQUE, Sname CHAR(30) UNIQUE, Status CHAR(8), City CHAR(20)); 零件關(guān)系模式J為J(Jno,Jname,City)其中屬性的含義分別為:工程號,工程名,工程項目所在城市; CREATE TABLE J(Jno,CHAR(4) NOT NULL UNIQUE, Jname CHAR(30), City CHAR(20)); 工程項目關(guān)系模式P為P(Pno,Pname,Color,Weight)輕重屬性的含義分別為:零件代碼,零件名稱,零件的顏色,零件的重量; CREATE TABLE P(Pno CHAR(3) NOT NULL UNIQUE, Pname CHAR(20), Color CHAR (2) Weight INT); 供應(yīng)情況關(guān)系模式SPJ為SPJ(Sno CHAR(3) NOT NULL, Pno CHAR(3) NOT NULL, Jno CHAR(4) NOT NULL, Qty INT, PRIMARY KEY (Sno,Pno,Jno), FPREIGNKEY(Sno) REFERENCES S(Sno), FPREIGNKEY(Pno) REFERENCES P(Pno), FPREIGNKEY(Jno) REFERENCES J(Jno), 上例中,“PRIMARY KEY ”定義的關(guān)系中的主碼,“FOREIGNKEY REFERENCES”定義關(guān)系中的外碼。 2.答:三建工程項目建立一個供應(yīng)商情況的視圖如下: CREATE VIEW V-SP AS SELECT Sno,Pno.Qty FROM SPJ WHERE Jno IN (SELECT Jno FROM J WHERE Jname=‘三建’) (1) 找出三建工程項目使用各種零件代碼及數(shù)量; SELECT Pno,Qty FROM V—SPJ (2) 找出供應(yīng)商S1的供應(yīng)情況 SELECT * FROM V—SPJ WHERE SNO =‘S1’ 3.解 (1) GRANT INSERT ON TABLE S TO 張勇 WITH GRANT OPTION; (2) GRANT UPDATE(Qty)ON TABLE SPJ TO 李天明 4.解 (1) SELECT Sname ,City FROM S; (2) SELECT Pname ,Color,Weight FROM P; (3) SELECT DISTINCT(Jno) FROM SPJ; WHERE Sno=’S1’ (4)方法一: SELECT Jname,Q ty FROM P,SPJ WHERE P.pno=SPJ.pno AND SPJ.jno=’j2’; 方法二:SELECT Jname,Qty FROM P WHERE pno IN (SLEECT Pno FEOM SPJ WHERE jno=‘j2‘); (5)找出上海廠商供應(yīng)的所有零件號碼。 方法1:(聯(lián)結(jié)查詢) SELECT Disdinct(Pno) FROM S,SPJ WHERE S.sno=SPJ.snoAND S.city=‘上海‘; 方法2:(嵌套查詢) SELECT Distinct(Pno) FROM SPJ WHERE Sno IN (SELECT Pno FROM S WHERE City=‘上海‘); (6)找出使用上海產(chǎn)的零件工程的名稱。 方法1:(聯(lián)結(jié)查詢) SELECT Jname FROM S,SPJ,J WHERE J.jno=SPJ.jno AND S.sno= SPJ.snoAND S.city=‘上海‘; 方法2:(嵌套查詢) SELECT Jname FROM J WHERE Jno IN (SELECT Sno FROM S WHERE City=‘上?!? (7)找出沒有使用天津產(chǎn)的零件的工程的號碼。 方法 1:(聯(lián)結(jié)查詢) SELECT Jno FROM S,SPJ WHERE S.sno=SPJ.sno AND S.city<>’天津’; 方法 2:(嵌套查詢) SELECT Jno FROM SPJ WHERE Sno IN (SELECT Sno FROM S WHERE City<>’天津’); (8)解: Update P SET Color=’藍’ Where Color=’紅’; (9)解: Update SPJ SET Sno=’S3’ Where Sno=’S5’AND Jno=’j4’AND Pno=’P6’; (10) 解: DELETE FROM S Where Sno=’S2’; DELETE FPOM SPJ Where Sno=’S2’; (11) 解: INSERT INTO SPJ VALUES (‘S2’,’J6’,’P4’,200); 第四章 關(guān)系數(shù)據(jù)理論 Ⅰ、學(xué)習(xí)要點 1、理解函數(shù)依賴的概念和Armstrong公理系統(tǒng)的基本內(nèi)容; 2、理解關(guān)系模式規(guī)范化的概念、理由和方法; 3、熟練掌握各級范式的定義和判斷方法; *4、熟練掌握關(guān)系模式的侯選碼、最小函數(shù)依賴集的求法; *5、熟練掌握關(guān)系模式中屬性的閉包的求法; *6、理解模式分解的概念,掌握無損連接、保持函數(shù)依賴的概念及判斷方法; *7、掌握簡單的關(guān)系模式的分解。 Ⅱ、習(xí)題 一、選擇題 1、 系規(guī)范中的刪除操作異常是指①A ,插入操作異常是指②B。 A、不該刪除的數(shù)據(jù)被刪除 B、不該插入的數(shù)據(jù)被插入 C、應(yīng)該刪除的數(shù)據(jù)未被刪除 D、應(yīng)該插入的數(shù)據(jù)未被插入 2、設(shè)計性能較優(yōu)的關(guān)系模式稱為規(guī)范化,規(guī)范化主要的理論依據(jù)是 A 。 A、關(guān)系規(guī)范化理論 B、關(guān)系運算理論 C、關(guān)系代數(shù)理論 D、數(shù)理邏輯 3、規(guī)范化理論是關(guān)系數(shù)據(jù)庫進行邏輯設(shè)計的理論依據(jù)。根據(jù)這個理論,關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足:其每一屬性都是 B 。 A、互不相關(guān)的 B、不可分解的 C、長度可變的 D、互相關(guān)聯(lián)的 4、關(guān)系數(shù)據(jù)庫規(guī)范化是為解決關(guān)系數(shù)據(jù)庫中 A 問題而引入的。 A、插入、刪除和數(shù)據(jù)冗余 B、提高查詢速度 C、減少數(shù)據(jù)操作的復(fù)雜性 D、保證數(shù)據(jù)的安全性和完整性 5、規(guī)范化過程主要為克服數(shù)據(jù)庫邏輯結(jié)構(gòu)中的插入異常,刪除異常以及 C 的缺陷。 A、數(shù)據(jù)的不一致性 B、結(jié)構(gòu)不合理 C、冗余度大 D、數(shù)據(jù)丟失 6、當(dāng)關(guān)系模式R(A,B)屬于3NF,下列說話中 B 是正確的。 A、它一定消除了插入和刪除異常 B、仍存在一定的插入和刪除異常 C、一定屬于BCNF D、A和C都是 7、關(guān)系模型中的關(guān)系模式至少是 A 。 A、1NF B、2NF C、3NF D、BCNF 8、在關(guān)系DB中,任何二元關(guān)系模式的最高范式必定是 D 。 A、1NF B、2NF C、3NF D、BCNF 9、在關(guān)系模式R中,若其函數(shù)依賴集中所有候選關(guān)鍵字都是決定因素,則R最高范式是 C 。 A、2NF B、3NF C、4NF D、BCNF *10、當(dāng)B屬于函- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
5 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)庫 系統(tǒng) 原理 綜合 練習(xí)題
鏈接地址:http://m.jqnhouse.com/p-13152165.html