




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第1章 緒論 習題參考答案1、試述數據、數據庫、數據庫管理系統、數據庫系統的概念。(3、4、5頁)答:描述事物的符號記錄稱為數據;數據庫是長期儲存在計算機內的、有組織的、可共享的數據集合;數據庫管理系統是位于用戶與操作系統之間的一層數據管理軟件; 數據庫系統是指在計算機系統中引入數據庫后的系統,一般由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員和用戶構成。2使用數據庫系統有什么好處?(12頁)答:數據庫系統使信息系統從以加工數據的程序為中心轉向圍繞共享的數據庫為中心的階段,這樣既便于數據的集中管理,又有利于應用程序的研制和維護,提高了數據的利用率和相容性,提高了決策的可靠性。
2、3試述文件系統與數據庫系統的區別和聯系。(8、9、10頁)答:1)數據結構化是數據庫與文件系統的根本區別。在文件系統中,相互獨立的文件的記錄內部是有結構的,管其記錄內部已有了某些結構,但記錄之間沒有聯系。數據庫系統實現整體數據的結構化,是數據庫的主要特征之一。2)在文件系統中,數據的最小存取單位是記錄,粒度不能細到數據項。而在數據庫系統中,存取數據的方式也很靈活,可以存取數據庫中的某一個數據項、一組數據項一個記錄或或一組記錄。3)文件系統中的文件是為某一特定應用服務的,文件的邏輯結構對該應用程序來說是優化的,因此要想對現有的數據再增加一些新的應用會很困難,系統不容易擴充。而在數據庫系統中數據不
3、再針對某一應用,而是面向全組織,具有整體的結構化。5試述數據庫系統的特點。(9、10、11頁)答:數據結構化;數據的共享性高、冗余度低、易擴充;數據獨立性高;數據由DBMS統一管理和控制。6數據庫管理系統的主要功能有哪些? (4頁)答:數據定義功能、數據操縱功能、數據庫的運行管理、數據庫的建立和維護功能。7試述數據模型的概念(13頁)、數據模型的作用、數據模型的三個要素。(14、15頁)答:數據模型(Data Model)也是一種模型,它是現實世界數據特征的抽象。作用:在數據庫中用數據模型來抽象、表示和處理現實世界中的數據和信息。通俗地講數據模型就是現實世界的模擬,現有的數據庫系統均是基于某種
4、數據模型的。三個要素:數據模型由數據結構、數據操作和完整性約束三部分組成。8、概念模型的作用(15頁)答:概念模型用于信息世界的建模,是現實世界到信息世界的第一層抽象,是數據庫設計人員進行數據庫設計的有力工具,也是數據庫設計人員和用戶之間進行交流的語言,因此概念模型一方面應該具有較強的語義表達能力,能夠方便、直接地表達應用中的各種語義知識,另一方面它還應該簡單、清晰、易于用戶理解。9、定義并解釋概念模型中以下術語(P16頁)。實體、實體型、實體集、屬性、碼、實體聯系圖(E-R圖) 10試給出三個實際部門的E_R圖,要求實體型之間具有一對一,一對多,多對多各種不同的聯系。 一對一:學員和座位的關
5、系.(滿員)座位學員聯系1 1一對多 : 值班醫生和病人的關系.病人值班醫生聯系1 n多對多:聯系營業員顧客m n 11試給出一個實際部門的E-R圖,要求有三個實體型,而且三個實體型之間有多對多聯系。三個實體型之間的多對多聯系和三個實體型兩兩之間的三個多對多聯系等價嗎? 為什么 ? (17頁)12學校中有若干系,每個系有若干班級和教研室,每個教研室有若干教員,每個班有若干學生,每個學生選修若干課程,每門課可由若干學生選修。請用E-R圖畫出此學校的概念模型。(20頁例題)零件產品構成13某工廠生產若干產品,每種產品由不同的零件組成,有的零件可用在不同的產品上。這些零件由不同的原材料制成,不同零件
6、所用的材料可以相同。這些零件按所屬的不同產品分別放在倉庫中,原材料按照類別放在若干倉庫中。請用E-R圖畫山此工廠產品,零件,材料,倉庫的概念模型。 m n p存儲存儲 m r n原材料倉庫制成 n k14試述層次模型的概念,舉出三個層次模型的實例。(22頁)答:層次模型是數據庫系統中最早出現的數據模型,層次數據庫系統采用層次模型作為數據的組織方式。層次模型是用樹形結構來表示各類實體以及實體間的聯系的數據模型。例題:15今有一個層次數據庫實例,試用子女-兄弟鏈接法和層次序列鏈接法畫出它的存儲結構示意圖。(見P26頁圖1.23) 鄰接法如下:(P25頁)A1B1C3C8C10B2C12D2D3D4
7、C1416試述網狀模型的概念,舉出三個網狀模型的實例。(27頁)答: 把滿足以下兩個條件的基本層次聯系集合稱為網狀模型:(1)允許一個以上的結點無雙親。(2)一個結點可以有多于一個的雙親。例: 1) 網狀模型的兩個結點之間有多種聯系父母人子女樹種植砍伐養育贍養2) 學生/課程/選課的網狀數據庫模式:17試述網狀、層次數據庫的優缺點。(26、30頁)答:網狀數據模型的優點主要有:(1)能夠更為直接地描述現實世界,如一個結點可以有多個雙親。(2)具有良好的性能,存取效率較高。網狀數據模型的缺點主要有:(1)結構比較復雜,而且隨著應用環境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握。(2
8、)其數據定義語言(DDL)、數據操作語言(DML)復雜,用戶不容易使用。(3)數據獨立性較差。由于記錄之間聯系是通過存取路徑實現的,應用程序在訪問數據時必須選擇適當的存取路徑,因此,用戶必須了解系統結構的細節,加重了編寫應用程序的負擔。從而影響數據獨立性。層次模型的優點主要有:(1)層次數據模型本身比較簡單,層次分明,便于在計算機內實現。(2)在層次數據結構中,從根結點到樹中任一結點均存在一條唯一的層次路徑,為有效地進行數據操縱提供條件。(3)由于層次結構規定除根結點外所有結點有且僅有一個雙親,故實體集之間的聯系可用雙親結點唯一地表示,并且層次模型中的基本層次聯系總是從雙親記錄指向子女記錄,所
9、以記錄類型之間的聯系名可省略。由于實體集間的聯系固定,所以層次模型DBMS對層次結構的數據有較高的處理效率。(4)層次數據模型提供了良好的完整性支持。(5)實體間聯系是固定的,且預先定義好的應用系統,采用層次模型來實現,其性能優于關系模型,不低于網狀模型。可見用層次模型對具有一對多的層次關系的部門描述非常自然、直觀,容易理解。這是層次數據庫的突出優點。層次模型的缺點主要有:(1)現實世界中很多聯系是非層次性的,如多對多聯系、一個結點具有多個雙親等,層次模型表示這類聯系的方法很笨拙,只能通過引入冗余數據(易產生不一致性)或創建非自然的數據組織(引入虛擬結點)來解決。(2)對插入和刪除操作的限制比
10、較多。(3)查詢子女結點必須通過雙親結點。(4)由于結構嚴密,層次命令趨于程序化。18試述關系模型的概念,定義并解釋以下術語:(P31頁) (1)關系 (2)屬性 (3)域 (4)元組 (5)主碼 (6)分量 (7)關系模式19試述關系數據庫的特點。(32頁)20試述數據庫系統三級模式結構,這種結構的優點是什么?(33、35頁)數據庫系統的三級模式結構是指數據庫系統是由外模式、模式和內模式三級構成。數據庫系統的三級模式是對數據的三個抽象級別,它把數據的具體組織留給DBMS管理,使用戶能邏輯地抽象地處理數據,而不必關心數據在計算機中的具體表示方式與存儲方式。為了能夠在內部實現這三個抽象層次的聯系
11、和轉換,數據庫管理系統在這三級模式之間提供了兩層映象:l 外模式模式映象l 模式內模式映象正是這兩層映象保證了數據庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性。22什么叫數據與程序的物理獨立性?什么叫數據與程序的邏輯獨立性?為什么數據庫系統具有數據與程序的獨立性? (35、36頁)當數據庫的存儲結構改變了(例如選用了另一種存儲結構),由數據庫管理員對模式內模式映象作相應改變,可以使模式保持不變,從而應用程序也不必改變。保證了程序與數據的物理獨立性,簡稱數據的物理獨立性。當需要改變模式時(例如增加新的關系、新的屬性、改變屬性的數據類型、改變數據間的聯系等),由數據庫管理員對各個外模式模式的
12、映象作相應改變,而使外模式保持不變,從而不必修改或重寫應用程序改。而應用程序是依據數據的外模式編寫的,保證了數據與程序的邏輯獨立性。簡稱數據的邏輯獨立性。特定的應用程序是在外模式描述的數據結構上編制的,它依賴于特定的外模式,與數據庫的模式和存儲結構獨立。不同的應用程序有時可以共用同一個外模式。數據庫的二級映象保證了數據庫外模式的穩定性,從而從底層保證了應用程序的穩定性,除非應用需求本身發生變化,否則應用程序一般不需要修改。23試述數據庫系統的組成。(37頁)數據庫系統一般由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員和用戶構成24DBA的職責是什么?(37頁)決定數據庫中的信
13、息內容和結構、決定數據庫的存儲結構和存取策略、定義數據的安全性要求和完整性約束條件、監控數據庫的使用和運行、數據庫的改進和重組重構。25系統分析員、數據庫設計人員、應用程序員的職責是什么?(39頁)系統分析員負責應用系統的需求分析和規范說明,要和用戶及DBA相結合,確定系統的硬件軟件配置,并參與數據庫系統的概要設計。數據庫設計人員負責數據庫中數據的確定、數據庫各級模式的設計。數據庫設計人員必須參加用戶需求調查和系統分析,然后進行數據庫設計。在很多情況下,數據庫設計人員就由數據庫管理員擔任。應用程序員負責設計和編寫應用系統的程序模塊,并進行調試和安裝。第1章作業(P41): 習題3、10、12、
14、13、15第2章 關系數據庫習題參考答案1、試述關系模型的三個組成部分。(46頁)答:關系模型由關系數據結構、關系操作集合和關系完整性約束三部分組成。2、試述關系數據語言的特點和分類。(47頁)答:關系數據語言可以分為三類:A、 關系代數語言。B、 關系演算語言:元組關系演算語言和域關系演算語言。C、 SQL:具有關系代數和關系演算雙重特點的語言。 這些關系數據語言的共同特點是,語言具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高級語言中使用。2、 定義并理解下列術語,說明它們聯系與區別:(P46-50頁)(1)域,笛卡爾積,關系,元組,屬性(2)主碼,候選碼,外部碼(3)關系
15、模式,關系,關系數據庫3、 試述關系模型的完整性規則(53頁),在參照完整性中,為什么外部碼屬性也可以為空?什么情況下才可以為空?(55頁)答:實體完整性規則是指若屬性A是基本關系R的主屬性,則屬性A不能取空值。(P55頁)若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值);或者等于S中某個元組的主碼值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。5設有一個SPJ數據庫,包括S,P,J,SPJ四個關系模式:1)求供應工程J1零件的供應商號碼SNO:Sno(
16、Sno=J1(SPJ))2)求供應工程J1零件P1的供應商號碼SNO:Sno(Sno=J1Pno=P1(SPJ)3)求供應工程J1零件為紅色的供應商號碼SNO:Sno(Pno=P1 (COLOR=紅 (P)SPJ))4)求沒有使用天津供應商生產的紅色零件的工程號JNO:Jno(SPJ)- JNO(city=天津Color=紅 (SSPJP)5)求至少用了供應商S1所供應的全部零件的工程號JNO:Jno,Pno(SPJ)÷ Pno(Sno=S1 (SPJ)(見P62頁 例6)6試述等值連接與自然連接的區別和聯系。(61頁)答:連接運算符是“=”的連接運算稱為等值連接。它是從關系R與S的
17、廣義笛卡爾積中選取A,B屬性值相等的那些元組,即等值連接為:RS=trts| trR tsStrA=tsBA=B自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉。7關系代數的基本運算有哪些 ? 如何用這些基本運算來表示其他運算?(63頁)并、差、笛卡爾積、投影和選擇5種運算為基本的運算。其他3種運算,即交、連接和除,均可以用這5種基本運算來表達。第3章 SQL語言習題參考答案1 試述SQL語言的特點。(85頁)答:綜合統一、高度非過程化、面向集合的操作方式、以同一種語法結構提供兩種使用方式、語言簡捷,易學易用。2 試述SQL的定義功
18、能。(87頁)答:SQL的數據定義功能包括定義表、定義視圖和定義索引3 用SQL語句建立第二章習題5中的四個表。S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供應商表S由供應商代碼(SNO)、供應商姓名(SNAME)、供應商狀態(STATUS)、供應商所在城市(CITY)組成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4)零件表P由零件代碼(PNO)、零件名(PNAME)、
19、顏色(COLOR)、重量(WEIGHT)組成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2)工程項目表J由工程項目代碼(JNO)、工程項目名(JNAME)、所在城市(CITY)組成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)供應情況表SPJ由供應商代碼(SNO)、零件代碼(PNO)、工程項目代碼(JNO)、供應數量(QTY)組成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2)4針對上題中建立
20、的四個表試用SQL語言完成第二章習題5中的查詢:(1) 求供應工程J1零件的供應商號碼SNO:SELECT DIST SNO FROM SPJ WHERE JNO=J1(2) 求供應工程J1零件P1的供應商號碼SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3) 求供應工程J1零件為紅色的供應商號碼SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='紅'(4) 求沒有使用天津供應
21、商生產的紅色零件的工程號JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='紅' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。 (5) 求至少用了供應商S1所供應的全部零件的工程號JNO。 由于VFP不允許子查詢嵌套太深,將查詢分為兩步A、查詢S1供應商供應的零件號SELECT DIST PNO FROM SPJ WHERE SNO='S1'結果是(P1,P2)B、查詢哪一個
22、工程既使用P1零件又使用P2零件。SELECT JNO FROM SPJ WHERE PNO='P1' AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')5針對習題3中的四個表試用SQL語言完成以下各項操作: (1)找出所有供應商的姓名和所在城市。 SELECT SNAME,CITY FROM S(2)找出所有零件的名稱、顏色、重量。SELECT PNAME,COLOR,WEIGHT FROM P (3)找出使用供應商S1所供應零件的工程號碼。 SELECT DIST JNO FROM SPJ WHERE SNO=
23、39;S1'(4)找出工程項目J2使用的各種零件的名稱及其數量。SELECT PNAME,QTY FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2' (5)找出上海廠商供應的所有零件號碼。SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'(6)出使用上海產的零件的工程名稱。SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO (7)找
24、出沒有使用天津產的零件的工程號碼。注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津') 適用于JNO是唯一或不唯一的情況. 注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'適用于JNO是唯一的情況(8)把全部紅色零件的顏色改成藍色。UPDATE P SET COLOR='藍' WHER
25、E COLOR='紅'(9)由S5供給J4的零件P6改為由S3供應。 UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'(10)從供應商關系中刪除供應商號是S2的記錄,并從供應情況關系中刪除相應的記錄。 A、DELETE FROM S WHERE SNO=S2 B、DELETE FROM SPJ WHERE SNO=S2(11)請將(S2,J6,P4,200)插入供應情況關系。 INSERT INTO SPJ VALUES(S2,J6,P
26、4,200)6什么是基本表?什么是視圖?兩者的區別和聯系是什么?(87頁)基本表是本身獨立存在的表,在SQL中一個關系就對應一個表。一個(或多個)基本表對應一個存儲文件,一個表可以帶若干索引,索引也存放在存儲文件中。 視圖是從一個或幾個基本表導出的表。它本身不獨立存儲在數據庫中,即數據庫中只存放視圖的定義而不存放視圖對應的數據,這些數據仍存放在導出視圖的基本表中,因此視圖是一個虛表。視圖在概念上與基本表等同,用戶可以在視圖上再定義視圖。7試述視圖的優點。(128頁)答:視圖能夠簡化用戶的操作、視圖使用戶能以多種角度看待同一數據、視圖對重構數據庫提供了一定程度的邏輯獨立性、視圖能夠對機密數據提供
27、安全保護。8所有的視圖是否都可以更新?為什么?(127頁)答:并不是所有的視圖都是可更新的,因為有些視圖的更新不能唯一地有意義地轉換成對相應基本表的更新。9哪類視圖是可以更新的,哪類視圖是不可更新的? 各舉一例說明。(127頁)行列子集視圖是可更新的。除行列子集視圖外,還有些視圖理論上是可更新的,但它們的確切特征還是尚待研究的課題。還有些視圖從理論上不可更新的。10試述某個你熱悉的實際系統中對視圖更新的規定。(VFP)11請為三建工程項目建立一個供應情況的視圖,包括供應商代碼(SNO)、零件代碼(PNO)、供應數量(QTY)。CREATE VIEW VSP AS SELECT SNO,PNO,
28、QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME='三 建'針對該視圖VSP完成下列查詢:(1)找出三建工程項目使用的各種零件代碼及其數量。SELECT DIST PNO,QTY FROM VSP(2)找出供應商S1的供應情況。SELECT DIST * FROM VSP WHERE SNO='S1'12針對習題3建立的表,用SQL語言完成以下各項操作:(1) 把對表S的INSERT權限授予用戶張勇,并允許他再將此權限授予其他用戶。GRANT INSERT ON TABLE S TO 張勇 WITH GRANT OPT
29、ION (2) 把查詢SPJ表和修改QTY屬性的權限授給用戶李天明。 GRANT SELECT,UPDATE(QTY) ON TABLE SPJ TO 李天明* 以 下 選 作 *13在嵌入式SQL中是如何區分SQL語句和主語言語句的? (133頁)在嵌入式SQL中,為了能夠區分SQL語句與主語言語句,所有SQL語句都必須加前綴EXEC SQL。(VFP例外)14在嵌入式SQL中是如何解決數據庫工作單元與源程序工作單元之間通訊的?(134頁)(1)向主語言傳遞SQL語句的執行狀態信息,使主語言能夠據此信息控制程序流程,主要用SQL通信區(SQL Communication Area,簡稱SQL
30、CA)實現。(2)主語言向SQL語句提供參數,主要用主變量(Host Variable)實現。(3)將SQL語句查詢數據庫的結果交主語言進一步處理,主要用主變量和游標(Cursor)實現。15在嵌入式SQL中是如何協調SQL語言的集合處理方式和主語言的單記錄處理方式的? (135頁)答:游標是用于協調SQL語言的集合處理方式和主語言的單記錄處理方式。 SQL語言與主語言具有不同的數據處理方式。SQL語言是面向集合的,一條SQL語句原則上可以產生或處理多條記錄。主語言是面向記錄的,一組主變量一次只能存放一條記錄。所以僅使用主變量并不能完全滿足SQL語句向應用程序輸出數據的要求,為此嵌入式SQL引
31、入了游標的概念,用游標來協調這兩種不同的處理方式。第4章 關系系統及其優化習題參考答案1、給出各類關系系統的定義:最小關系的系統;關系完備的系統;全關系型的關系系統。(P153頁)答:(最小)關系系統:僅支持關系數據結構和三種關系操作。許多微機關系數據庫系統如FoxBASE,FoxPro等就屬于這一類。 關系完備的系統:這類系統支持關系數據結構和所有的關系代數操作(功能上與關系代數等價)。20世紀90年代初的許多關系數據庫管理系統屬于這一類。 全關系系統:這類系統支持關系模型的所有特征。即不僅是關系上完備的而且支持數據結構中域的概念,支持實體完整性和參照完整性。目前,大多數關系系統已不同程度上
32、接近或達到了這個目標。3、試述查詢優化在關系數據庫系統中的重要性和可能性。(P157頁) 答:查詢優化在關系數據庫系統中有著非常重要的地位。關系數據庫系統和非過程化的SQL語言能夠取得巨大的成功,關鍵是得益于查詢優化技術的發展。關系查詢優化是影響RDBMS性能的關鍵因素。優化對關系系統來說既是挑戰又是機遇。所謂挑戰是指關系系統為了達到用戶可接受的性能必須進行查詢優化。由于關系表達式的語義級別很高,使關系系統可以從關系表達式中分析查詢語義,提供了執行查詢優化的可能性。這就為關系系統在性能上接近甚至超過非關系系統提供了機遇。4對學生-課程數據庫有如下的查詢:查詢信息系學生選修的所有課程名稱: SE
33、LECT Cname FROM St,Course,SC WHERE St.Sno=SC.Sno AND SC.Cno=Course.Cno AND St.Sdept=IS試畫出用關系代數表示的語法樹,并用關系代數表達式優化算法對原始的語法樹進行優化處理,畫出優化后的標準語法樹。答:關系代數表達式如下:cname(St.sdept=IS(st.sno=sc.Sno(sc.Cno=Course.Cno(ST×SC×COURSE)用關系代數表示的語法樹如下左圖: cname cname St.sdept=IS So=o st.sno=sc.Sno ×scCno=Cou
34、rse.Cno St.sno=sc.sno cno,cname × × Course × Course sno sno,cnoSt Sc St.sdept=IS Sc St用關系代數表達式優化算法對原關系代數表達式進行優化,優化后的關系代數表達式如下:cname(o=o(St.sno=sc.sno(sno(St.sdept=IS(ST)×sno,cno(SC) ×cno,cname(Course)優化處理后的標準語法樹如上右圖。5 試述查詢優化的一般準則。(P161-162頁)答:1)選擇運算應盡可能先做。 2)在執行連接前對關系適當地預處理。
35、3)把投影運算和選擇運算同時進行。4)把投影同其前或其后的雙目運算結合起來。5)把某些選擇同在它前面要執行的笛卡爾積結合起來成為一個連接運算。6)找出公共子表達式。6 試述查詢優化的一般步驟。( 165頁)答: (1)把查詢轉換成某種內部表示。(2)把語法樹轉換成標準(優化)形式。(3)選擇低層的存取路徑。(4)生成查詢計劃,選擇代價最小的。第5章 關系數據理論習題參考答案規范化定義小結:定義1:設R(U)是屬性集U上的關系模式。X,Y是屬性集U的子集。若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數確定Y或Y函數依賴于X,記作X
36、àY。(即只要X上的屬性值相等,Y上的值一定相等。)術語和記號:(P173頁)l XàY,但Y不是X的子集,則稱XàY是非平凡的函數依賴。若不特別聲明,總是討論非平凡的函數依賴。l XàY,但Y是X的子集,則稱XàY是平凡的函數依賴。l 若XàY,則X叫做決定因素(Determinant)。l 若XàY,YàX,則記作XßàY。l 若Y不函數依賴于X,則記作X à Y。定義2:在R(U)中,如果 XàY,并且對于X的任何一個真子集X,都有X à Y,則稱Y對X完全函
37、數依賴,記作: FXàY 若XàY,但Y不完全函數依賴于X,則稱Y對X部分函數依賴,記作: PXàY定義3:若關系模式R的每一個分量是不可再分的數據項,則關系模式R屬于第一范式(1NF)。定義4:若關系模式R1NF,且每一個非主屬性完全函數依賴于碼,則關系模式R2NF 。(即1NF消除了非主屬性對碼的部分函數依賴則成為2NF)。定義5:關系模式R<U,F> 中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z不是Y的子集)使得XàY,Y à X,Y à Z成立,則稱R<U,F>3NF。定義6:關系模式R<U,F
38、>1NF 。若XàY且Y不是X的子集時,X必含有碼,則R<U,F>BCNF。定義7:關系模式R<U,F>1NF,如果對于R的每個非平凡多值依賴XààY(Y不是X的子集,Z=U-X-Y不為空),X都含有碼,則稱R<U,F>4NF。習題如下: 2建立一個關于系、學生、班級、學會等諸信息的關系數據庫。學生:學號、姓名、出生年月、系名、班號、宿舍區。班級:班號、專業名、系名、人數、入校年份。系:系名、系號、系辦公地點、人數。學會:學會名、成立年份、辦公地點、人數。 語義如下:一個系有若干專業,每個專業每年只招一個班,每個班有若干學
39、生。一個系的學生住在同一宿舍區。每個學生可參加若干學會,每個學會有若干學生。學生參加某學會有一個入會年份。 請給出關系模式,寫出每個關系模式的極小函數依賴集,指出是否存在傳遞函數依賴,對于函數依賴左部是多屬性的情況討論函數依賴是完全函數依賴,還是部分函數依賴。指出各關系模式的候選碼、外部碼,有沒有全碼存在?解:(1)關系模式如下: 學生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班級:C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept,Dno,Office,Dnum) 學會:M(Mname,Myear,Maddr,Mnum) (2)每個關
40、系模式的最小函數依賴集如下: A、學生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函數依賴集如下:SnoàSname,SnoàSbirth,SnoàClass,ClassàDept,DEPTàRno 傳遞依賴如下:由于SnoàDept,而DeptàSno ,DeptàRno(宿舍區)所以Sno與Rno之間存在著傳遞函數依賴。 由于ClassàDept,Dept à Class,DeptàRno 所以Class與Rno之間存在著傳遞函數依賴。 由于Sno
41、àClass,ClassàSno,ClassàDept 所以Sno與Dept之間存在著傳遞函數依賴。 B、班級C(Class,Pname,Dept,Cnum,Cyear)的最小函數依賴集如下: ClassàPname,ClassàCnum,ClassàCyear,PnameàDept. 由于ClassàPname,PnameàClass,PnameàDept 所以C1ass與Dept之間存在著傳遞函數依賴。 C、系D(Dept,Dno,Office,Dnum)的最小函數依賴集如下: Dept
42、224;Dno,DnoàDept,DnoàOffice,DnoàDnum 根據上述函數依賴可知,Dept與Office,Dept與Dnum之間不存在傳遞依賴。 D、學會M(Mname,Myear,Maddr,Mnum)的最小函數依賴集如下: MnameàMyear,MnameàMaddr,MnameàMnum 該模式不存在傳遞依賴。 (3)各關系模式的候選碼、外部碼,全碼如下: A、學生S候選碼:Sno;外部碼:Dept、Class;無全碼 B、班級C候選碼:Class;外部碼:Dept;無全碼 C、系D候選碼:Dept或Dno;無外
43、部碼;無全碼 D、學會M候選碼:Mname;無外部碼;無全碼 12下面的結論哪些是正確的? 哪些是錯誤的? 對于錯誤的請給一個反例說明之。(1) 任何一個二目關系是屬于3NF。答:正確。因為關系模式中只有兩個屬性,所以無傳遞。(2) 任何一個二目關系是屬于BCNF.答:正確。按BCNF的定義,若XàY,且Y不是X的子集時,每個決定因素都包含碼,對于二目關系決定因素必然包含碼。詳細證明如下:(任何二元關系模式必定是BCNF)。證明:設R為一個二目關系R(A1,A2),則屬性A1和A2之間可能存在以下幾種依賴關系:A、A1àA2,但A2àA1,則關系R的碼為A1,決定
44、因素都包含碼,所以,R是BCNF。B、A1àA2,A2àA1,則關系R的碼為A2,所以決定因素都包含碼,R是BCNF。包含碼。R是BCNF。C、R的碼為(A1,A2)(即A1 àA2,A2 àA1),決定因素都(3)任何一個二目關系是屬于4NF.答:正確。因為只有兩個屬性,所以無非平凡的多值依賴。第 5 章 關系數據理論習題參考答案(補充)1 已知學生關系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno學號、Sname姓名、SD系名、Sdname系主任名、Course課程、Grade成績。(1)寫出關系模式S的基本函
45、數依賴和主碼。答: 關系模式S的基本函數依賴如下: SnoSname,SDSdname,SnoSD,(Sno,Course) Grade關系模式S的碼為:(Sno,Course)。(2)原關系模式S為幾范式?為什么?分解成高一級范式,并說明為什么?答: 原關系模式S是屬于1NF的,碼為(Sno,Course),非主屬性中的成績完全依賴于碼,而其它非主屬性對碼的函數依賴為部分函數依賴,所以不屬于2NF。消除非主屬性對碼的函數依賴為部分函數依賴,將關系模式分解成2NF如下:S1(Sno,Sname,SD,Sdname)、S2(Sno,Course,Grade)(3)將關系模式分解成3NF,并說明為
46、什么? 答: 將上述關系模式分解成3NF如下: 關系模式S1中存在SnoSD,SDSdname,即非主屬性Sdname傳遞依賴于Sno,所以S1不是3NF。進一步分解如下: S11(Sno,Sname,SD) S12(SD,Sdname) 分解后的關系模式S11、S12滿足3NF。 對關系模式S2不存在非主屬性對碼的傳遞依賴,故屬于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解滿足3NF。S11(Sno,Sname,SD) S12(SD,Sdname)S2(Sno,Course,Grade)2、設有如圖所示的學生關系S學號學生名年齡性別系號
47、系名100001200001200002300001300004300005王 婧張 露黎明遠王 燁張 露潘 建181920212019女女男男女男122333通信工程電子工程電子工程計算機計算機計算機試問S是否屬于3NF? 為什么?若不是,它屬于幾范式? 并將其規范化為3NF.解:S不屬于3NF,它屬于2NF。S的候選關鍵字為“學號”。依賴關系:學號系號, 系號系名,系號 學號所以: 學號系名,即存在非主屬性系名對候選關鍵字“學號”的傳遞依賴,S不是3NF.在S中所有非主屬性均依賴于碼學號,所以S是2NF。將S分解成: S1(學號,學生名,年齡,性別,系號)、S2(系號,系名),分解后的Sl
48、與S2如圖所示: 關系模式S1如下: 學號學生名年齡性別系號100001200001200002300001300004300005王 婧張 露黎明遠王 燁張 霹潘 建181920212019女女男男女男122333關系模式S2如下:系號系名123通信工程電子工程計算機關系模式S1、S2上無傳遞依賴,它們是3NF。3.設有如下關系R課程名教師名教師地址C1C2C3C4馬千里于得水余快于得水D1D1D2D1(1) 它為第幾范式? 為什么?解:它是2NF。因為R的候選關鍵字為“課程名”。依賴關系: 課程名教師名,教師名 課程名,教師名教師地址,所以 課程名教師地址。即存在非主屬性“教師地址”對候選
49、關鍵字課程名的傳遞函數,因此R不是3NF。但:因為不存在非主屬性對候選關鍵字的部分函數依賴,所以R是2NF。(2)是否存在刪除操作異常?若存在,則說明是在什么情況下發生的?解: 存在。當刪除某門課程時會刪除不該刪除的教師的有關信息。(3)將它分解為高一級范式,分解后的關系是如何解決分解前可能存在的刪除操作異常問題?解: 分解為高一級范式如圖所示。R1如下: R2如下:教師名教師地址馬千里于得水余快D1 D1D2課程名教師名C1C2C3C4馬千里于得水余快于得水分解后,若刪除課程數據時,僅對關系R1操作,教師地址信息在關系R2中仍然保留,不會丟失教師方面的信息。4設有如圖所示的關系R。職工號職工
50、名年齡性別單位號單位名E1ZHAO20FD3CCCE2QIAN25MD1AAAE3SEN38MD3CCCE4L125FD3CCC試問R屬于3NF? 為什么?若不是,它屬于第幾范式? 并如何規范化為3NF?解:R不屬于3NF,它是2NF。R的候選關鍵字為職工號和職工名,而:職工號單位號,單位號 職工號,單位號單位名.所以,職工號單位名,即存在非主屬性“單位名”對候選關鍵字職工號的傳遞函數依賴,所以R不是3NF,規范化后的關系子模式為如下圖。R1如下: R2如下:職工號職工名年齡性別單位號E1E2E3E4ZHAOQIANSENL120253825 F M M FD3D1D3D3位號單位名D3D1C
51、CCAAA5、如下圖給出的關系SC為第幾范式?是否存在插入、刪除異常?若存在,則說明是在什么情況下發生?發生的原因是什么?將它分解為高一級范式,分解后的關系能否解決操作異常問題。 表SC如下:SNOCNOCTITLEINAMEILOCAGRADE80152C1OS王平D17080153C2DB高升D28580154C1OS王平D18680154C3AI楊楊D37280155C4CL高升D292其中:SNO為學號,CNO為課程號,CTITLE為課程名,INAME為教師名,ILOCA為教師地址,GRADE為成績。解:SC為1NF。它存在插入、刪除異常操作。當增設一門新課程時,因還沒有學生選修,則缺
52、少關鍵字的一部分SNO而不能執行插入操作;當所有學生退選某門課程而進行刪除操作時,會將不法刪除的課程信息刪除。SC關系中存在插入和刪除操作異常的原因在于,該關系的候選關鍵字為(SNO,CN0),其中僅有非屬性GRADE完全函數依賴于(SNO,CNO),其他非主屬性CTITLE、INAME、ILOCA都只函數依賴于CNO,即它們與(SNO,CNO)為部分函數依賴關系。分解后的關系模式如下:SG 如下: SNOCNOGRADE015280153801548015480155C1C2C1C3C47085867295OCTITLEINAMEILOCAC1C2C3C4OSDBAICL王平高升楊楊高升D1
53、D2D3D2CI如下:分解后的兩個關系子模式都為2NF(實際上,SG是3NF,它無傳遞依賴)。解決了先前的插入、刪除異常操作。當增設一門新課程時,可將數據插入到CI表中;當所有學生退選某門課程時,只需刪除SG表中的有關記錄,而該課程的有關信息仍保留在CI表中。分解2NF后的CI關系中仍存在插入、刪除操作異常。若有一個新教師報到,需將其有關數據插入操作;當取消某門課程而刪除CI表中的一條記錄時,會將不該刪除的教師的有關信息刪除。CI表中出現操作異常的原因是該關系中存在非主屬性對候選關鍵字的傳遞函數依賴:CNOINAME,INAME CNO,INAMEILOCA,所以CNOILOCA(函數傳遞依賴,CI不是3NF) 將CI進一步分解為如下所示的Course和Inst兩個關系,可以解決上述操作異常。COURSE INSTINAMEILOCA王子高升楊楊 D1 D2 D3 CNOCTITLEINAMEC1C2C3C4OSDBAICL王平高升楊楊高升第6章 數據庫設計習題參考答案1. 數據庫的設計過程。(P205頁)答:按照規范設計的方法,考慮數據庫及其應用系統開發全過程,將數據庫設計分為以下六個階段l 需求分析.l 概念結構設計.l 邏輯結構設計.l 物理結構設計.l 數據庫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園小班數學活動教案掛燈籠
- 2025年國際商務專業考試題及答案
- 2025年公共政策分析師資格考試題及答案
- 地鐵幼兒科普課件
- 2025年中華文化與傳統藝術專業能力深化考試試卷及答案
- 2025年社區治理專業職業能力測試試題及答案
- 2025年船舶工程與設計技術試卷及答案
- 2025屆韶關市重點中學八年級英語第二學期期中質量跟蹤監視模擬試題含答案
- 山東省淄博市臨淄區召口鄉中學2025年英語七下期末復習檢測試題含答案
- 《春》課件 統編版七年級上冊語文
- 18 設計緊急避難路線圖(教案)人美版(北京)(2012)美術三年級下冊
- GB 9744-2024載重汽車輪胎
- ISO15614-1 2017 金屬材料焊接工藝規程及評定(中文版)
- 抖音來客商家門店經營
- 術后鎮痛慢性疼痛癌性疼痛診療標準規范及作業流程
- 2022AHA-ACC-HFSA心衰管理指南解讀
- 智慧能源管理云平臺方案智慧能源綜合服務方案智慧能源管理系統方案38-82
- 云計算和邊緣計算在工業互聯網中的融合
- 24年海南生物會考試卷
- 中南大學學科發展與規劃處
- 高危孕產婦管理課件培訓
評論
0/150
提交評論