




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章選擇題1、A。從數據庫管理系統的角度看,數據庫系統的結構通常分為三級模式的總體結構,在這種模式下,形成了二級映像,實現了數據的獨立性。其中三級模式結構指的是外模式、模式和內模式,二級映像指的是外模式/模式映像、模式/內模式映像。對于外模式/模式映像,當模式改變時,相應的外模式/模式映像作相應的改變,以使外模式保持不變,而應用程序是依據數據的外模式來編寫的,外模式不變,應用程序就沒必要修改,這保證了數據與程序的邏輯獨立性。對于模式/內模式映像,當數據庫的存儲結構變了,模式/內模式映像會作相應的改變,以使模式保持不變,而模式不變,與模式沒有直接聯系的應用程序也不會改變,這保證了數據與程序的物
2、理獨立性。數據邏輯獨立性指的就是當模式改變時,外模式和應用程序不需要改變,所以選項A正確。 C選項的內模式改變,模式不變指的是數據的物理獨立性,所以C選項不正確,B選項中前后兩句與C選項相比順序不符,所以B選項不正確。D選項中,應為“模式和應用程序不變”,不應為“外模式”,所以D選項不正確。2、B。DB指的是數據庫(DataBase),DBMS指的是數據庫管理系統(DataBase Management System),DBS指的是數據庫系統(DataBase System),DBA指的是數據庫管理員(Database Administrator),Data指的是數據。由書中概念易得DBS(數
3、據庫系統)包括DBMS(數據庫管理系統),DBMS管理和控制DB(數據庫),而DB載入、存儲、重組與恢復Data(數據)。所以B選項正確。3、C。數據庫系統的特點有:、實現數據共享;、減少數據冗余度;、保持數據的一致性;、數據的獨立性;、安全保密性;、并發控制;、故障恢復由以上可得C選項錯誤,應改為數據冗余度“低”。4、C。DB是長期儲存在計算機內、有組織的、可共享的大量數據集合;DBS是實現有組織地、動態地存儲大量關聯數據,方便多用戶訪問計算機軟件、硬件和數據資源組成的系統;DBMS是把用戶對數據的操作轉化為對系統存儲文件的操作,有效地實現數據庫三級(外模式、模式和內模式)之間的轉化;MIS
4、指的是管理信息系統(Management Information System),是一個以人為主導,利用計算機硬件、軟件及其他辦公設備進行信息的收集、傳遞、存貯、加工、維護和使用的系統。由以上概念可知,位于用戶和數據庫之間的一層數據管理軟件是DBMS。所以C選項正確。5、C。書中圖1.6明確指出模式/內模式映像把概念數據庫與物理數據庫聯系起來,所以C選項正確。6、C。數據庫有這樣三層關系,第一層和第三層不能直接發生關系,所以D選項不正確,內模式與外模式沒有直接關系,應改為“模式與應用程序不變”。由數據庫的三級模式、兩級映像概念可知,數據的物理獨立性指的是內模式改變,模式(即概念模式)不變,所以
5、C選項正確,而B選項先后順序不正確。A選項指的是數據的邏輯獨立性,與題意不符,故不正確。7、D。模式也稱邏輯模式和概念模式,是數據庫中全體數據邏輯結構和特征的描述,描述現實世界中的實體及其性質與聯系,是所有用戶的公共數據視圖;外模式也稱子模式或用戶模式,它是用以描述用戶看到或使用的數據的局部邏輯結構和特性的,用戶根據外模式用數據操作語句或應用程序去操作數據庫中的數據;內模式也稱存儲模式,是整個數據庫的最底層表示,它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。由以上概念可知,D選項正確。8、A。同第7題答案概念相同,故A選項正確。9、C。同第7題答案概念相同,故C選項正確。10
6、、D。數據庫系統的三級模式提供了兩級映像,而兩級映像實現了二級獨立性,從而達到了數據獨立性。簡答題1、簡述數據管理技術的發展歷程。答:數據管理技術的發展共經歷了三個階段。、人工管理階段20世紀50年代的計算機主要用于科學計算,數據處理都是通過手工方式進行的。當時外存沒有磁盤等直接存取的存儲設備,數據只能存放在卡片或紙帶上;軟件方面只有匯編語言,沒有操作系統,數據的處理是批處理,程序運行結束后數據不保存。這些決定了當時的數據管理主要依賴于人工。、文件系統階段20世紀50年代年代末到60年代中期,計算機技術有了很大的發展,計算機的應用也從科學計算發展到了文檔、工程管理。這時計算機在硬件上有了大容量
7、的磁盤、磁鼓等外存設備;軟件上有了操作系統、高級語言,出現了專門管理數據的文件系統;處理方式上不僅有批處理,還增加了聯機處理方式。、數據庫管理階段20世紀60年代后期,隨著計算機應用越來越廣泛,需要管理的數據規模也日益增長。這時硬件上已有大容量的硬盤出現,處理數據的方式上聯機實時處理的需求也越來越多。在這種背景下,原先的以文件系統管理數據的方式已經不再適應發展的需要,于是人們對文件系統進行了擴充,研制了一種結構化的數據組織和處理方式,才出現了真正的數據庫系統。數據庫為統一管理與共享數據提供了有力支撐,這個時期數據庫系統蓬勃發展形成了有名的 “數據庫時代”。數據庫系統建立了數據與數據之間的有機聯
8、系,實現了統一、集中、獨立地管理數據,使數據的存取獨立于使用數據的程序,實現了數據的共享。2、簡述數據、數據庫、數據庫管理關系、數據庫系統的概念。答:、數據(Data):描述事物的符號記錄,是數據庫的處理對象、數據庫(DataBase,簡稱 DB):長期存放在計算機存儲設備上有組織的、可共享的、相關的數據集合。是數據庫系統DBS的核心,是被管理的對象。、數據庫管理系統(DataBase Management System,簡稱DBMS):把用戶對數據的操作轉化為對系統存儲文件的操作,有效地實現數據庫三級(外模式、模式和內模式)之間的轉化,負責對DB進行管理與維護。、數據庫系統(DataBase
9、 System,簡稱DBS):實現有組織地、動態地存儲大量關聯數據,方便多用戶訪問計算機軟件、硬件和數據資源組成的系統,即具有管理和控制數據庫功能的計算機系統。3、簡述數據庫系統的三級模式和兩級映像的含義。答:從數據庫管理系統的角度看,數據庫系統的結構通常分為三級模式的總體結構,在這種模式下,形成了二級映像,實現了數據的獨立性。其中三級模式結構指的是外模式、模式和內模式,二級映像指的是外模式/模式映像、模式/內模式映像。模式也稱邏輯模式和概念模式,是數據庫中全體數據邏輯結構和特征的描述,描述現實世界中的實體及其性質與聯系,是所有用戶的公共數據視圖;外模式也稱子模式或用戶模式,它是用以描述用戶看
10、到或使用的數據的局部邏輯結構和特性的,用戶根據外模式用數據操作語句或應用程序去操作數據庫中的數據;內模式也稱存儲模式,是整個數據庫的最底層表示,它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。對于外模式/模式映像,當模式改變時,相應的外模式/模式映像作相應的改變,以使外模式保持不變,而應用程序是依據數據的外模式來編寫的,外模式不變,應用程序就沒必要修改,這保證了數據與程序的邏輯獨立性。對于模式/內模式映像,當數據庫的存儲結構變了,模式/內模式映像會作相應的改變,以使模式保持不變,而模式不變,與模式沒有直接聯系的應用程序也不會改變,這保證了數據與程序的物理獨立性。4、什么是數據獨
11、立性?簡述數據庫系統如何實現數據獨立性。答:、數據獨立性包括兩個方面:數據的物理獨立性和數據的邏輯獨立性。物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的,即數據在磁盤上怎樣存儲由DBMS管理,用戶程序不需要了解,應用程序要處理的只是數據的邏輯結構,這樣當數據的物理存儲改變了,應用程序不用改變;邏輯獨立性是指用戶的應用程序與數據庫的邏輯結構是相互獨立的,即當數據的邏輯結構改變時,用戶程序也可以不變。綜上所述,數據獨立性是由DBMS通過用戶程序與數據的全局邏輯結構及數據的存儲結構之間二級映像得到的。 、數據庫系統的二級獨立性是指物理獨立性和邏輯獨立性。三個抽象級間通過兩級映像
12、進行相互轉換,使得數據庫的三級形成一個統一的整體,使得數據庫系統實現了數據的獨立性。5、數據庫管理系統的主要功能有哪些?答:、數據定義功能;、數據操縱功能;、數據組織、存取功能;、數據庫運行管理功能;、數據庫建立與維護功能第二章選擇題1、B。兩個實體間的聯系集可分為3中。、一對一關系(1:1):實體集A中的每個實體有且僅和實體集B中的一個實體有聯系; 、一對多聯系(1:n):實體集A中的每個實體與實體集B中任意多個(含零個或多個)實體有聯系,而實體集B中每個實體至多和實體集A中的一個實體有聯系;、多對多聯系(m:n):實體集A中的每個實體與實體集B中任意多個(含零個或多個)實體有聯系,而實體集
13、B中每個實體也與實體集A中任意多個(含零個或多個)實體有聯系由題意可得,對于班級和學生兩個實體而言,一個班級可以有多個學生,而每個學生只能屬于一個班級,所以班級和學生之間的聯系類型屬于1:n。故B選項正確。2、A。實體:是現實世界中客觀存在并可相互區別的事物。實體集:是具有相同特征或能用相同特征描述的實體的集合。字段:標記實體屬性的命名單位。記錄:字段的有序集合。由以上概念可知,A選項正確。3、C。在信息世界中,數據庫技術用到以下一些術語:、實體:客觀存在的、可以相互區別的事物。、實體集:性質相同的同類實體的集合。、屬性:實體有很多特性,每一個特性稱為一個屬性。、碼:能唯一標識每個實體的屬性或
14、屬性集。由以上概念可知,C選項正確。4、C。每個教研室可以有多個教師,而每個教師只屬于一個教研室,故教研室對教師的聯系是1:n,所以A選項不正確;每個父親可以有多個孩子,而每個孩子只有一個父親,故父親對孩子的聯系是1:n,所以B選項不正確;每個省對應著一個省會,而每一個省會只屬于一個省,故省對省會的聯系是1:1,所以C選項正確;每個供應商可以給多個工程項目供應貨品,而每個工程項目也可以由多個供應商供應貨品,故供應商與工程項目的聯系是m:n,所以D選項不正確。5、A。由題意可得,對于學生和課程兩個實體而言,每個學生可以學多門課程,而每個課程也可以有多個學生學習,故學生與課程的聯系是m:n,故選項
15、A正確。6、A。由第三章關系數據庫中關系的性質一節可知,關系是一種規范化了的二維表格,所以A選項正確。7、A。請注意題目中“分別”兩字,課程號和學號一起作為“選課”關系的主鍵,但是課程號、學號分別為“選課”關系的外鍵。所以A選項正確。8、A。主鍵:有時一個關系中有多個候選碼,這時可以選擇其中一個候選碼作為主鍵,每個關系中都有一個并且只有一個主鍵。所以A選項正確。主鍵不可以去空值,所以C選項不正確。如第7題中,學號為“學生”關系的主鍵,但為“選課”關系的外鍵,所以B選項不正確。如第7題中,課程號和學號一起作為“選課”關系的主鍵,所以D選項不正確。9、C。UML語言有如下幾種關系。、泛化關系:泛化
16、是一般類別事物(稱為父類或超類)和該類別事物的較為特殊的種類(稱為子類或兒子)之間的關系,一般特殊類別間接地具備了一般類別的各種特征。泛化關系是用來表示類與類之間的繼承關系。、依賴關系:依賴關系是一種使用關系,它表示一個模型元素需要另一個模型元素來達到某種目的,供應方的修改會影響客戶方的執行結果。、關聯關系:關聯關系是一種結構關系,它指明一個事物的對象與另一個事物的對象之間的聯系。關聯關系反應了對象之間相互依賴、相互作用的關系。、聚合關系:聚合關系是關聯關系的一種,是強的關聯關系,它構成了一個層次結構。聚合關系中一個類由幾部分類組成,部分類和由它們組成的類之間是一種整體與局部的關系。 學生與課
17、程之間存在選課關系,這既不是繼承關系,也不是使用關系,也不存在整體與局部的關系,只有相互依賴、相互作用的關系,所以C選項正確。10、D。聚合關系是一種特殊形式的關聯關系,它表示類之間的關系是整體與部分的關系。一輛轎車包含四個車輪、一個方向盤、一個發動機和一個底盤,這是聚合的一個例子。在需求分析中,“包含”、“組成”、“分為部分”等經常設計成聚合關系。簡答題1、什么是E-R圖?構成E-R圖的基本元素是什么?答:、E-R圖也稱實體-聯系圖,提供了表示實體類型、屬性和聯系的方法,用來描述現實世界的概念模型,以及描述現實世界中客觀數據對象及其特征、數據對象之間的關聯關系。 、基本元素有:實體集、屬性和
18、聯系。2、簡述E-R圖的設計步驟。答:、確定所有的實體集合 。、選擇實體集應包含的屬性 。、確定實體集之間的聯系。、確定實體集的關鍵字,用下劃線在屬性上表明關鍵字的屬性組合 。、確定聯系的類型,用線將表示聯系的菱形框聯系到實體集時,在線旁注明1或n來表示聯系的類型。3、解釋類的含義,并簡述類的組成元素。答:類是任何面向對象系統的最重要的構造塊。類是對一組具有相同屬性、操作、關系和語義的對象描述。一個類是對作為詞匯表一部分的一些事物的抽象。類不是個體對象,而是描述一些對象的一個完整集合。類的組成元素有類名、屬性和操作。4、簡述類之間的各種關系。答:類之間最重要的有三種關系:、泛化關系:泛化是一般
19、類別事物(稱為父類或超類)和該類別事物的較為特殊的種類(稱為子類或兒子)之間的關系,一般特殊類別間接地具備了一般類別的各種特征。泛化關系是用來表示類與類之間的繼承關系。、依賴關系:依賴關系是一種使用關系,它表示一個模型元素需要另一個模型元素來達到某種目的,供應方的修改會影響客戶方的執行結果。、關聯關系:關聯關系是一種結構關系,它指明一個事物的對象與另一個事物的對象之間的聯系。關聯關系反應了對象之間相互依賴、相互作用的關系。5、用E-R圖和UML語言分別描述學生、課程、教師之間的關系:學生 屬性:學號、姓名、性別、專業 方法:選課課程 屬性:課號、課名教師 屬性:工號、姓名、性別、部門 方法:授
20、課答:E-R圖:UML語言:教師通過課程來達到教育學生的目的,則教師和課程之間為依賴關系;同理,學生通過課程來達到學習的目的,則學生和課程之間為以來關系。教師與學生之間有授課與被授課的關系,則教師和學生之間為關聯關系綜合題1、2、3、E-R圖如下所示,每個實體聯系的屬性即每個“菱形”的屬性第三章選擇題1、D。全碼的定義:若關系中只有一個候選碼,且這個候選碼中包含全部屬性,則該候選碼為全碼。所以D選項正確。2、C。關系有如下幾條性質:、關系中的每一個屬性值都是不可分解的、關系中不允許出現重復行、行列無序、列是同質的,即這一列具有相同的數據類型由以上四點性質可知,C選項正確。3、A。關系的完整性有
21、以下幾條規則:、實體完整性規則:若屬性是基本關系的主碼所包含的屬性,則屬性不能取空值。(注:主碼不能為空,且主碼整體取值也不空)、參照完整性規則:如果屬性集K是關系模式R1的外鍵,同時K也是關系模式R2的屬性,但不是R2的主鍵,那么K為R2的外鍵。在R2關系中,K的取值只允許有兩種可能:、空值;、不為空時,等于R1關系中某個主鍵值。、用戶自定義的完整性規則:用戶針對具體的數據約束,設置完整性規則。 同第二章數據模型課后練習選擇題第八題答案相同,所以A選項正確。4、A。關系數據庫系統是支持關系模型的數據庫系統,故關系數據庫用關系實現數據之間的聯系,所以A選項正確。5、C。在關系中,列是同質的,所
22、以每一列的分量必須是相同的數據類型,故A選項不正確; 在關系中,行、列無序,所以列的順序改變,關系的含義不會發生變化,故B選項不正確; 在關系中,不允許出現重復行,所以任意兩個元祖的對應屬性不允許相同,故C選項正確; 關系的性質中不包含“關系來自笛卡爾積的全部元祖”這條性質,故D選項不正確。6、D。關系代數的操作分為兩類:、傳統的集合操作:并、交、差、笛卡爾積、專門的關系運算:投影、選擇、連接、除法交:假設有關系R和S,R和S的交記為RS,由于RS=R-(R-S),因此交操作不是一個獨立的操作,所以交操作不是一個基本操作。除法:設關系R和S分別為r元和s元關系(設r>s>0),、T
23、=1,2,···,r-s(R);、W=(T×S)-R;、V=1,2,···,r-s(W);、R÷S=T-V所以除法也不是一個獨立的操作,即不是一個基本操作。故把交操作和除運算排除,D選項正確。7、B。組合操作即專門的關系運算,即投影、選擇、連接、除法。故B選項正確。8、C。投影:對一個關系進行垂直分割,消去某些列和重復行,并重新安排列的順序的操作 9、C。笛卡爾積:設關系R和S的元數分別為r和s,則R×S是一個(r+s)元的集合,共有r×s個元祖。因為4+3=7,所以C選項正確。10、B。自然連
24、接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉。設關系R和S的公共屬性是A1,A2,···,AK,則R和S的自然連接步驟為:、計算R×S;、挑選R和S中滿足R.A1=S.A1,···,R. AK=S. AK的那些元祖;、去掉S. A1, S. A2,···,S. AK這些列;題目中已明確指出這兩個關系沒有公共屬性,若進行自然連接首先進行笛卡爾積的運算,而運算后不能刪除具有相同屬性的列,所以實際上就是進行笛卡爾積運算,故B選項正確。A,C(
25、R)為取屬性值為A,C的兩列組成,并消去重復行,所以A選項不正確。 B,D選項不正確,C選項正確。 1,3(R)等價于A,C(R),所以綜合題1、a、如果關系U和V具有不相同的屬性列時,UV的最小和最大元組數量為0; b、如果關系U和V具有相同的屬性列時, 若m>n,則UV的最小元組數量為0,UV的最大元組數量為n; 若m<n,則UV的最小元組數量為0,UV的最大元組數量為m;、a、如果關系U和V具有不相同的屬性列時,UV的最小和最大元組數量為0;b、如果關系U和V具有相同的屬性列時,若m>n,則UV的最小元組數量為m,UV的最大元組數量為m+n; 若m<n,則UV的最
26、小元組數量為n,UV的最大元組數量為m+n; 、UV的最小元組數量為0,UV的最大元組數量為mn;、F(U)×V的最小元組數量為0,F(U)×V的最大元組數量為mn; L(R)-S的最小元組數量為0,L(R)-S的最大元組數量為m。2、3,4(R):, 1,2(S):所以3,4(R)1,2(S)為、3,4(R)-1,2(S)為、A=A2(R)為、第一步先做RS,為第二步找出滿足條件(R.C=S.A)(R.D=S.B)的元組,為、第一步找出R與S相同的屬性列,即C列和D列第二步找出R中剩余兩列A和B的象集,即 A1,B1的象集為C1,D1、C2,D2、C3,D3 A2,B2的
27、象集為C1,D1、C2,D2 A3,B3的象集為C1,D1第三步已知關系S中C列和D列包含的元組為C1,D1、C2,D2,而由第二步可知,A1,B1和A2,B2的象集均包含C1,D1、C2,D2所以,R÷S為、1,2(R)為,1,2(S)為則1,2(R)×1,2(S)為3、 所以(1,2(R)×1,2(S)-R的結果為、C#,CNAME(TEACHER=lIU(C) S#=S3(SSC) S#,SNAME(SEX=男AGE)23(S) CNAME,TEACHER(SNAME(TEACHER=lIU SEX=女(SSCC) C#(C#(C)- SNAME=WANGS
28、.S#=SC.S#(SSC)、S#(、SC) 1=425(SC C#,CNAME(S#, C#(SC)÷S#(S) C) S#,C#(SC)÷C#(TEACHER=LIU(C)解析:除法的物理意義(1)除法的含義:R÷S1表示至少選修S1關系中列出課程的學生的學號和姓名;R÷S2表示至少選修S2關系中列出課程的學生的學號和姓名;(2)求選修所有課的同學姓名:(S、SC、C)說明:針對“全部”特征含義的查詢要求,如“全部”、“至少”、“包含”等字眼,一般要用除法運算。4、 、Ord_no,Pname,Qty,Amount(Cid=C006 (Orders)
29、 Products) Cname(Pid=P01(Orders) ) Customers) Qty>500(Orders)Pid (Price=0.50 (Products) Customers) Pid=P01(Orders) Customers)Cname(Cid(Cname-Cname(Cid,Pid(、Cid,Cname,Aid,Aname,City(CustomersAgents) Orders) S 令Q=CustomersAgents,則S為Q.Cid=Orders.CidQ.Aid=Orders.Aid 、Pid (Cid(city=南京(Customers)×
30、(Aid(city=北京(Agents)Orders) Cid,Pid(Orders)÷Price=1.00 (Products)第四章選擇題1、A。運算符對應的是投影操作,而投影操作是對一個關系進行垂直分割,消去某些列,并重新按排列的操作。則由定義可知,例如2,4(S)表示關系S中的第二列和第四列組成了一個新的關系,新關系的第一列為S中的第二列,新關系的第二列為S中的第四列,由此可知,運算最初的作用就是一個選擇的作用,選擇出被需要的列來組成一個新的關系,故答案A正確。FROM言下之意即為“從···來”,與運算語義不符,故答案B不正確。WHERE代表的是
31、條件,與選擇無關,故答案C不正確。GROUPE BY代表將結果按一定規則進行分組,與運算無任何關系,故答案D不正確。2、C。運算符對應的是選擇操作,而選擇操作是對一個關系進行水平切割,選取符合條件的元組的操作。則由定義可知,運算只選取符合條件的元組,即與WHERE代表的條件相符合,故答案C正確。3、C當我們使用SQL Server Management Studio時可知,當我們輸入一個正確的SELECT語句時,輸出出來的是一個我們需要的表格,所以答案C正確。4、C。在課本4.5.1這節中可知,RDBMS執行CREATE VIEW語句的結果只是把視圖的定義存入數據字典,并不執行其中的SELEC
32、T語句。故答案C正確。5、C。定義視圖:SQL語言用CREATE VIEW 命令建立視圖故答案C正確。6、B。由書4.3.4一節可知,集合操作主要包括并操作、交操作和差操作結果表的列數必須相同,對應項的數據類型也必須相同,所以當兩個子查詢的結果結構完全一致時,才可以執行并、交、差操作,故答案B正確。7、C。HAVING必須和GROUP BY連用,一般結構為:SELECT <目標列> FROM <表名或視圖名>GROUP BY<列名> HAVING<條件表達式>當存在HAVING語句時,GROUP BY語句必須存在,故答案C正確。8、B。由4.3.
33、1中第2項第(4)條字符匹配的查詢可知,“%”代表任意長度(長度可以為0)的字符串,“-”代表任意單個字符。故答案B正確。9、D。已知BETWEEN···AND是閉區間,所以數據是60100的閉區間,故答案D正確。10、A。刪除數據的一般格式:DELETE FROM <表名>WHERE <條件>由4.4.3可知,DELETE語句的功能是從指定表中刪除滿足WHERE子句條件的所有元祖。如果省略WHERE子句,表示刪除表中全部元組,但表的定義仍在數據字典中,即DELETE語句刪除的是表中的數據,而不是關于表的定義。故答案A正確。綜合題1、創建客
34、戶表CustomersCreate table Customers(Cid char(6) primary key,Cname varchar(20) not null,City varchar(20) not null)、創建代理人表AgentsCreate table Agents(Aid char(4) primary key,Aname varchar(20) not null,City varchar(20) not null)、創建產品表ProductsCreate table Products(Pid char(4) primary key,Pname varchar(20) n
35、ot null,Quantity int,Price float(2)、創建訂單表OrdersCreate table Orders(Ord_no char(4) primary key,Months smallint not null,Cid char(5) foreign key references Customers(Cid),Aid char(4) foreign key references Agents(Aid),Pid char(4) foreign key references Products(Pid),Qty int,Amount float(2)2、select c#,
36、cname from Cwhere teacher=LIU、select s#,sname from Swhere sex=男 and age>23第2/5頁、select cname,teacher from Cwhere c# in(select c# from SCwhere s#=S3)、select sname from Swhere sex=女 and s# not in(select distinct s# from SCwhere c# not in(select c# from Cwhere teacher=LIU)、select distinct c# from SC
37、where s# not in(select s# from Swhere sname=WANG)、select distinct a.s# from SC as a,SC as bwhere a.s#=b.s# and a.c#!=b.c#、select c#,cname from cwhere not exists(select * from s where not exists(select * from sc where s#=s.s# and c#=c.c#)、select distinct s# from sc as awhere not exists(select * from
38、c where teacher=LIUand not exists(select * from sc as bwhere b.s#=a.s# and b.c#=a.c#)3、select * from Orderswhere Cid=C006、select distinct Cname from Customers c,Orders owhere c. Cid=o. Cid and Pid=P01、select Cname from Customers c,Orders o,Products pwhere c. Cid=o. Cid and p. Cid=o. Cid and Price=0.
39、50Group by Cnamehaving SUM(Qty) >500、select distinct Cname from Customers c,Orders owhere c. Cid=o.cid and c. Cid not in(select Cid from Orderswhere Pid=P01)、select distinct c. Cid, Cname,a.Aid,Aname,c.Cityfrom Customers c,Agent a,Orders owhere c.Cid=o.Cid and a.Aid=o.Aid and c.City=a.City第3/5頁、s
40、elect distinct Pid from Orders o,Customers c, Agents awhere o.Aid=a.Aid and c.Cid=o.Cid and c.City=南京 and a.City=北京、select distinct c.Cid from Orders o,Customers c,Agents awhere p.Pid=o.Pid and c.Cid=o.Cid and p.Pid in(select Pid from Productswhere Price=1.00)4、select * from Orderswhere Qty between
41、500 and 800、select Pname 產品名稱,Price 單價 from Productswhere Pname like %水%、select * from Orderswhere Cid=(select Cid from Customerswhere Cname=王_) and Months=1Order by Qty desc、select Months 月份,count(*) 訂單數,sum(Qty) 總訂貨數量,sum(Amount)總金額 from OrdersGroup by MonthsOrder by Months desc、select Months from
42、 Orderswhere Cid in(select Cid from Customerswhere City=上海 ) Group by Monthshaving sum(Qty)>200、select sum(Qty) 總訂貨數量,sum(Amount) 總金額from Orderswhere Pid=(select Pid from Productswhere Pname=橡皮)、select distinct o.Cid,Cname from Orders o,Customers cwhere o.Cid=c.Cid and Aid not in(select Aid from
43、Agentswhere City=北京) and Pid not in (select Pid not in (select Pid from Products where Pname=筆袋) 、select Ord_no from Orderswhere Qty>All(select Qty from Orderswhere Months=3)第4/5頁、insert into Productsvalues(P20,粉筆,25000,1.50)、update Productsset Price=Price+0.50where Price=1.00、update Ordersset Qt
44、y=200where Aid=(select Aid from Agentswhere City=上海) and Pid=(select Pid from Products where Pname=筆袋) 、update Ordersset Aid=A05where Aid=A06 and Pid=P01 and Cid=C006、delete from Customerswhere Cid=C006、delete from Orderswhere Pid=(select Pid from Productswhere Pname=尺子) and Months=3、create view Age
45、ntasselect Aid,Pid,Pricefrom Agents,Products、create view productasselect Pname 產品名稱,sum(Qty) 總訂貨數量,sun (Amount) 總金額 from Products p,Orders owhere p.Pid=o.Pid and Price>1.00group by Pname第五章簡答題1、什么是存儲過程?為什么要使用存儲過程?答:、存儲過程的定義:存儲過程是存儲在數據庫服務器中的一組編譯成單個執行計劃的SQL語句。原因:存儲過程可以包含程序控制流、查詢子句、操作字句,還可以接受參數、輸出參數
46、、返回單個值或多個結果集,使用存儲過程有如下優點:、由于存儲過程不像解釋執行的SQL語句那樣在提出操作請求時才進行語法分析和優化,因而運行效率高,它提供了在服務器端快速執行SQL語句的有效途徑;、存儲過程降低了客戶機和服務器之間的通信量。客戶機上的應用程序只要通過網絡向服務器發出存儲過程的名字和參數,就可以讓RDBMS執行多條SQL語句,并執行數據處理,只將最終處理結果返回客戶端;、方便企業實施規則。可以吧企業規則的運算程序寫成存儲過程放入數據庫服務器,由RDBMS管理,既有利于集中控制,又方便維護。當用戶規則發生變化時只要修改存儲過程,無需修改其他應用程序。2、試述觸發器的概念和作用答:概念
47、:觸發器是用戶定義在關系表上的一類由事件驅動的特殊過程,也是一種保證數據完整性的方法。觸發器也可以看做是一類特殊的存儲過程,一旦定義,無須用戶調用,任何對表的修改操作均由服務器自動激活相應的觸發器。作用:能夠實現主鍵和外鍵所不能保證的復雜的參照完整性和數據的一致性。3、什么是INSERTED表和DELETED表?試說明這兩張表的結構。INSERTED表:用于存儲INSERT和UPDATE語句所影響的行的復本,執行INSERT和UPDATE語句時,新的數據行被添加到基本表中,同時這些數據行的備份被復制到INSERTED臨時表中。DELETED表:用于存儲DELETE和UPDATE語句所影響的行的
48、復本,執行DELETE或UPDATE語句時,行從觸發器表中刪除,并傳輸到DELETED表中,DELETED表和元數據表通常沒有相同的行。兩張表的結構:、這兩個表都是邏輯表,并且是由系統管理的,存儲在內存中,不是存儲在數據庫中。因此,不允許用戶直接對其操作。、這兩個表的結構與被該觸發器作用的表有相同的表結構。它們是動態駐留在內存中,當觸發器工作完成,它們也被刪除。、這兩個表主要保存因用戶操作而被影響到的原數據值或新數據值,且是只讀的,可以引用表中的數據,但不能向其寫入內容。4、什么是默認對象和默認值?他們有什么區別?默認對象: 需要用create default語句進行定義,作為一種單獨存儲的數
49、據庫對象,它是獨立于表的,刪除表并不能刪除默認對象,需要使用drop default語句刪除默認對象。默認值:是一種數據庫對象,可以綁定到表的一列或多列上,也可以綁定到用戶自定義的數據類型上,其作用類似于DEFAULT約束,當向表中插入數據,且沒有為列輸入值時,系統自動給列附一個默認值。與DEFAULT不同的是它的使用規則,通過一次定義,可以多次使用。在create table或alter table語句中定義后,被嵌入到定義的表結構中。也就是說,在刪除表的時候默認約束也將隨之被刪除。區別:默認值是用create table語句創建表時,使用default子句為表中的列提供默認值; 默認值對象
50、是用create default語句來創建時,使用時須將它綁定到列上。5、什么是規則?規則和CHECK約束有什么區別?答:、規則是數據庫對存儲在表中的列或用戶自定義數據類型中的值的規定和限制,是單獨存儲的獨立的數據庫對象。、區別:、CHECK約束是在使用CREATE TABLE 語句建表時指定的,而規則是作為獨立于表的數據庫對象,通過與指定表或數據類型綁定來實現完整性約束。、在一列上只能使用一個規則,但可以使用多個CHECK約束、規則可以應用于多個列,還可以應用于用戶自定義的數據類型,而CHECK約束只能應用于它定義的列。綜合題1、create procedure addPricePid ch
51、ar(4) as update Products set Price=Price+0.5 where Pid=Pidexec addPrice Pid=P01(執行過程自定義)、create procedure newRecordPid char(4),Pname varchar(20),Quantity int,Price realas insert into Products values(Pid,Pname,Quantity,Price) exec newRecordPid=P09,Pname=筆記本,Quantity=20,Price=4.50、create procedure tot
52、alQtyexec totalQty Cid=C001,Aid=A01 Cid char(5),Aid char(5) as select sum(Qty) from Orders where Cid=Cid and Aid=Aid2、create trigger insertNewon Productsinstead of insert as declare Pid char(4),Pname varchar(20),Quantity int,Price real第2/3頁select Pid=Pid,Pname=Pname,Quantity=Quantity,Price=Price fro
53、m inserted if Price<0.50 begin set Price=0.50 print 產品單價不得低于0.50元! end insert into Products values (Pid,Pname,Quantity,Price)、當訂貨數量發生變化時,需要用inserted表找到相應的唯一的Pid,因為修改了一個數量,所以inserted表中只有一個Pid,通過這個Pid就能找到相應的Pricecreate trigger changeQtyon Ordersafter updateasdeclare Qty int,Pid char(4) select Qty=Q
54、ty,Pid=Pid from insertedbegin transactionif update(Qty)begin update Orders set Amount=Qty*(select Price from Products where Pid=pid)endcommit transaction第六章選擇題1、A。二元關系二維表,滿足二元關系的一定為BCNF,而不論任何一張表,最少要滿足的是1NF,故答案A正確。2、C。由書6.3一節可知,答案C正確。3、B。由2NF的定義可知,1NF消除了非主屬性對候選碼的部分函數依賴成為了2NF,故答案B正確。4、A。由書6.3.一節可知,規范化
55、的目的是要設計“好的”關系數據庫模式,其基本思想是消除關系模式中的數據冗余,消除數據依賴中的不合適的部分,以解決數據插入、刪除時發生的異常現象,故答案A正確。5、D。已知不論任何一張表,表中的候選鍵可以有1個或多個,但是主鍵必須只有且僅有1個,故答案D正確。6、D。Armstrong公理系統:設關系模式R<U,F>,其中U為屬性集,F是U上的一組函數依賴,則有如下推理規則: 、自反律:若屬性集Y 包含于屬性集X,屬性集X 包含于U,則XY為F所蘊涵。 、增廣律:若XY為F所蘊涵,且屬性集Z 包含于屬性集U,則XZYZ為F所蘊涵。 、傳遞律:若XY,YZ為F所蘊涵,則X Z為F所蘊涵
56、。根據以上三條推理規則又可推出下述三條推理規則:、合并規則:若XY,XZ,則XYZ為F所蘊涵。、偽傳遞律:若XY,WYZ,則XWZ為F所蘊涵。、分解規則:若XY,Z包含于Y,則XZ為F所蘊涵。由以上定義得,答案D正確。7、C。由書6.4.2一節引理6.1可知,假設事件p代表XA1A2···AK,事件q代表XA(ii=1,2,···,k),則p成立的充分必要條件是q成立。那么由題知,q成立同樣也是q成立的充要條件,故答案C正確。8、D。一名顧客可能在同一名供應商那里購買不同的東西,所以顧客姓名和供應商姓名不能作為主鍵,故答案A不正確。一名顧客可能不在同一家商店,卻買了相同的商品,所以顧客姓名和商品名不能作為主鍵,故答案B不正確。一名
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司節假日活動方案
- 公司群工活動方案
- 公司晨會集體活動方案
- 公司每月節日活動方案
- 公司新興活動方案
- 公司生日聚餐活動方案
- 公司新年開班活動方案
- 公司福利拼圖活動方案
- 公司組織打排球活動方案
- 公司現場搶紅包活動方案
- 【低保政策執行過程中產生的消極效果及優化建議分析11000字(論文)】
- 醫院護理培訓課件:《妊娠劇吐的護理查房》
- 深圳小學六年級下冊英語單詞表(帶音標)
- 幼兒園小班數學《圖形王國歷險記》課件
- GB/T 22461.1-2023表面化學分析詞匯第1部分:通用術語及譜學術語
- 造林(喬木林、灌木林、經濟林)單元工程質量評定表(2023版)
- 必修2冊重點知識點提綱 高中地湘教版
- 2023春國開個人與團隊管理1-32章自測試題及答案
- 2023-2024學年四川省涼山州小學數學五年級下冊期末自測試卷
- 微小病變腎病指南解讀
- GB/T 9113-2010整體鋼制管法蘭
評論
0/150
提交評論