數(shù)據(jù)庫(kù)習(xí)題答案_第1頁(yè)
數(shù)據(jù)庫(kù)習(xí)題答案_第2頁(yè)
數(shù)據(jù)庫(kù)習(xí)題答案_第3頁(yè)
數(shù)據(jù)庫(kù)習(xí)題答案_第4頁(yè)
數(shù)據(jù)庫(kù)習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第1章 緒論 習(xí)題參考答案1、試述數(shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)的概念。(3、4、5頁(yè))答:描述事物的符號(hào)記錄稱為數(shù)據(jù);數(shù)據(jù)庫(kù)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合;數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件; 數(shù)據(jù)庫(kù)系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng),一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶構(gòu)成。2使用數(shù)據(jù)庫(kù)系統(tǒng)有什么好處?(12頁(yè))答:數(shù)據(jù)庫(kù)系統(tǒng)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫(kù)為中心的階段,這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護(hù),提高了數(shù)據(jù)的利用率和相容性,提高了決策的可靠性。

2、3試述文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別和聯(lián)系。(8、9、10頁(yè))答:1)數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫(kù)與文件系統(tǒng)的根本區(qū)別。在文件系統(tǒng)中,相互獨(dú)立的文件的記錄內(nèi)部是有結(jié)構(gòu)的,管其記錄內(nèi)部已有了某些結(jié)構(gòu),但記錄之間沒有聯(lián)系。數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,是數(shù)據(jù)庫(kù)的主要特征之一。2)在文件系統(tǒng)中,數(shù)據(jù)的最小存取單位是記錄,粒度不能細(xì)到數(shù)據(jù)項(xiàng)。而在數(shù)據(jù)庫(kù)系統(tǒng)中,存取數(shù)據(jù)的方式也很靈活,可以存取數(shù)據(jù)庫(kù)中的某一個(gè)數(shù)據(jù)項(xiàng)、一組數(shù)據(jù)項(xiàng)一個(gè)記錄或或一組記錄。3)文件系統(tǒng)中的文件是為某一特定應(yīng)用服務(wù)的,文件的邏輯結(jié)構(gòu)對(duì)該應(yīng)用程序來說是優(yōu)化的,因此要想對(duì)現(xiàn)有的數(shù)據(jù)再增加一些新的應(yīng)用會(huì)很困難,系統(tǒng)不容易擴(kuò)充。而在數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)不

3、再針對(duì)某一應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化。5試述數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)。(9、10、11頁(yè))答:數(shù)據(jù)結(jié)構(gòu)化;數(shù)據(jù)的共享性高、冗余度低、易擴(kuò)充;數(shù)據(jù)獨(dú)立性高;數(shù)據(jù)由DBMS統(tǒng)一管理和控制。6數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能有哪些? (4頁(yè))答:數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫(kù)的運(yùn)行管理、數(shù)據(jù)庫(kù)的建立和維護(hù)功能。7試述數(shù)據(jù)模型的概念(13頁(yè))、數(shù)據(jù)模型的作用、數(shù)據(jù)模型的三個(gè)要素。(14、15頁(yè))答:數(shù)據(jù)模型(Data Model)也是一種模型,它是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。作用:在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型來抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬,現(xiàn)有的數(shù)據(jù)庫(kù)系統(tǒng)均是基于某種

4、數(shù)據(jù)模型的。三個(gè)要素:數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。8、概念模型的作用(15頁(yè))答:概念模型用于信息世界的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是數(shù)據(jù)庫(kù)設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫(kù)設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言,因此概念模型一方面應(yīng)該具有較強(qiáng)的語義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識(shí),另一方面它還應(yīng)該簡(jiǎn)單、清晰、易于用戶理解。9、定義并解釋概念模型中以下術(shù)語(P16頁(yè))。實(shí)體、實(shí)體型、實(shí)體集、屬性、碼、實(shí)體聯(lián)系圖(E-R圖) 10試給出三個(gè)實(shí)際部門的E_R圖,要求實(shí)體型之間具有一對(duì)一,一對(duì)多,多對(duì)多各種不同的聯(lián)系。 一對(duì)一:學(xué)員和座位的關(guān)

5、系.(滿員)座位學(xué)員聯(lián)系1 1一對(duì)多 : 值班醫(yī)生和病人的關(guān)系.病人值班醫(yī)生聯(lián)系1 n多對(duì)多:聯(lián)系營(yíng)業(yè)員顧客m n 11試給出一個(gè)實(shí)際部門的E-R圖,要求有三個(gè)實(shí)體型,而且三個(gè)實(shí)體型之間有多對(duì)多聯(lián)系。三個(gè)實(shí)體型之間的多對(duì)多聯(lián)系和三個(gè)實(shí)體型兩兩之間的三個(gè)多對(duì)多聯(lián)系等價(jià)嗎? 為什么 ? (17頁(yè))12學(xué)校中有若干系,每個(gè)系有若干班級(jí)和教研室,每個(gè)教研室有若干教員,每個(gè)班有若干學(xué)生,每個(gè)學(xué)生選修若干課程,每門課可由若干學(xué)生選修。請(qǐng)用E-R圖畫出此學(xué)校的概念模型。(20頁(yè)例題)零件產(chǎn)品構(gòu)成13某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。這些零件由不同的原材料制成,不同零件

6、所用的材料可以相同。這些零件按所屬的不同產(chǎn)品分別放在倉(cāng)庫(kù)中,原材料按照類別放在若干倉(cāng)庫(kù)中。請(qǐng)用E-R圖畫山此工廠產(chǎn)品,零件,材料,倉(cāng)庫(kù)的概念模型。 m n p存儲(chǔ)存儲(chǔ) m r n原材料倉(cāng)庫(kù)制成 n k14試述層次模型的概念,舉出三個(gè)層次模型的實(shí)例。(22頁(yè))答:層次模型是數(shù)據(jù)庫(kù)系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型,層次數(shù)據(jù)庫(kù)系統(tǒng)采用層次模型作為數(shù)據(jù)的組織方式。層次模型是用樹形結(jié)構(gòu)來表示各類實(shí)體以及實(shí)體間的聯(lián)系的數(shù)據(jù)模型。例題:15今有一個(gè)層次數(shù)據(jù)庫(kù)實(shí)例,試用子女-兄弟鏈接法和層次序列鏈接法畫出它的存儲(chǔ)結(jié)構(gòu)示意圖。(見P26頁(yè)圖1.23) 鄰接法如下:(P25頁(yè))A1B1C3C8C10B2C12D2D3D4

7、C1416試述網(wǎng)狀模型的概念,舉出三個(gè)網(wǎng)狀模型的實(shí)例。(27頁(yè))答: 把滿足以下兩個(gè)條件的基本層次聯(lián)系集合稱為網(wǎng)狀模型:(1)允許一個(gè)以上的結(jié)點(diǎn)無雙親。(2)一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。例: 1) 網(wǎng)狀模型的兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系父母人子女樹種植砍伐養(yǎng)育贍養(yǎng)2) 學(xué)生/課程/選課的網(wǎng)狀數(shù)據(jù)庫(kù)模式:17試述網(wǎng)狀、層次數(shù)據(jù)庫(kù)的優(yōu)缺點(diǎn)。(26、30頁(yè))答:網(wǎng)狀數(shù)據(jù)模型的優(yōu)點(diǎn)主要有:(1)能夠更為直接地描述現(xiàn)實(shí)世界,如一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親。(2)具有良好的性能,存取效率較高。網(wǎng)狀數(shù)據(jù)模型的缺點(diǎn)主要有:(1)結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫(kù)的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握。(2

8、)其數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操作語言(DML)復(fù)雜,用戶不容易使用。(3)數(shù)據(jù)獨(dú)立性較差。由于記錄之間聯(lián)系是通過存取路徑實(shí)現(xiàn)的,應(yīng)用程序在訪問數(shù)據(jù)時(shí)必須選擇適當(dāng)?shù)拇嫒÷窂?,因此,用戶必須了解系統(tǒng)結(jié)構(gòu)的細(xì)節(jié),加重了編寫應(yīng)用程序的負(fù)擔(dān)。從而影響數(shù)據(jù)獨(dú)立性。層次模型的優(yōu)點(diǎn)主要有:(1)層次數(shù)據(jù)模型本身比較簡(jiǎn)單,層次分明,便于在計(jì)算機(jī)內(nèi)實(shí)現(xiàn)。(2)在層次數(shù)據(jù)結(jié)構(gòu)中,從根結(jié)點(diǎn)到樹中任一結(jié)點(diǎn)均存在一條唯一的層次路徑,為有效地進(jìn)行數(shù)據(jù)操縱提供條件。(3)由于層次結(jié)構(gòu)規(guī)定除根結(jié)點(diǎn)外所有結(jié)點(diǎn)有且僅有一個(gè)雙親,故實(shí)體集之間的聯(lián)系可用雙親結(jié)點(diǎn)唯一地表示,并且層次模型中的基本層次聯(lián)系總是從雙親記錄指向子女記錄,所

9、以記錄類型之間的聯(lián)系名可省略。由于實(shí)體集間的聯(lián)系固定,所以層次模型DBMS對(duì)層次結(jié)構(gòu)的數(shù)據(jù)有較高的處理效率。(4)層次數(shù)據(jù)模型提供了良好的完整性支持。(5)實(shí)體間聯(lián)系是固定的,且預(yù)先定義好的應(yīng)用系統(tǒng),采用層次模型來實(shí)現(xiàn),其性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型??梢娪脤哟文P蛯?duì)具有一對(duì)多的層次關(guān)系的部門描述非常自然、直觀,容易理解。這是層次數(shù)據(jù)庫(kù)的突出優(yōu)點(diǎn)。層次模型的缺點(diǎn)主要有:(1)現(xiàn)實(shí)世界中很多聯(lián)系是非層次性的,如多對(duì)多聯(lián)系、一個(gè)結(jié)點(diǎn)具有多個(gè)雙親等,層次模型表示這類聯(lián)系的方法很笨拙,只能通過引入冗余數(shù)據(jù)(易產(chǎn)生不一致性)或創(chuàng)建非自然的數(shù)據(jù)組織(引入虛擬結(jié)點(diǎn))來解決。(2)對(duì)插入和刪除操作的限制比

10、較多。(3)查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn)。(4)由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化。18試述關(guān)系模型的概念,定義并解釋以下術(shù)語:(P31頁(yè)) (1)關(guān)系 (2)屬性 (3)域 (4)元組 (5)主碼 (6)分量 (7)關(guān)系模式19試述關(guān)系數(shù)據(jù)庫(kù)的特點(diǎn)。(32頁(yè))20試述數(shù)據(jù)庫(kù)系統(tǒng)三級(jí)模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點(diǎn)是什么?(33、35頁(yè))數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)是指數(shù)據(jù)庫(kù)系統(tǒng)是由外模式、模式和內(nèi)模式三級(jí)構(gòu)成。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別,它把數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯地抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的具體表示方式與存儲(chǔ)方式。為了能夠在內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系

11、和轉(zhuǎn)換,數(shù)據(jù)庫(kù)管理系統(tǒng)在這三級(jí)模式之間提供了兩層映象:l 外模式模式映象l 模式內(nèi)模式映象正是這兩層映象保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。22什么叫數(shù)據(jù)與程序的物理獨(dú)立性?什么叫數(shù)據(jù)與程序的邏輯獨(dú)立性?為什么數(shù)據(jù)庫(kù)系統(tǒng)具有數(shù)據(jù)與程序的獨(dú)立性? (35、36頁(yè))當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變了(例如選用了另一種存儲(chǔ)結(jié)構(gòu)),由數(shù)據(jù)庫(kù)管理員對(duì)模式內(nèi)模式映象作相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變。保證了程序與數(shù)據(jù)的物理獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的物理獨(dú)立性。當(dāng)需要改變模式時(shí)(例如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類型、改變數(shù)據(jù)間的聯(lián)系等),由數(shù)據(jù)庫(kù)管理員對(duì)各個(gè)外模式模式的

12、映象作相應(yīng)改變,而使外模式保持不變,從而不必修改或重寫應(yīng)用程序改。而應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性。簡(jiǎn)稱數(shù)據(jù)的邏輯獨(dú)立性。特定的應(yīng)用程序是在外模式描述的數(shù)據(jù)結(jié)構(gòu)上編制的,它依賴于特定的外模式,與數(shù)據(jù)庫(kù)的模式和存儲(chǔ)結(jié)構(gòu)獨(dú)立。不同的應(yīng)用程序有時(shí)可以共用同一個(gè)外模式。數(shù)據(jù)庫(kù)的二級(jí)映象保證了數(shù)據(jù)庫(kù)外模式的穩(wěn)定性,從而從底層保證了應(yīng)用程序的穩(wěn)定性,除非應(yīng)用需求本身發(fā)生變化,否則應(yīng)用程序一般不需要修改。23試述數(shù)據(jù)庫(kù)系統(tǒng)的組成。(37頁(yè))數(shù)據(jù)庫(kù)系統(tǒng)一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶構(gòu)成24DBA的職責(zé)是什么?(37頁(yè))決定數(shù)據(jù)庫(kù)中的信

13、息內(nèi)容和結(jié)構(gòu)、決定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取策略、定義數(shù)據(jù)的安全性要求和完整性約束條件、監(jiān)控?cái)?shù)據(jù)庫(kù)的使用和運(yùn)行、數(shù)據(jù)庫(kù)的改進(jìn)和重組重構(gòu)。25系統(tǒng)分析員、數(shù)據(jù)庫(kù)設(shè)計(jì)人員、應(yīng)用程序員的職責(zé)是什么?(39頁(yè))系統(tǒng)分析員負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明,要和用戶及DBA相結(jié)合,確定系統(tǒng)的硬件軟件配置,并參與數(shù)據(jù)庫(kù)系統(tǒng)的概要設(shè)計(jì)。數(shù)據(jù)庫(kù)設(shè)計(jì)人員負(fù)責(zé)數(shù)據(jù)庫(kù)中數(shù)據(jù)的確定、數(shù)據(jù)庫(kù)各級(jí)模式的設(shè)計(jì)。數(shù)據(jù)庫(kù)設(shè)計(jì)人員必須參加用戶需求調(diào)查和系統(tǒng)分析,然后進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。在很多情況下,數(shù)據(jù)庫(kù)設(shè)計(jì)人員就由數(shù)據(jù)庫(kù)管理員擔(dān)任。應(yīng)用程序員負(fù)責(zé)設(shè)計(jì)和編寫應(yīng)用系統(tǒng)的程序模塊,并進(jìn)行調(diào)試和安裝。第1章作業(yè)(P41): 習(xí)題3、10、12、

14、13、15第2章 關(guān)系數(shù)據(jù)庫(kù)習(xí)題參考答案1、試述關(guān)系模型的三個(gè)組成部分。(46頁(yè))答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。2、試述關(guān)系數(shù)據(jù)語言的特點(diǎn)和分類。(47頁(yè))答:關(guān)系數(shù)據(jù)語言可以分為三類:A、 關(guān)系代數(shù)語言。B、 關(guān)系演算語言:元組關(guān)系演算語言和域關(guān)系演算語言。C、 SQL:具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言。 這些關(guān)系數(shù)據(jù)語言的共同特點(diǎn)是,語言具有完備的表達(dá)能力,是非過程化的集合操作語言,功能強(qiáng),能夠嵌入高級(jí)語言中使用。2、 定義并理解下列術(shù)語,說明它們聯(lián)系與區(qū)別:(P46-50頁(yè))(1)域,笛卡爾積,關(guān)系,元組,屬性(2)主碼,候選碼,外部碼(3)關(guān)系

15、模式,關(guān)系,關(guān)系數(shù)據(jù)庫(kù)3、 試述關(guān)系模型的完整性規(guī)則(53頁(yè)),在參照完整性中,為什么外部碼屬性也可以為空?什么情況下才可以為空?(55頁(yè))答:實(shí)體完整性規(guī)則是指若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。(P55頁(yè))若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值);或者等于S中某個(gè)元組的主碼值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。5設(shè)有一個(gè)SPJ數(shù)據(jù)庫(kù),包括S,P,J,SPJ四個(gè)關(guān)系模式:1)求供應(yīng)工程J1零件的供應(yīng)商號(hào)碼SNO:Sno(

16、Sno=J1(SPJ))2)求供應(yīng)工程J1零件P1的供應(yīng)商號(hào)碼SNO:Sno(Sno=J1Pno=P1(SPJ)3)求供應(yīng)工程J1零件為紅色的供應(yīng)商號(hào)碼SNO:Sno(Pno=P1 (COLOR=紅 (P)SPJ))4)求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO:Jno(SPJ)- JNO(city=天津Color=紅 (SSPJP)5)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)JNO:Jno,Pno(SPJ)÷ Pno(Sno=S1 (SPJ)(見P62頁(yè) 例6)6試述等值連接與自然連接的區(qū)別和聯(lián)系。(61頁(yè))答:連接運(yùn)算符是“=”的連接運(yùn)算稱為等值連接。它是從關(guān)系R與S的

17、廣義笛卡爾積中選取A,B屬性值相等的那些元組,即等值連接為:RS=trts| trR tsStrA=tsBA=B自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉。7關(guān)系代數(shù)的基本運(yùn)算有哪些 ? 如何用這些基本運(yùn)算來表示其他運(yùn)算?(63頁(yè))并、差、笛卡爾積、投影和選擇5種運(yùn)算為基本的運(yùn)算。其他3種運(yùn)算,即交、連接和除,均可以用這5種基本運(yùn)算來表達(dá)。第3章 SQL語言習(xí)題參考答案1 試述SQL語言的特點(diǎn)。(85頁(yè))答:綜合統(tǒng)一、高度非過程化、面向集合的操作方式、以同一種語法結(jié)構(gòu)提供兩種使用方式、語言簡(jiǎn)捷,易學(xué)易用。2 試述SQL的定義功

18、能。(87頁(yè))答:SQL的數(shù)據(jù)定義功能包括定義表、定義視圖和定義索引3 用SQL語句建立第二章習(xí)題5中的四個(gè)表。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)組成: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)工程項(xiàng)目表J由工程項(xiàng)目代碼(JNO)、工程項(xiàng)目名(JNAME)、所在城市(CITY)組成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)供應(yīng)情況表SPJ由供應(yīng)商代碼(SNO)、零件代碼(PNO)、工程項(xiàng)目代碼(JNO)、供應(yīng)數(shù)量(QTY)組成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2)4針對(duì)上題中建立

20、的四個(gè)表試用SQL語言完成第二章習(xí)題5中的查詢:(1) 求供應(yīng)工程J1零件的供應(yīng)商號(hào)碼SNO:SELECT DIST SNO FROM SPJ WHERE JNO=J1(2) 求供應(yīng)工程J1零件P1的供應(yīng)商號(hào)碼SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3) 求供應(yīng)工程J1零件為紅色的供應(yīng)商號(hào)碼SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='紅'(4) 求沒有使用天津供應(yīng)

21、商生產(chǎn)的紅色零件的工程號(hào)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) 求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)JNO。 由于VFP不允許子查詢嵌套太深,將查詢分為兩步A、查詢S1供應(yīng)商供應(yīng)的零件號(hào)SELECT DIST PNO FROM SPJ WHERE SNO='S1'結(jié)果是(P1,P2)B、查詢哪一個(gè)

22、工程既使用P1零件又使用P2零件。SELECT JNO FROM SPJ WHERE PNO='P1' AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')5針對(duì)習(xí)題3中的四個(gè)表試用SQL語言完成以下各項(xiàng)操作: (1)找出所有供應(yīng)商的姓名和所在城市。 SELECT SNAME,CITY FROM S(2)找出所有零件的名稱、顏色、重量。SELECT PNAME,COLOR,WEIGHT FROM P (3)找出使用供應(yīng)商S1所供應(yīng)零件的工程號(hào)碼。 SELECT DIST JNO FROM SPJ WHERE SNO=&#

23、39;S1'(4)找出工程項(xiàng)目J2使用的各種零件的名稱及其數(shù)量。SELECT PNAME,QTY FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2' (5)找出上海廠商供應(yīng)的所有零件號(hào)碼。SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'(6)出使用上海產(chǎn)的零件的工程名稱。SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO (7)找

24、出沒有使用天津產(chǎn)的零件的工程號(hào)碼。注意: 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)把全部紅色零件的顏色改成藍(lán)色。UPDATE P SET COLOR='藍(lán)' WHER

25、E COLOR='紅'(9)由S5供給J4的零件P6改為由S3供應(yīng)。 UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'(10)從供應(yīng)商關(guān)系中刪除供應(yīng)商號(hào)是S2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。 A、DELETE FROM S WHERE SNO=S2 B、DELETE FROM SPJ WHERE SNO=S2(11)請(qǐng)將(S2,J6,P4,200)插入供應(yīng)情況關(guān)系。 INSERT INTO SPJ VALUES(S2,J6,P

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

27、安全保護(hù)。8所有的視圖是否都可以更新?為什么?(127頁(yè))答:并不是所有的視圖都是可更新的,因?yàn)橛行┮晥D的更新不能唯一地有意義地轉(zhuǎn)換成對(duì)相應(yīng)基本表的更新。9哪類視圖是可以更新的,哪類視圖是不可更新的? 各舉一例說明。(127頁(yè))行列子集視圖是可更新的。除行列子集視圖外,還有些視圖理論上是可更新的,但它們的確切特征還是尚待研究的課題。還有些視圖從理論上不可更新的。10試述某個(gè)你熱悉的實(shí)際系統(tǒng)中對(duì)視圖更新的規(guī)定。(VFP)11請(qǐng)為三建工程項(xiàng)目建立一個(gè)供應(yīng)情況的視圖,包括供應(yīng)商代碼(SNO)、零件代碼(PNO)、供應(yīng)數(shù)量(QTY)。CREATE VIEW VSP AS SELECT SNO,PNO,

28、QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME='三 建'針對(duì)該視圖VSP完成下列查詢:(1)找出三建工程項(xiàng)目使用的各種零件代碼及其數(shù)量。SELECT DIST PNO,QTY FROM VSP(2)找出供應(yīng)商S1的供應(yīng)情況。SELECT DIST * FROM VSP WHERE SNO='S1'12針對(duì)習(xí)題3建立的表,用SQL語言完成以下各項(xiàng)操作:(1) 把對(duì)表S的INSERT權(quán)限授予用戶張勇,并允許他再將此權(quán)限授予其他用戶。GRANT INSERT ON TABLE S TO 張勇 WITH GRANT OPT

29、ION (2) 把查詢SPJ表和修改QTY屬性的權(quán)限授給用戶李天明。 GRANT SELECT,UPDATE(QTY) ON TABLE SPJ TO 李天明* 以 下 選 作 *13在嵌入式SQL中是如何區(qū)分SQL語句和主語言語句的? (133頁(yè))在嵌入式SQL中,為了能夠區(qū)分SQL語句與主語言語句,所有SQL語句都必須加前綴EXEC SQL。(VFP例外)14在嵌入式SQL中是如何解決數(shù)據(jù)庫(kù)工作單元與源程序工作單元之間通訊的?(134頁(yè))(1)向主語言傳遞SQL語句的執(zhí)行狀態(tài)信息,使主語言能夠據(jù)此信息控制程序流程,主要用SQL通信區(qū)(SQL Communication Area,簡(jiǎn)稱SQL

30、CA)實(shí)現(xiàn)。(2)主語言向SQL語句提供參數(shù),主要用主變量(Host Variable)實(shí)現(xiàn)。(3)將SQL語句查詢數(shù)據(jù)庫(kù)的結(jié)果交主語言進(jìn)一步處理,主要用主變量和游標(biāo)(Cursor)實(shí)現(xiàn)。15在嵌入式SQL中是如何協(xié)調(diào)SQL語言的集合處理方式和主語言的單記錄處理方式的? (135頁(yè))答:游標(biāo)是用于協(xié)調(diào)SQL語言的集合處理方式和主語言的單記錄處理方式。 SQL語言與主語言具有不同的數(shù)據(jù)處理方式。SQL語言是面向集合的,一條SQL語句原則上可以產(chǎn)生或處理多條記錄。主語言是面向記錄的,一組主變量一次只能存放一條記錄。所以僅使用主變量并不能完全滿足SQL語句向應(yīng)用程序輸出數(shù)據(jù)的要求,為此嵌入式SQL引

31、入了游標(biāo)的概念,用游標(biāo)來協(xié)調(diào)這兩種不同的處理方式。第4章 關(guān)系系統(tǒng)及其優(yōu)化習(xí)題參考答案1、給出各類關(guān)系系統(tǒng)的定義:最小關(guān)系的系統(tǒng);關(guān)系完備的系統(tǒng);全關(guān)系型的關(guān)系系統(tǒng)。(P153頁(yè))答:(最小)關(guān)系系統(tǒng):僅支持關(guān)系數(shù)據(jù)結(jié)構(gòu)和三種關(guān)系操作。許多微機(jī)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)如FoxBASE,F(xiàn)oxPro等就屬于這一類。 關(guān)系完備的系統(tǒng):這類系統(tǒng)支持關(guān)系數(shù)據(jù)結(jié)構(gòu)和所有的關(guān)系代數(shù)操作(功能上與關(guān)系代數(shù)等價(jià))。20世紀(jì)90年代初的許多關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)屬于這一類。 全關(guān)系系統(tǒng):這類系統(tǒng)支持關(guān)系模型的所有特征。即不僅是關(guān)系上完備的而且支持?jǐn)?shù)據(jù)結(jié)構(gòu)中域的概念,支持實(shí)體完整性和參照完整性。目前,大多數(shù)關(guān)系系統(tǒng)已不同程度上

32、接近或達(dá)到了這個(gè)目標(biāo)。3、試述查詢優(yōu)化在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中的重要性和可能性。(P157頁(yè)) 答:查詢優(yōu)化在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中有著非常重要的地位。關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)和非過程化的SQL語言能夠取得巨大的成功,關(guān)鍵是得益于查詢優(yōu)化技術(shù)的發(fā)展。關(guān)系查詢優(yōu)化是影響RDBMS性能的關(guān)鍵因素。優(yōu)化對(duì)關(guān)系系統(tǒng)來說既是挑戰(zhàn)又是機(jī)遇。所謂挑戰(zhàn)是指關(guān)系系統(tǒng)為了達(dá)到用戶可接受的性能必須進(jìn)行查詢優(yōu)化。由于關(guān)系表達(dá)式的語義級(jí)別很高,使關(guān)系系統(tǒng)可以從關(guān)系表達(dá)式中分析查詢語義,提供了執(zhí)行查詢優(yōu)化的可能性。這就為關(guān)系系統(tǒng)在性能上接近甚至超過非關(guān)系系統(tǒng)提供了機(jī)遇。4對(duì)學(xué)生-課程數(shù)據(jù)庫(kù)有如下的查詢:查詢信息系學(xué)生選修的所有課程名稱: SE

33、LECT Cname FROM St,Course,SC WHERE St.Sno=SC.Sno AND SC.Cno=Course.Cno AND St.Sdept=IS試畫出用關(guān)系代數(shù)表示的語法樹,并用關(guān)系代數(shù)表達(dá)式優(yōu)化算法對(duì)原始的語法樹進(jìn)行優(yōu)化處理,畫出優(yōu)化后的標(biāo)準(zhǔn)語法樹。答:關(guān)系代數(shù)表達(dá)式如下:cname(St.sdept=IS(st.sno=sc.Sno(sc.Cno=Course.Cno(ST×SC×COURSE)用關(guān)系代數(shù)表示的語法樹如下左圖: 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用關(guān)系代數(shù)表達(dá)式優(yōu)化算法對(duì)原關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化,優(yōu)化后的關(guān)系代數(shù)表達(dá)式如下:cname(o=o(St.sno=sc.sno(sno(St.sdept=IS(ST)×sno,cno(SC) ×cno,cname(Course)優(yōu)化處理后的標(biāo)準(zhǔn)語法樹如上右圖。5 試述查詢優(yōu)化的一般準(zhǔn)則。(P161-162頁(yè))答:1)選擇運(yùn)算應(yīng)盡可能先做。 2)在執(zhí)行連接前對(duì)關(guān)系適當(dāng)?shù)仡A(yù)處理。

35、3)把投影運(yùn)算和選擇運(yùn)算同時(shí)進(jìn)行。4)把投影同其前或其后的雙目運(yùn)算結(jié)合起來。5)把某些選擇同在它前面要執(zhí)行的笛卡爾積結(jié)合起來成為一個(gè)連接運(yùn)算。6)找出公共子表達(dá)式。6 試述查詢優(yōu)化的一般步驟。( 165頁(yè))答: (1)把查詢轉(zhuǎn)換成某種內(nèi)部表示。(2)把語法樹轉(zhuǎn)換成標(biāo)準(zhǔn)(優(yōu)化)形式。(3)選擇低層的存取路徑。(4)生成查詢計(jì)劃,選擇代價(jià)最小的。第5章 關(guān)系數(shù)據(jù)理論習(xí)題參考答案規(guī)范化定義小結(jié):定義1:設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y是屬性集U的子集。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)確定Y或Y函數(shù)依賴于X,記作X

36、àY。(即只要X上的屬性值相等,Y上的值一定相等。)術(shù)語和記號(hào):(P173頁(yè))l XàY,但Y不是X的子集,則稱XàY是非平凡的函數(shù)依賴。若不特別聲明,總是討論非平凡的函數(shù)依賴。l XàY,但Y是X的子集,則稱XàY是平凡的函數(shù)依賴。l 若XàY,則X叫做決定因素(Determinant)。l 若XàY,YàX,則記作XßàY。l 若Y不函數(shù)依賴于X,則記作X à Y。定義2:在R(U)中,如果 XàY,并且對(duì)于X的任何一個(gè)真子集X,都有X à Y,則稱Y對(duì)X完全函

37、數(shù)依賴,記作: FXàY 若XàY,但Y不完全函數(shù)依賴于X,則稱Y對(duì)X部分函數(shù)依賴,記作: PXàY定義3:若關(guān)系模式R的每一個(gè)分量是不可再分的數(shù)據(jù)項(xiàng),則關(guān)系模式R屬于第一范式(1NF)。定義4:若關(guān)系模式R1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則關(guān)系模式R2NF 。(即1NF消除了非主屬性對(duì)碼的部分函數(shù)依賴則成為2NF)。定義5:關(guān)系模式R<U,F(xiàn)> 中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z不是Y的子集)使得XàY,Y à X,Y à Z成立,則稱R<U,F(xiàn)>3NF。定義6:關(guān)系模式R<U,F(xiàn)

38、>1NF 。若XàY且Y不是X的子集時(shí),X必含有碼,則R<U,F(xiàn)>BCNF。定義7:關(guān)系模式R<U,F(xiàn)>1NF,如果對(duì)于R的每個(gè)非平凡多值依賴XààY(Y不是X的子集,Z=U-X-Y不為空),X都含有碼,則稱R<U,F(xiàn)>4NF。習(xí)題如下: 2建立一個(gè)關(guān)于系、學(xué)生、班級(jí)、學(xué)會(huì)等諸信息的關(guān)系數(shù)據(jù)庫(kù)。學(xué)生:學(xué)號(hào)、姓名、出生年月、系名、班號(hào)、宿舍區(qū)。班級(jí):班號(hào)、專業(yè)名、系名、人數(shù)、入校年份。系:系名、系號(hào)、系辦公地點(diǎn)、人數(shù)。學(xué)會(huì):學(xué)會(huì)名、成立年份、辦公地點(diǎn)、人數(shù)。 語義如下:一個(gè)系有若干專業(yè),每個(gè)專業(yè)每年只招一個(gè)班,每個(gè)班有若干學(xué)

39、生。一個(gè)系的學(xué)生住在同一宿舍區(qū)。每個(gè)學(xué)生可參加若干學(xué)會(huì),每個(gè)學(xué)會(huì)有若干學(xué)生。學(xué)生參加某學(xué)會(huì)有一個(gè)入會(huì)年份。 請(qǐng)給出關(guān)系模式,寫出每個(gè)關(guān)系模式的極小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對(duì)于函數(shù)依賴左部是多屬性的情況討論函數(shù)依賴是完全函數(shù)依賴,還是部分函數(shù)依賴。指出各關(guān)系模式的候選碼、外部碼,有沒有全碼存在?解:(1)關(guān)系模式如下: 學(xué)生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班級(jí):C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept,Dno,Office,Dnum) 學(xué)會(huì):M(Mname,Myear,Maddr,Mnum) (2)每個(gè)關(guān)

40、系模式的最小函數(shù)依賴集如下: A、學(xué)生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函數(shù)依賴集如下:SnoàSname,SnoàSbirth,SnoàClass,ClassàDept,DEPTàRno 傳遞依賴如下:由于SnoàDept,而DeptàSno ,DeptàRno(宿舍區(qū))所以Sno與Rno之間存在著傳遞函數(shù)依賴。 由于ClassàDept,Dept à Class,DeptàRno 所以Class與Rno之間存在著傳遞函數(shù)依賴。 由于Sno

41、àClass,ClassàSno,ClassàDept 所以Sno與Dept之間存在著傳遞函數(shù)依賴。 B、班級(jí)C(Class,Pname,Dept,Cnum,Cyear)的最小函數(shù)依賴集如下: ClassàPname,ClassàCnum,ClassàCyear,PnameàDept. 由于ClassàPname,PnameàClass,PnameàDept 所以C1ass與Dept之間存在著傳遞函數(shù)依賴。 C、系D(Dept,Dno,Office,Dnum)的最小函數(shù)依賴集如下: Dept&#

42、224;Dno,DnoàDept,DnoàOffice,DnoàDnum 根據(jù)上述函數(shù)依賴可知,Dept與Office,Dept與Dnum之間不存在傳遞依賴。 D、學(xué)會(huì)M(Mname,Myear,Maddr,Mnum)的最小函數(shù)依賴集如下: MnameàMyear,MnameàMaddr,MnameàMnum 該模式不存在傳遞依賴。 (3)各關(guān)系模式的候選碼、外部碼,全碼如下: A、學(xué)生S候選碼:Sno;外部碼:Dept、Class;無全碼 B、班級(jí)C候選碼:Class;外部碼:Dept;無全碼 C、系D候選碼:Dept或Dno;無外

43、部碼;無全碼 D、學(xué)會(huì)M候選碼:Mname;無外部碼;無全碼 12下面的結(jié)論哪些是正確的? 哪些是錯(cuò)誤的? 對(duì)于錯(cuò)誤的請(qǐng)給一個(gè)反例說明之。(1) 任何一個(gè)二目關(guān)系是屬于3NF。答:正確。因?yàn)殛P(guān)系模式中只有兩個(gè)屬性,所以無傳遞。(2) 任何一個(gè)二目關(guān)系是屬于BCNF.答:正確。按BCNF的定義,若XàY,且Y不是X的子集時(shí),每個(gè)決定因素都包含碼,對(duì)于二目關(guān)系決定因素必然包含碼。詳細(xì)證明如下:(任何二元關(guān)系模式必定是BCNF)。證明:設(shè)R為一個(gè)二目關(guān)系R(A1,A2),則屬性A1和A2之間可能存在以下幾種依賴關(guān)系:A、A1àA2,但A2àA1,則關(guān)系R的碼為A1,決定

44、因素都包含碼,所以,R是BCNF。B、A1àA2,A2àA1,則關(guān)系R的碼為A2,所以決定因素都包含碼,R是BCNF。包含碼。R是BCNF。C、R的碼為(A1,A2)(即A1 àA2,A2 àA1),決定因素都(3)任何一個(gè)二目關(guān)系是屬于4NF.答:正確。因?yàn)橹挥袃蓚€(gè)屬性,所以無非平凡的多值依賴。第 5 章 關(guān)系數(shù)據(jù)理論習(xí)題參考答案(補(bǔ)充)1 已知學(xué)生關(guān)系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno學(xué)號(hào)、Sname姓名、SD系名、Sdname系主任名、Course課程、Grade成績(jī)。(1)寫出關(guān)系模式S的基本函

45、數(shù)依賴和主碼。答: 關(guān)系模式S的基本函數(shù)依賴如下: SnoSname,SDSdname,SnoSD,(Sno,Course) Grade關(guān)系模式S的碼為:(Sno,Course)。(2)原關(guān)系模式S為幾范式?為什么?分解成高一級(jí)范式,并說明為什么?答: 原關(guān)系模式S是屬于1NF的,碼為(Sno,Course),非主屬性中的成績(jī)完全依賴于碼,而其它非主屬性對(duì)碼的函數(shù)依賴為部分函數(shù)依賴,所以不屬于2NF。消除非主屬性對(duì)碼的函數(shù)依賴為部分函數(shù)依賴,將關(guān)系模式分解成2NF如下:S1(Sno,Sname,SD,Sdname)、S2(Sno,Course,Grade)(3)將關(guān)系模式分解成3NF,并說明為

46、什么? 答: 將上述關(guān)系模式分解成3NF如下: 關(guān)系模式S1中存在SnoSD,SDSdname,即非主屬性Sdname傳遞依賴于Sno,所以S1不是3NF。進(jìn)一步分解如下: S11(Sno,Sname,SD) S12(SD,Sdname) 分解后的關(guān)系模式S11、S12滿足3NF。 對(duì)關(guān)系模式S2不存在非主屬性對(duì)碼的傳遞依賴,故屬于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解滿足3NF。S11(Sno,Sname,SD) S12(SD,Sdname)S2(Sno,Course,Grade)2、設(shè)有如圖所示的學(xué)生關(guān)系S學(xué)號(hào)學(xué)生名年齡性別系號(hào)

47、系名100001200001200002300001300004300005王 婧張 露黎明遠(yuǎn)王 燁張 露潘 建181920212019女女男男女男122333通信工程電子工程電子工程計(jì)算機(jī)計(jì)算機(jī)計(jì)算機(jī)試問S是否屬于3NF? 為什么?若不是,它屬于幾范式? 并將其規(guī)范化為3NF.解:S不屬于3NF,它屬于2NF。S的候選關(guān)鍵字為“學(xué)號(hào)”。依賴關(guān)系:學(xué)號(hào)系號(hào), 系號(hào)系名,系號(hào) 學(xué)號(hào)所以: 學(xué)號(hào)系名,即存在非主屬性系名對(duì)候選關(guān)鍵字“學(xué)號(hào)”的傳遞依賴,S不是3NF.在S中所有非主屬性均依賴于碼學(xué)號(hào),所以S是2NF。將S分解成: S1(學(xué)號(hào),學(xué)生名,年齡,性別,系號(hào))、S2(系號(hào),系名),分解后的Sl

48、與S2如圖所示: 關(guān)系模式S1如下: 學(xué)號(hào)學(xué)生名年齡性別系號(hào)100001200001200002300001300004300005王 婧張 露黎明遠(yuǎn)王 燁張 霹潘 建181920212019女女男男女男122333關(guān)系模式S2如下:系號(hào)系名123通信工程電子工程計(jì)算機(jī)關(guān)系模式S1、S2上無傳遞依賴,它們是3NF。3.設(shè)有如下關(guān)系R課程名教師名教師地址C1C2C3C4馬千里于得水余快于得水D1D1D2D1(1) 它為第幾范式? 為什么?解:它是2NF。因?yàn)镽的候選關(guān)鍵字為“課程名”。依賴關(guān)系: 課程名教師名,教師名 課程名,教師名教師地址,所以 課程名教師地址。即存在非主屬性“教師地址”對(duì)候選

49、關(guān)鍵字課程名的傳遞函數(shù),因此R不是3NF。但:因?yàn)椴淮嬖诜侵鲗傩詫?duì)候選關(guān)鍵字的部分函數(shù)依賴,所以R是2NF。(2)是否存在刪除操作異常?若存在,則說明是在什么情況下發(fā)生的?解: 存在。當(dāng)刪除某門課程時(shí)會(huì)刪除不該刪除的教師的有關(guān)信息。(3)將它分解為高一級(jí)范式,分解后的關(guān)系是如何解決分解前可能存在的刪除操作異常問題?解: 分解為高一級(jí)范式如圖所示。R1如下: R2如下:教師名教師地址馬千里于得水余快D1 D1D2課程名教師名C1C2C3C4馬千里于得水余快于得水分解后,若刪除課程數(shù)據(jù)時(shí),僅對(duì)關(guān)系R1操作,教師地址信息在關(guān)系R2中仍然保留,不會(huì)丟失教師方面的信息。4設(shè)有如圖所示的關(guān)系R。職工號(hào)職工

50、名年齡性別單位號(hào)單位名E1ZHAO20FD3CCCE2QIAN25MD1AAAE3SEN38MD3CCCE4L125FD3CCC試問R屬于3NF? 為什么?若不是,它屬于第幾范式? 并如何規(guī)范化為3NF?解:R不屬于3NF,它是2NF。R的候選關(guān)鍵字為職工號(hào)和職工名,而:職工號(hào)單位號(hào),單位號(hào) 職工號(hào),單位號(hào)單位名.所以,職工號(hào)單位名,即存在非主屬性“單位名”對(duì)候選關(guān)鍵字職工號(hào)的傳遞函數(shù)依賴,所以R不是3NF,規(guī)范化后的關(guān)系子模式為如下圖。R1如下: R2如下:職工號(hào)職工名年齡性別單位號(hào)E1E2E3E4ZHAOQIANSENL120253825 F M M FD3D1D3D3位號(hào)單位名D3D1C

51、CCAAA5、如下圖給出的關(guān)系SC為第幾范式?是否存在插入、刪除異常?若存在,則說明是在什么情況下發(fā)生?發(fā)生的原因是什么?將它分解為高一級(jí)范式,分解后的關(guān)系能否解決操作異常問題。 表SC如下:SNOCNOCTITLEINAMEILOCAGRADE80152C1OS王平D17080153C2DB高升D28580154C1OS王平D18680154C3AI楊楊D37280155C4CL高升D292其中:SNO為學(xué)號(hào),CNO為課程號(hào),CTITLE為課程名,INAME為教師名,ILOCA為教師地址,GRADE為成績(jī)。解:SC為1NF。它存在插入、刪除異常操作。當(dāng)增設(shè)一門新課程時(shí),因還沒有學(xué)生選修,則缺

52、少關(guān)鍵字的一部分SNO而不能執(zhí)行插入操作;當(dāng)所有學(xué)生退選某門課程而進(jìn)行刪除操作時(shí),會(huì)將不法刪除的課程信息刪除。SC關(guān)系中存在插入和刪除操作異常的原因在于,該關(guān)系的候選關(guān)鍵字為(SNO,CN0),其中僅有非屬性GRADE完全函數(shù)依賴于(SNO,CNO),其他非主屬性CTITLE、INAME、ILOCA都只函數(shù)依賴于CNO,即它們與(SNO,CNO)為部分函數(shù)依賴關(guān)系。分解后的關(guān)系模式如下:SG 如下: SNOCNOGRADE015280153801548015480155C1C2C1C3C47085867295OCTITLEINAMEILOCAC1C2C3C4OSDBAICL王平高升楊楊高升D1

53、D2D3D2CI如下:分解后的兩個(gè)關(guān)系子模式都為2NF(實(shí)際上,SG是3NF,它無傳遞依賴)。解決了先前的插入、刪除異常操作。當(dāng)增設(shè)一門新課程時(shí),可將數(shù)據(jù)插入到CI表中;當(dāng)所有學(xué)生退選某門課程時(shí),只需刪除SG表中的有關(guān)記錄,而該課程的有關(guān)信息仍保留在CI表中。分解2NF后的CI關(guān)系中仍存在插入、刪除操作異常。若有一個(gè)新教師報(bào)到,需將其有關(guān)數(shù)據(jù)插入操作;當(dāng)取消某門課程而刪除CI表中的一條記錄時(shí),會(huì)將不該刪除的教師的有關(guān)信息刪除。CI表中出現(xiàn)操作異常的原因是該關(guān)系中存在非主屬性對(duì)候選關(guān)鍵字的傳遞函數(shù)依賴:CNOINAME,INAME CNO,INAMEILOCA,所以CNOILOCA(函數(shù)傳遞依賴,CI不是3NF) 將CI進(jìn)一步分解為如下所示的Course和Inst兩個(gè)關(guān)系,可以解決上述操作異常。COURSE INSTINAMEILOCA王子高升楊楊 D1 D2 D3 CNOCTITLEINAMEC1C2C3C4OSDBAICL王平高升楊楊高升第6章 數(shù)據(jù)庫(kù)設(shè)計(jì)習(xí)題參考答案1. 數(shù)據(jù)庫(kù)的設(shè)計(jì)過程。(P205頁(yè))答:按照規(guī)范設(shè)計(jì)的方法,考慮數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下六個(gè)階段l 需求分析.l 概念結(jié)構(gòu)設(shè)計(jì).l 邏輯結(jié)構(gòu)設(shè)計(jì).l 物理結(jié)構(gòu)設(shè)計(jì).l 數(shù)據(jù)庫(kù)實(shí)施 .l 數(shù)據(jù)庫(kù)運(yùn)行和維護(hù) .2試述數(shù)據(jù)庫(kù)設(shè)計(jì)過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論