《數(shù)據(jù)庫(kù)原理與應(yīng)用》 孟凡榮閆艷 課后習(xí)題答案 word版
Word版 完整版-第一章1.1 名詞解釋數(shù)據(jù)庫(kù)(DB) 數(shù)據(jù)庫(kù)系統(tǒng)(DBS) 數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS) 實(shí)體 實(shí)體集 屬性 關(guān)鍵字?jǐn)?shù)據(jù)模型 概念數(shù)據(jù)模型 關(guān)系模型模式 外模式 內(nèi)模式 數(shù)據(jù)獨(dú)立性 邏輯數(shù)據(jù)獨(dú)立性 物理數(shù)據(jù)獨(dú)立性一對(duì)一聯(lián)系 一對(duì)多聯(lián)系 多對(duì)多聯(lián)系數(shù)據(jù)庫(kù)(DB):在計(jì)算機(jī)的存儲(chǔ)設(shè)備上合理存放、相關(guān)聯(lián)、有結(jié)構(gòu)的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)系統(tǒng)(DBS):在計(jì)算機(jī)系統(tǒng)中引進(jìn)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)后的組成?;蛘呤菍?shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量相關(guān)的結(jié)構(gòu)化數(shù)據(jù),方便用戶使用數(shù)據(jù)庫(kù)的計(jì)算機(jī)軟件、硬件資源組成的系統(tǒng)。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):一個(gè)操縱和管理數(shù)據(jù)庫(kù)的大型軟件,它由一組計(jì)算機(jī)程序構(gòu)成。它是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。實(shí)體:客觀存在并可相互區(qū)別的個(gè)體。實(shí)體集:具有相同實(shí)體特性實(shí)體的集合。屬性:表示實(shí)體的特性。關(guān)鍵字:能夠唯一標(biāo)識(shí)文件中的某一個(gè)記錄的最小字段集。數(shù)據(jù)模型:現(xiàn)實(shí)世界數(shù)據(jù)與信息的模擬和抽象。概念數(shù)據(jù)模型:簡(jiǎn)稱概念模型,是獨(dú)立于計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)模型,完全不涉及信息在計(jì)算機(jī)中的表示,是面向數(shù)據(jù)庫(kù)用戶的現(xiàn)實(shí)世界模型,主要用來描述現(xiàn)實(shí)世界的概念化結(jié)構(gòu)。關(guān)系模型:是最重要的一種數(shù)據(jù)模型,也是目前主要采用的數(shù)據(jù)模型,用二維表格表示現(xiàn)實(shí)世界實(shí)體集及實(shí)體集間的聯(lián)系。模式:是由數(shù)據(jù)庫(kù)設(shè)計(jì)者綜合所有用戶數(shù)據(jù),按照統(tǒng)一的觀點(diǎn)構(gòu)造的對(duì)數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)的描述。外模式:介于模式與應(yīng)用之間,是用戶與數(shù)據(jù)庫(kù)之間的接口,是數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。內(nèi)模式:也稱存儲(chǔ)模式,是對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。數(shù)據(jù)獨(dú)立性:應(yīng)用程序和數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,不受影響。邏輯數(shù)據(jù)獨(dú)立性:表示一旦模式發(fā)生變化,無需改變外模式或應(yīng)用程序的能力。物理數(shù)據(jù)獨(dú)立性:表示不會(huì)因?yàn)閮?nèi)模式發(fā)生改變而導(dǎo)致概念模式發(fā)生改變的能力。一對(duì)一聯(lián)系:設(shè)有兩個(gè)實(shí)體集A、B,如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,B中至多有一個(gè)實(shí)體與之有聯(lián)系,反之亦然,則稱A、B有一對(duì)一聯(lián)系(1: 1聯(lián)系)。一對(duì)多聯(lián)系:設(shè)有兩個(gè)實(shí)體集A、B,若A中每個(gè)實(shí)體與B中任意個(gè)實(shí)體(包括零個(gè))相聯(lián)系,而B中每個(gè)實(shí)體至多和A中一個(gè)實(shí)體有聯(lián)系,則稱A和B是一對(duì)多聯(lián)系(1:n聯(lián)系)。多對(duì)多聯(lián)系:設(shè)有兩個(gè)實(shí)體集A、B,若兩個(gè)實(shí)體集A、B中的每一個(gè)實(shí)體都和另一個(gè)實(shí)體集中任意個(gè)實(shí)體(包括零個(gè))有聯(lián)系,則稱A、B是多對(duì)多聯(lián)系(m:n聯(lián)系)。1.2判斷下列說法是否正確數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)主要特點(diǎn)是數(shù)據(jù)無冗余。數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)構(gòu)成了數(shù)據(jù)庫(kù)系統(tǒng)。數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫(kù)和文件系統(tǒng)的根本區(qū)別。若干個(gè)屬性集合就能描述一個(gè)對(duì)象。數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)具有完全獨(dú)立性。 DBA主要職責(zé)是管理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。數(shù)據(jù)庫(kù)避免了一切數(shù)據(jù)重復(fù)。數(shù)據(jù)操作語言是一個(gè)高級(jí)語言。非過程化語言比過程化語言好。模式是數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)的描述。三級(jí)模式結(jié)構(gòu)是數(shù)據(jù)庫(kù)唯一的一種分級(jí)模式結(jié)構(gòu)。層次數(shù)據(jù)模型和網(wǎng)狀數(shù)據(jù)模型都可用關(guān)系數(shù)據(jù)模型表示。關(guān)系模型不僅可以描述實(shí)體,還可以描述實(shí)體及實(shí)體集之間的聯(lián)系。關(guān)系數(shù)據(jù)模型與網(wǎng)狀數(shù)據(jù)模型相比具有查詢效率高的優(yōu)點(diǎn)。網(wǎng)狀數(shù)據(jù)模型可以直接表示M:N的聯(lián)系。概念模型獨(dú)立于硬件設(shè)備和DBMS。視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的物理獨(dú)立性。實(shí)體是信息世界中的術(shù)語,與之相對(duì)應(yīng)的數(shù)據(jù)庫(kù)術(shù)語為字段。數(shù)據(jù)庫(kù)系統(tǒng)的核心工作就是完成用戶級(jí)數(shù)據(jù)庫(kù)、概念級(jí)數(shù)據(jù)庫(kù)和物理級(jí)數(shù)據(jù)庫(kù)之間的映射。一個(gè)網(wǎng)狀數(shù)據(jù)結(jié)構(gòu)模型可以變換為一個(gè)等價(jià)的層次數(shù)據(jù)結(jié)構(gòu)模型,這種變換以存儲(chǔ)空間為代價(jià)。1-5:,6-10:,11-15:,16-20:,1.3簡(jiǎn)答下列各題數(shù)據(jù)管理技術(shù)的發(fā)展過程。計(jì)算機(jī)技術(shù)的發(fā)展使得數(shù)據(jù)管理技術(shù)也不斷向前發(fā)展,至今,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。數(shù)據(jù)庫(kù)系統(tǒng)的三個(gè)發(fā)展階段是什么?1)層次型和網(wǎng)狀型: 代表產(chǎn)品是1969年IBM公司研制的層次模型數(shù)據(jù)庫(kù)管理系統(tǒng)IMS。 2)關(guān)系型數(shù)據(jù)型庫(kù): 目前大部分?jǐn)?shù)據(jù)庫(kù)采用的是關(guān)系型數(shù)據(jù)庫(kù)。1970年IBM公司的研究員E.F.Codd提出了關(guān)系模型。典型的關(guān)系DBMS產(chǎn)品有Oracle、Sybase、SQL Server、DB2、Access、VFP等等。 3)第三代數(shù)據(jù)庫(kù)將為更加豐富的數(shù)據(jù)模型和更強(qiáng)大的數(shù)據(jù)管理功能為特征,以提供傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)難以支持的新應(yīng)用。它必須支持面向?qū)ο?,具有開放性,能夠在多個(gè)平臺(tái)上使用。文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)有何區(qū)別和聯(lián)系?文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)之間的區(qū)別:1) 文件系統(tǒng)用文件將數(shù)據(jù)長(zhǎng)期保存在外存上,數(shù)據(jù)庫(kù)系統(tǒng)用數(shù)據(jù)庫(kù)統(tǒng)一存儲(chǔ)數(shù)據(jù);2) 文件系統(tǒng)中的程序和數(shù)據(jù)有一定的聯(lián)系,數(shù)據(jù)庫(kù)系統(tǒng)中的程序和數(shù)據(jù)分離,數(shù)據(jù)具有較高的獨(dú)立性; 3) 文件系統(tǒng)用操作系統(tǒng)中的存取方法對(duì)數(shù)據(jù)進(jìn)行管理,數(shù)據(jù)庫(kù)系統(tǒng)用DBMS統(tǒng)一管理和控制數(shù)據(jù); 4) 文件系統(tǒng)實(shí)現(xiàn)以文件為單位的數(shù)據(jù)共享,數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)以記錄和字段為單位的數(shù)據(jù)共享,數(shù)據(jù)結(jié)構(gòu)化,冗余度小。 文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)之間的聯(lián)系: 1) 均為數(shù)據(jù)組織的管理技術(shù); 2) 均由數(shù)據(jù)管理軟件管理數(shù)據(jù),程序與數(shù)據(jù)之間用存取方法進(jìn)行轉(zhuǎn)換;3) 數(shù)據(jù)庫(kù)系統(tǒng)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展而來的。數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)。1)采用一定的數(shù)據(jù)模型實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)化2)數(shù)據(jù)共享、冗余度小、避免了數(shù)據(jù)的不一致3)具有較高的數(shù)據(jù)獨(dú)立性4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制何謂數(shù)據(jù)的物理獨(dú)立性與數(shù)據(jù)的邏輯獨(dú)立性?邏輯獨(dú)立性表示一旦模式發(fā)生變化,無需改變外模式或應(yīng)用程序的能力。物理獨(dú)立性表示不會(huì)因?yàn)閮?nèi)模式發(fā)生改變而導(dǎo)致概念模式發(fā)生改變的能力。數(shù)據(jù)模型的三要素。1)數(shù)據(jù)結(jié)構(gòu);2)數(shù)據(jù)操作;3)數(shù)據(jù)完整性。舉例說明實(shí)體集之間具有1:1、1:n、m:n的聯(lián)系。例如,有四個(gè)實(shí)體集:學(xué)生、學(xué)校、教師、校長(zhǎng),校長(zhǎng)和學(xué)校為1:1聯(lián)系,學(xué)生和學(xué)校為1:n聯(lián)系,學(xué)生和老師為m:n聯(lián)系。關(guān)系數(shù)據(jù)模型的特點(diǎn)是什么?關(guān)系數(shù)據(jù)模型的主要特征是用二維表格表示現(xiàn)實(shí)世界實(shí)體集及實(shí)體集間的聯(lián)系。具有堅(jiān)實(shí)的理論基礎(chǔ)、表達(dá)能力強(qiáng)、簡(jiǎn)單和數(shù)據(jù)獨(dú)立性高等優(yōu)點(diǎn),缺點(diǎn)是存取效率比較低。何謂空值?所謂空值就是“不知道”或“無意義”的值。沒有給某個(gè)屬性賦值,則稱其值為空(NULL)。層次數(shù)據(jù)模型、網(wǎng)狀數(shù)據(jù)模型和關(guān)系數(shù)據(jù)模型的優(yōu)點(diǎn)和缺點(diǎn)。1)層次模型具有查詢效率較高、結(jié)構(gòu)簡(jiǎn)單、層次分明,便于在計(jì)算機(jī)內(nèi)實(shí)現(xiàn)的優(yōu)點(diǎn),在層次數(shù)據(jù)結(jié)構(gòu)中,從根結(jié)點(diǎn)到樹中任意結(jié)點(diǎn)均存在一條唯一的層次路徑,為有效地進(jìn)行數(shù)據(jù)操縱也提供了條件,并且層次數(shù)據(jù)模型提供了良好的完整性支持。但層次模型也有缺點(diǎn),一是層次數(shù)據(jù)模型缺乏直接表達(dá)現(xiàn)實(shí)世界中非層次型結(jié)構(gòu)的復(fù)雜聯(lián)系,二是層次順序的嚴(yán)格限制,使得對(duì)插入或刪除操作也帶來了較多的限制,并且查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn),所以使得應(yīng)用程序的編寫也比較復(fù)雜。2)網(wǎng)狀模型的主要優(yōu)點(diǎn)是能直接描述現(xiàn)實(shí)世界,記錄之間的聯(lián)系也是通過指針來實(shí)現(xiàn)的,所以查詢效率高。缺點(diǎn)是結(jié)構(gòu)和編程復(fù)雜,難掌握,不易使用。3)關(guān)系模型有堅(jiān)實(shí)的理論基礎(chǔ)。二維表不僅能表示實(shí)體集,而且能方便地表示實(shí)體集間的聯(lián)系,所以說它有很強(qiáng)的表達(dá)能力,這是層次模型和網(wǎng)狀模型所不及的。關(guān)系模型具有簡(jiǎn)單、易學(xué)易用的優(yōu)點(diǎn)。數(shù)據(jù)獨(dú)立性高。關(guān)系模型缺點(diǎn)是查詢效率常常不如非關(guān)系數(shù)據(jù)模型。舉例說明E-R圖的構(gòu)成規(guī)則。方 框:表示一實(shí)體集,在框內(nèi)寫上實(shí)體集的名字菱形框:表示聯(lián)系,菱形框內(nèi)標(biāo)明聯(lián)系名,與其相關(guān)的實(shí)體集之間用箭頭表示,一個(gè)箭頭代表為1,兩個(gè)箭頭代表為多。 橢圓框:表示屬性,在框內(nèi)寫上屬性的名字,并用無向邊連向與其相關(guān)的實(shí)體集或聯(lián)系。在E-R圖中,有時(shí)為了突出各實(shí)體集之間的聯(lián)系,可以先畫出實(shí)體集及其屬性,然后再重點(diǎn)畫出實(shí)體之間的聯(lián)系。如圖1,圖2所示。圖1 學(xué)生實(shí)體及其屬性圖2 實(shí)體之間聯(lián)系什么是外部模式?概念模式??jī)?nèi)部模式?它們之間有何聯(lián)系?這種分級(jí)結(jié)構(gòu)的優(yōu)點(diǎn)是什么?外部模式又稱子模式,介于模式與應(yīng)用之間,是用戶與數(shù)據(jù)庫(kù)之間的接口,是數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。概念模式簡(jiǎn)稱模式,是由數(shù)據(jù)庫(kù)設(shè)計(jì)者綜合所有用戶數(shù)據(jù),按照統(tǒng)一的觀點(diǎn)構(gòu)造的對(duì)數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)的描述。內(nèi)部模式也稱存儲(chǔ)模式,是對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)從邏輯上可以劃分為三個(gè)層次:外部模式(External Schema),概念模式(Conceptual Schema)和內(nèi)部模式(Internal Schema),稱為數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式是對(duì)數(shù)據(jù)進(jìn)行三個(gè)級(jí)別的抽象。它把數(shù)據(jù)的具體組織留給DBMS去做,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在機(jī)器中的具體表示方式和存儲(chǔ)方式。數(shù)據(jù)庫(kù)的三級(jí)結(jié)構(gòu)是依靠映像來聯(lián)系和互相轉(zhuǎn)換的。正是這兩層映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)具有較高的數(shù)據(jù)獨(dú)立性。什么是數(shù)據(jù)獨(dú)立性?在數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)中是如何體現(xiàn)的?1)數(shù)據(jù)獨(dú)立性:數(shù)據(jù)庫(kù)系統(tǒng)在某一層次模式上的改變不會(huì)使它的上一層模式也發(fā)生改變的過程。數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的邏輯獨(dú)立性和物理獨(dú)立性兩種。2) 一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)從邏輯上可以劃分為三個(gè)層次:外部模式(External Schema),概念模式(Conceptual Schema)和內(nèi)部模式(Internal Schema),稱為數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)。數(shù)據(jù)庫(kù)的三級(jí)結(jié)構(gòu)是依靠外模式/模式映像和模式/內(nèi)模式映像來聯(lián)系和互相轉(zhuǎn)換的。正是這兩層映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)具有較高的數(shù)據(jù)獨(dú)立性,其中外模式/模式映像保證邏輯獨(dú)立性,模式/內(nèi)模式映像保證物理獨(dú)立性。數(shù)據(jù)庫(kù)系統(tǒng)的軟件包括哪些主要成份?基本的系統(tǒng)軟件是操作系統(tǒng),其它任何軟件都必須在它的支持下工作。除操作系統(tǒng)之外,還必須配有數(shù)據(jù)庫(kù)管理系統(tǒng),沒有數(shù)據(jù)庫(kù)管理系統(tǒng)也就不能稱其為是數(shù)據(jù)庫(kù)系統(tǒng)。同時(shí),為了開發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),還需要有各種高級(jí)語言及其編譯系統(tǒng)。什么是數(shù)據(jù)字典?它在數(shù)據(jù)庫(kù)中的作用是什么?數(shù)據(jù)字典(Data Dictionary)是描述各級(jí)模式的信息,主要包括所有數(shù)據(jù)的結(jié)構(gòu)名、意義、描述定義、存儲(chǔ)格式、完整性約束、使用權(quán)限等信息。由于數(shù)據(jù)字典包含了數(shù)據(jù)庫(kù)系統(tǒng)中的大量描述信息(而不是用戶數(shù)據(jù)),因此也稱它為“描述信息庫(kù)”。數(shù)據(jù)字典是DBMS存取和管理數(shù)據(jù)的基本依據(jù),主要由系統(tǒng)管理和使用 DBA的主要職責(zé)是什么?參與數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)與建立。對(duì)系統(tǒng)的運(yùn)行實(shí)行監(jiān)控。定義數(shù)據(jù)的安全性要求和完整性約束條件。負(fù)責(zé)數(shù)據(jù)庫(kù)性能的改進(jìn)和數(shù)據(jù)庫(kù)的重組及重構(gòu)工作。用戶訪問數(shù)據(jù)庫(kù)的過程。1)接受應(yīng)用程序的數(shù)據(jù)請(qǐng)求 2)DBMS對(duì)用戶的操作請(qǐng)求進(jìn)行分析3)數(shù)據(jù)庫(kù)管理系統(tǒng)要向操作系統(tǒng)發(fā)出操作請(qǐng)求4)操作系統(tǒng)接到命令后,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行處理,將結(jié)果送到系統(tǒng)緩沖區(qū),并發(fā)出讀完標(biāo)志。5)DBMS接到回答信號(hào)后,將緩沖區(qū)的數(shù)據(jù)經(jīng)過模式映射,變成用戶的邏輯記錄送到用戶工作區(qū),同時(shí)給用戶回答成功與否的信息。關(guān)系數(shù)據(jù)庫(kù)完整性約束有哪些?舉例說明。1)實(shí)體完整性約束:實(shí)體完整性約束是指任一關(guān)系中標(biāo)識(shí)屬性(關(guān)鍵字)的值,不能為NULL,否則,無法識(shí)別關(guān)系中的元組。2)參照完整性約束:參照完整性是不同關(guān)系間的一種約束,當(dāng)存在關(guān)系間的引用時(shí),要求不能引用不存在的元組。若屬性組F是關(guān)系R(U)的外關(guān)鍵字,并是關(guān)系S(U)的關(guān)鍵字(即F不是R(U)的關(guān)鍵字,而是S(U)的關(guān)鍵字,稱F是R(U)的外關(guān)鍵字),則對(duì)于R(U)中的每個(gè)元組在屬性組F上的值必須為:空值(NULL)或者等于S(U)中某個(gè)元組的關(guān)鍵字值。3)用戶定義完整性約束。如值的類型、寬度等。有控制的冗余與無控制的冗余有什么區(qū)別?有控制的冗余是指數(shù)據(jù)庫(kù)設(shè)計(jì)者在設(shè)計(jì)中為了提高操作效率有意保留的冗余數(shù)據(jù),無控制冗余是在數(shù)據(jù)庫(kù)設(shè)計(jì)中由于屬性間的依賴而存在的關(guān)聯(lián)數(shù)據(jù),兩者的區(qū)別是無控制冗余不是數(shù)據(jù)庫(kù)設(shè)計(jì)者所要保留的冗余數(shù)據(jù),因?yàn)樗鼤?huì)帶來很多問題,使得存儲(chǔ)效率比較低,而有控制冗余是數(shù)據(jù)庫(kù)設(shè)計(jì)者有意保留的數(shù)據(jù),主要是為了改善對(duì)數(shù)據(jù)庫(kù)的查詢效率。簡(jiǎn)述數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)之間的關(guān)系數(shù)據(jù)庫(kù)是指在計(jì)算機(jī)的存儲(chǔ)設(shè)備上合理存放、相關(guān)聯(lián)、有結(jié)構(gòu)的數(shù)據(jù)集合。這個(gè)數(shù)據(jù)的集合由數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行建立和維護(hù),用戶訪問數(shù)據(jù)庫(kù)中的各種請(qǐng)求都是通過數(shù)據(jù)庫(kù)管理系統(tǒng)完成的。數(shù)據(jù)庫(kù)系統(tǒng)是在計(jì)算機(jī)系統(tǒng)中引進(jìn)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)后的組成,沒有數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)不能夠構(gòu)成數(shù)據(jù)庫(kù)系統(tǒng)。1.4 選擇題在( )中一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親,結(jié)點(diǎn)之間可以有多種聯(lián)系。A 網(wǎng)狀模型 B 關(guān)系模型 C 層次模型 D 以上都有數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是( )。A 一個(gè)完整的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng) B 一組硬件C一組軟件 D 既有硬件,也有軟件 用戶或應(yīng)用程序看到的那部分局部邏輯結(jié)構(gòu)和特征的描述是( )模式。 A 模式 B 物理模式 C 子模式 D 內(nèi)模式要保證數(shù)據(jù)庫(kù)的邏輯數(shù)據(jù)獨(dú)立性,需要修改的是( )。 A 模式與外模式之間的映射 B 模式與內(nèi)模式之間的映射 C 模式 D 三級(jí)模式下列四項(xiàng)中,不屬于數(shù)據(jù)庫(kù)系統(tǒng)特點(diǎn)的是( )。 A 數(shù)據(jù)共享 B 數(shù)據(jù)完整性 C 數(shù)據(jù)冗余度高 D 數(shù)據(jù)獨(dú)立性高數(shù)據(jù)庫(kù)(DB),數(shù)據(jù)庫(kù)系統(tǒng)(DBS)和數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)之間的關(guān)系是( )。A DBS包括DB和DBMS B DBMS包括DB和DBS C DB包括DBS和DBMS D DBS就是DB,也就是DBMS數(shù)據(jù)庫(kù)系統(tǒng)與文件系統(tǒng)的主要區(qū)別是( )。A 數(shù)據(jù)庫(kù)系統(tǒng)復(fù)雜,而文件系統(tǒng)簡(jiǎn)單 B 文件系統(tǒng)不能解決數(shù)據(jù)冗余和數(shù)據(jù)獨(dú)立性問題,而數(shù)據(jù)庫(kù)系統(tǒng)可以解決C 文件系統(tǒng)只能管理程序文件,而數(shù)據(jù)庫(kù)系統(tǒng)能夠管理各種類型的文件D 文件系統(tǒng)管理的數(shù)據(jù)量較少,而數(shù)據(jù)庫(kù)系統(tǒng)可以管理龐大的數(shù)據(jù)量。數(shù)據(jù)庫(kù)的概念模型獨(dú)立于( )。A具體的機(jī)器和DBMS B E-R圖 C 信息世界 D 現(xiàn)實(shí)世界在數(shù)據(jù)庫(kù)中存儲(chǔ)的是( )。A 數(shù)據(jù) B 數(shù)據(jù)模型 C 數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系 D 信息在數(shù)據(jù)庫(kù)中,數(shù)據(jù)的物理獨(dú)立性是指( )。A 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)的相互獨(dú)立B 用戶程序與DBMS的相互獨(dú)立C 用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫(kù)中的數(shù)據(jù)是相互獨(dú)立的D 應(yīng)用程序與數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯結(jié)構(gòu)相互獨(dú)立數(shù)據(jù)庫(kù)的特點(diǎn)之一是數(shù)據(jù)的共享,嚴(yán)格地講,這里的數(shù)據(jù)共享是指( )。A 同一應(yīng)用中的多個(gè)程序共享一個(gè)數(shù)據(jù)集合B 多個(gè)用戶、同一種語言共享數(shù)據(jù) C 多個(gè)用戶共享一個(gè)數(shù)據(jù)文件D 多種應(yīng)用、多種語言、多個(gè)用戶相互覆蓋地使用數(shù)據(jù)集合在數(shù)據(jù)庫(kù)技術(shù)中,為提高數(shù)據(jù)庫(kù)的邏輯獨(dú)立性和物理獨(dú)立性,數(shù)據(jù)庫(kù)的結(jié)構(gòu)被劃分成用戶級(jí)、( )和存儲(chǔ)級(jí)三個(gè)層次A 管理員級(jí) B 外部級(jí) C 概念級(jí) D 內(nèi)部級(jí)在數(shù)據(jù)庫(kù)中,產(chǎn)生數(shù)據(jù)不一致的根本原因是( )。A 數(shù)據(jù)存儲(chǔ)量太大 B 沒有嚴(yán)格保護(hù)數(shù)據(jù)C未對(duì)數(shù)據(jù)進(jìn)行完整性控制 D 數(shù)據(jù)冗余數(shù)據(jù)庫(kù)具有、最小的和較高的程序與數(shù)據(jù)。 A 程序結(jié)構(gòu)化 B 數(shù)據(jù)結(jié)構(gòu)化 C 程序標(biāo)準(zhǔn)化 D 數(shù)據(jù)模塊化 A 冗余度 B 存儲(chǔ)量 C 完整性 D 有效性 A 可靠性 B 完整性 C 獨(dú)立性 D 一致性在數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)中,描述數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的是( )。A 外模式 B 內(nèi)模式 C 存儲(chǔ)模式 D 模式1-5:A, C, C, A, C 6-10:A, B, A, C, C 11-15:D,C, D,BAC,D1.5 對(duì)于工程碩士的管理需要掌握的信息有:學(xué)生現(xiàn)在的工作單位、職務(wù)、簡(jiǎn)歷情況,其中簡(jiǎn)歷情況包括開始時(shí)間、終止時(shí)間、單位、擔(dān)任職務(wù)、證明人;學(xué)生目前在校情況,包括學(xué)生的學(xué)號(hào)、所在學(xué)院、所學(xué)專業(yè)、入學(xué)時(shí)間、導(dǎo)師;學(xué)生在校所學(xué)的課程號(hào)、課程名、學(xué)時(shí)、授課教師及成績(jī);學(xué)院包括學(xué)院代號(hào)、學(xué)院名稱、院長(zhǎng);導(dǎo)師包括導(dǎo)師職工編號(hào)、姓名、出生日期、職稱、研究方向。要求:確定實(shí)體及實(shí)體型屬性;找出實(shí)體間的聯(lián)系;畫出E-R圖。(1) 學(xué)生:學(xué)號(hào),姓名,專業(yè),學(xué)院,入學(xué)時(shí)間,工作單位,導(dǎo)師號(hào),建立號(hào),職務(wù)簡(jiǎn)歷:簡(jiǎn)歷號(hào),開始時(shí)間,結(jié)束時(shí)間,證明人,單位,擔(dān)任職務(wù)課程:課程號(hào),學(xué)時(shí),課程名,授課教師學(xué)院:學(xué)院代號(hào),學(xué)院名稱,院長(zhǎng)導(dǎo)師:導(dǎo)師號(hào),姓名,出生日期,研究方向(2) 學(xué)生-簡(jiǎn)歷:1:n學(xué)生-學(xué)院:n:1學(xué)生-導(dǎo)師:n:1學(xué)生-課程:n:m 導(dǎo)師-學(xué)院:n:1(3)圖1 學(xué)生實(shí)體及其屬性圖2 簡(jiǎn)歷實(shí)體及其屬性圖3 課程實(shí)體及其屬性圖4 學(xué)院實(shí)體及其屬性圖5 導(dǎo)師實(shí)體及其屬性圖6 實(shí)體聯(lián)系圖第二章2.1 試述關(guān)系模型的3個(gè)組成部分答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作和關(guān)系完整性約束三部分組成。2.2 一個(gè)關(guān)系模式能否沒有關(guān)鍵字?為什么?答:不可以沒有關(guān)鍵字,因?yàn)殛P(guān)鍵字是元組的唯一標(biāo)志,如果沒有關(guān)鍵字則無法唯一標(biāo)識(shí)一個(gè)元組。2.3 試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部關(guān)鍵字屬性的值也可以為空?什么情況下才可以為空?答:(1)實(shí)體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。 (2)參照完整性規(guī)則:若屬性(或?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本身不是主屬性,則可以取空值,否則不能取空值。 當(dāng)外部關(guān)鍵字F對(duì)應(yīng)的主鍵Ks值為空值時(shí),說明F暫時(shí)沒有賦值,此時(shí)F值必須取空值。2.4一個(gè)n行、m列的二維表(其中沒有兩行或兩列全同),將行或列交換后,能導(dǎo)出多少個(gè)不同的表?答:1個(gè)2.5 答:(1) 最小個(gè)數(shù)為:取m,n中的大者;最大個(gè)數(shù)為:m+n (2) 最小個(gè)數(shù)為:0;最大個(gè)數(shù)為:取m,n中的小者 (3) 最小個(gè)數(shù)為:0;最大個(gè)數(shù)為:m*n (4) 最小個(gè)數(shù)為:0;最大個(gè)數(shù)為:n 2.6 答:RS= (3,6,7), (2,5,7), (7,2,3), (4,4,3), (3,4,5)R-S= (3,6,7), (2,5,7), (4,4,3) RS= (7,2,3)RS= (3,6,7,3,4,5), (3,6,7,7,2,3), (2,5,7,3,4,5), (2,5,7,7,2,3), (7,2,3,7,2,3), (7,2,3,3,4,5), (4,4,3,3,4,5), (4,4,3,7,2,3) 3,2(s)= (5,4),(3,2)sB<5(R)= (7,2,3),( 4,4,3)2.7 答:該表達(dá)式的意思是:從關(guān)系R中選擇元組,該元組滿足:第1分量值或第2分量值至少有一個(gè)不等于其他某元組,即選擇與其他元組不完全相同的元組。由于關(guān)系模型的性質(zhì)要求,關(guān)系中不能夠有重復(fù)的元組,因此上述條件一定滿足,所以,這個(gè)表達(dá)式結(jié)果就是R。2.8 (1)從R和S的笛卡爾積中選擇滿足下列條件的元組:第2分量與第4分量相等,或第3分量和第4分量相等,并取第1分量和第5分量構(gòu)成新的關(guān)系。(2)元組表達(dá)式(3)域表達(dá)式2.9(1)漢語表達(dá)式:選擇R關(guān)系中元組第2分量值不等于S關(guān)系中某元組第1分量值的元組。(2)關(guān)系代數(shù)表達(dá)式:(3)域表達(dá)式:2.10(1)漢語表達(dá)式:選擇R中元組第1分量值與第2分量值互換后仍存在于R中的元組。(2)關(guān)系代數(shù)表達(dá)式:(3)域表達(dá)式:2.11(1) (2) (3) (4) 2.12設(shè)有關(guān)系:S(SNO,SNAME,AGE,SEX,CDEPT);SC(SNO,CNO,GRADE);C(CNO,CNAME,CDEPT,TNAME); 用關(guān)系代數(shù)表示(1) 劉老師所教授課程的課程號(hào)、課程名 CNO,CNAME(TNAME=劉(C)(2) 檢索年齡大于23的男學(xué)生的學(xué)號(hào)和姓名 SNO,SNAME(AGE>23SEX=男 (S) )(3) 檢索學(xué)號(hào)為090111學(xué)生所學(xué)課程的課程名與任課教師名 CNAME,TNAME(C SNO=090111SC )(4) 檢索至少選修劉老師所教授課程中一門課的女學(xué)生姓名SNAME(TNAME=劉(C) SCSEX=女(S)(5) 檢索王一寧同學(xué)不學(xué)課程的課程號(hào) CNO(C) - CNO(SNAME=王一寧(S) SC)(6) 檢索至少選了兩門課的學(xué)生學(xué)號(hào)SNO(1=4 2<>5( SC SC))(7) 檢索全部學(xué)生都選修的課程的課程號(hào)和課程名CNO,CNAME(C (SNO,CNO(SC)SNO(S)(8) 檢索選修課程包括劉老師所教授課程的學(xué)生姓名SNAME(SCTNAME=劉(C)2.13(1)劉老師所教授課程的課程號(hào)、課程名 t|($u)(C(u)t1=u1 t2=u2 C3=劉)(2)檢索年齡大于23的男學(xué)生的學(xué)號(hào)和姓名t|($u)(S(u)t1=u1 t2=u2 u3> 23 u4= 男)(3)檢索學(xué)號(hào)為090111學(xué)生所學(xué)課程的課程名與任課教師名t|($u)($v)(C(v)SC(u)v1=u2t1=v2 t2=v3v1= 090111)(4)檢索至少選修劉老師所教授課程中一門課的女學(xué)生姓名t|($u)($v)($w)(S(u)SC(v)C(w) u4= 女v1=u1 v2=w1 w3=劉t1=u2)(5)檢索王一寧同學(xué)不學(xué)課程的課程號(hào) (6)檢索至少選了兩門課的學(xué)生學(xué)號(hào) (7)檢索全部學(xué)生都選修的課程的課程號(hào)和課程名(8)檢索選修課程包括劉老師所教授課程的學(xué)生姓名2.15(1)CNO,TNAME (SDEPT=計(jì)算機(jī) (S) SCCDEPT=自動(dòng)化 (C) ) (2) CNO,TNAME (SDEPT=計(jì)算機(jī) CDEPT=自動(dòng)化 S.SNO=SC.SNOSC.CNO=C.CNO (S SC C)(3)CNO,TNAMESDEPT=計(jì)算機(jī) CDEPT=自動(dòng)化 S.SNO=SC.SNOSC.CNO=C.CNOCSSCCNO,TNAMESC.CNO=C.CNOS.SNO=SC.SNOCDEPT=自動(dòng)化SDEPT=計(jì)算機(jī)SCSCCNO,TNAMESC.CNO=C.CNOC.CNO,TNAME,SC.CNOS.SNO=SC.SNOCDEPT=自動(dòng)化SDEPT=計(jì)算機(jī)SCSCCNO,TNAMESC.CNO=C.CNO SC.CNO CNO,TNAMES.SNO=SC.SNOCDEPT=自動(dòng)化CSDEPT=計(jì)算機(jī)SCSCCNO,TNAMESC.CNO=C.CNO SC.CNOS.SNO=SC.SNOSNOSDEPT=計(jì)算機(jī)SSNO, CNOC CNO,TNAMECDEPT=自動(dòng)化C2.16在關(guān)系代數(shù)運(yùn)算中,各個(gè)運(yùn)算所費(fèi)時(shí)間和空間是不一樣的,如何安排若干關(guān)系的運(yùn)算操作步驟,直接影響到整個(gè)操作所需要的時(shí)間和空間。對(duì)關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化,可以提高系統(tǒng)的操作效率,達(dá)到執(zhí)行過程既省時(shí)間又省空間的目的。第三章 3-1解釋下列術(shù)語:基本表 視圖 單表查詢 連接查詢 嵌套查詢 交互式SQL 嵌入式SQL 宿主語言答:(1)基本表:簡(jiǎn)稱基表。是數(shù)據(jù)庫(kù)中實(shí)際存在的表,在SQL中一個(gè)關(guān)系對(duì)應(yīng)于一個(gè)表。(2)視圖:SQL用視圖概念支持非標(biāo)準(zhǔn)的外模式概念。視圖是從一個(gè)或幾個(gè)基表導(dǎo)出的表,雖然它也是關(guān)系形式,但它本身不實(shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中,只存放對(duì)視圖的定義信息(沒有對(duì)應(yīng)的數(shù)據(jù))。因此,視圖是一個(gè)虛表(Virtual Table)或虛關(guān)系,而基表是一種實(shí)關(guān)系(Practical Relation)。(3)單表查詢:只涉及到一個(gè)關(guān)系的查詢。(4)連接查詢:同時(shí)涉及兩個(gè)以上的表的查詢。(5)嵌套查詢:將一個(gè)查詢塊嵌套在另一個(gè)查詢塊的WHERE子句或HAVING條件中的查詢。(6)交互式SQL:做為獨(dú)立語言由用戶在交互環(huán)境下使用的SQL語言。(7)嵌入式SQL:將SQL語言嵌入到某種高級(jí)語言中使用,利用高級(jí)語言的過程性結(jié)構(gòu)來彌補(bǔ)SQL語言在實(shí)現(xiàn)復(fù)雜應(yīng)用方面的不足的SQL語言。(8)宿主語言:嵌入SQL的高級(jí)語言稱為主語言或宿主語言。3-2試述SQL語言的特點(diǎn)答:1.綜合統(tǒng)一 2.高度非過程化3.面向集合的操作方式4.以同一種語法結(jié)構(gòu)提供兩種使用方式3-3試述SQL體系結(jié)構(gòu)和關(guān)系數(shù)據(jù)庫(kù)模式之間的關(guān)系答:SQL語言支持關(guān)系數(shù)據(jù)庫(kù)體系結(jié)構(gòu),即外模式、模式和內(nèi)模式,利用SQL語言可以實(shí)現(xiàn)對(duì)三級(jí)模式的定義、修改和數(shù)據(jù)的操縱功能,在此基礎(chǔ)上形成了SQL體系結(jié)構(gòu);在SQL體系結(jié)構(gòu)中的視圖對(duì)應(yīng)了關(guān)系數(shù)據(jù)模式的外模式,基本表對(duì)應(yīng)了關(guān)系數(shù)據(jù)模式的模式,存儲(chǔ)文件對(duì)應(yīng)了關(guān)系數(shù)據(jù)模式的內(nèi)模式。3-4 SQL是如何實(shí)現(xiàn)實(shí)體完整性、參照完整性和用戶定義完整性的?答:實(shí)體完整性簡(jiǎn)單的說,就是將表中的每一行看作一個(gè)實(shí)體。實(shí)體完整性要求表的標(biāo)示符列或主鍵的完整性??梢酝ㄟ^建立唯一索引、PRIMARY KEY約束、UNIQUE約束,以及列的IDENTITY屬性來實(shí)施實(shí)體完整性。參照完整性維持被參照表和參照表之間的數(shù)據(jù)一致性,他通過主鍵(PRIMARY KEY)約束和外鍵(FOREIGN KEY)約束來實(shí)現(xiàn)。引用完整性確保鍵值在所有表中一致。這樣的一致性要求不能引用不存在的值,如果鍵值更改了,那么在整個(gè)數(shù)據(jù)庫(kù)中,對(duì)該鍵值的所有引用要進(jìn)行一致的更改。在被參照表中,當(dāng)其主鍵值被其他表所參照時(shí),該行不能被刪除也不允許改變。在參照表中,不允許參照不存在的主鍵值。用戶定義完整性使得可以定義不屬于其它任何完整性分類的特定業(yè)務(wù)規(guī)則。所有的完整性類型都支持用戶定義完整性。3-5討論當(dāng)對(duì)一個(gè)視圖進(jìn)行更新的時(shí)候可能會(huì)出現(xiàn)什么樣的問題?答:1) 若視圖的屬性來自屬性表達(dá)式或常數(shù),則不允許對(duì)視圖執(zhí)行INSERT和UPDATE操作,但允許執(zhí)行DELETE操作。2) 若視圖的屬性來自庫(kù)函數(shù),則不允許對(duì)此視圖更新。3) 若視圖定義中有GROUP BY子句,則不允許對(duì)此視圖更新。4) 若視圖定義中有DISTINCT任選項(xiàng),則不允許對(duì)此視圖更新。5) 若視圖定義中有嵌套查詢,并且嵌套查詢的FROM子句涉及導(dǎo)出該視圖的基本表,則不允許對(duì)此視圖更新。6) 若視圖由兩個(gè)以上的基本表導(dǎo)出,則不允許對(duì)此視圖更新。7) 如果在一個(gè)不允許更新的視圖上再定義一個(gè)視圖,這種二次視圖是不允許更新的。3-6設(shè)有兩個(gè)基本表R(A,B,C) 和 S(A,B,C)試用SQL查詢語句表達(dá)下列關(guān)系代數(shù)表達(dá)式: RS RS RS RS (1) (select * from R) INTERSECT (select * from S) (2) (select * from R) EXCEPT (select * from S) (3) (select * from R) UNION (select * from S)(4) select * from R,S3-7對(duì)于教學(xué)數(shù)據(jù)庫(kù)的三個(gè)基本表:S(學(xué)號(hào),姓名 ,年齡,性別)SC(學(xué)號(hào) ,課程號(hào),成績(jī))C(課程號(hào) ,課程名,任課教師姓名)試用SQL語句表達(dá)下列查詢: 查詢“劉某”老師所授課程的課程號(hào)和課程名。 查詢年齡大于23歲的男同學(xué)的學(xué)號(hào)和姓名。 查詢學(xué)號(hào)為S3的學(xué)生所學(xué)課程的課程號(hào)、課程名和任課教師姓名。 查詢“張小飛”沒有選修的課程號(hào)和課程名。 查詢至少選修了3門課程的學(xué)生的學(xué)號(hào)和姓名。 查詢?nèi)繉W(xué)生都選修了的課程編號(hào)和課程名稱。 在SC中刪除尚無成績(jī)的選課元組。 把“高等數(shù)學(xué)”課的所有不及格成績(jī)都改為60。 把低于總評(píng)均成績(jī)的女同學(xué)的成績(jī)提高5%。 向C中插入元組(C8,VC+,王昆)。3-7(1) 查詢“劉某”老師所授課程的課程號(hào)和課程名;SELECT課程號(hào), 課程名FROM CWHERE任課教師姓名LIKE 劉*(2) 查詢年齡大于23歲的男同學(xué)的學(xué)號(hào)和姓名;SELECT 學(xué)號(hào),姓名FROM SWHERE 年齡>23 AND 性別=男(3) 查詢學(xué)號(hào)為S3的學(xué)生所學(xué)課程和課程號(hào),課程名和任課教師姓名SELECT C.課程號(hào), 課程名, 任課教師姓名FROM C, SCWHERE SC.學(xué)號(hào)=S3 And C.課程號(hào)=SC.課程號(hào)(4) 查詢“張小飛”同學(xué)沒有選修的課程的課程號(hào)和課程名;SELECT C.課程號(hào), C.課程名FROM CWHERE 課程號(hào) NOT IN (SELECT 課程號(hào) FROM SC WHERE 學(xué)號(hào) IN (SELECT 學(xué)號(hào) FROM S WHERE 姓名=張小飛);或者SELECT *FROM CWHERE NOT EXISTS (SELECT SC.課程號(hào) FROM SC,S WHERE SC.課程號(hào)=C.課程號(hào) AND S.學(xué)號(hào)=SC.學(xué)號(hào) AND S.姓名=張小飛)或者SELECT *FROM CWHERE 課程號(hào) NOT IN (SELECT 課程號(hào)FROM SC,SWHERE S.學(xué)號(hào)=SC.學(xué)號(hào) AND S.姓名=張小飛)(5) 查詢至少選修了3門課程的學(xué)生的學(xué)號(hào)和姓名;SELECT 學(xué)號(hào), 姓名FROM SWHERE 學(xué)號(hào) IN (SELECT 學(xué)號(hào) FROM SCGROUP BY 學(xué)號(hào)HAVING COUNT (課程號(hào))>=3)(6) 查詢?nèi)繉W(xué)生都選修了的課程號(hào)和課程名;SELECT 課程號(hào),課程名FROM CWHERE NOT EXISTS (SELECT 學(xué)號(hào) FROM S WHERE NOT EXISTS (SELECT 學(xué)號(hào) FROM SC WHERE SC.課程號(hào)=C.課程號(hào) AND S.學(xué)號(hào)=SC.學(xué)號(hào))或者SELECT 課程號(hào), 課程名FROM CWHERE NOT EXISTS(SELECT 學(xué)號(hào) FROM S)EXCEPT(SELECT 學(xué)號(hào)FROM SCWHERE SC.課程號(hào)=C.課程號(hào))(7) 在SC表中刪除無成績(jī)的選課紀(jì)錄;DELETE *FROM SCWHERE GRADE is null;(8) 把“高等數(shù)學(xué)”的所有不及格成績(jī)都改為60分;UPDATE SCSET 成績(jī) = 60WHERE GRADE< 60 AND 課程號(hào) =(SELECT 課程號(hào)FROM CWHERE 課程名=高等數(shù)學(xué))(9) 把低于總平均成績(jī)的女同學(xué)的成績(jī)提高5%UPDATE sc SET 成績(jī) = 成績(jī)*(1+0.05)WHERE 學(xué)號(hào) in (select 學(xué)號(hào) from s where 性別=女) and 成績(jī) < (select avg(成績(jī)) from sc);(10) 向C中插入元組(“C8”,“VC+”,“王昆”)INSERT INTO cVALUES (C8, VC+, 王昆);3-8圖3-2中顯示的數(shù)據(jù)庫(kù)模式Library,用來記錄書籍、借書人和書籍借出的情況,參照完整性在圖中用有向弧來表示,請(qǐng)用SQL語言建立圖中的關(guān)系模式,并完成下列操作:圖3-2 Library數(shù)據(jù)庫(kù)模式 查詢“高等教育出版社”出版的所有圖書名稱和編號(hào); 查詢所有作者是“郭雨辰”的圖書的編號(hào)和名稱; 查詢“李明”借過的所有圖書的名稱; 查詢“李明”從2008年1月1日到2009年1月1日期間借過的圖書名稱; 列出從2008年1月1日到2009年1月1日期間沒有被人借過的圖書名稱和編號(hào); 列出從2008年1月1日到2009年1月1日期間借出次數(shù)最多的10本圖書名稱; 將“高等教育出版社”的電話改為“01064054588”;3-8(1)SELECT BookID , TitleFROM BookWHERE PublishName=高等教育出版社(2)SELECT BookID, TitleFROM BookID, BookWHERE Book.BookID=Author.BookID AND Author=郭雨辰(3)SELECT TitleFROM Book, Borrow, BorrowerWHERE Borrow.CardID=Borrower.CardID AND Borrow.BookID=Book.BookID AND Borrower.Name=李明(4)SELECT TitleFROM Book, Borrow, BorrowerWHERE Borrow.CardID=Borrower.CardID AND Borrow. BookID=Book.BookID AND Borrower.Name=李明 AND DateOut BETWEEN 2008-1-1 AND.2009-1-1(5)SELECT TitleFROM BookWHERE NOT EXISTS (SELECT * FROM Borrow,Book WHERE Borrow. BookID=Book.BookID AND Dateout Between 2008-1-1 AND 2009-1-1)(6)SELECT top 10 TitleFROM Book, BorrowWHERE Borrow. BookID=Book.BookID AND Dateout Between 2008-1-1 AND 2009-1-1GROUP BY Book.BookIDORDER BY Book.BookID DESC(7)UPDATE PublisherSET Phone=010-64054588WHERE Name=高等教育出版社3-9 針對(duì)3.8建立的表,用SQL語言完成下列操作: 把對(duì)所有表的INSERT權(quán)限授予“張麗”,并允許她將此權(quán)限授予其他用戶;Grant INSERT to 張麗 with grant option 把查詢和修改BORROWER的權(quán)限受給用戶“王偉”。Grant select, update on BORROWER to 王偉習(xí)題四4.1 理解并給出下列術(shù)語的定義:函數(shù)依賴 部分函數(shù)依賴 完全函數(shù)依賴 傳遞函數(shù)依賴 候選碼 主碼 外碼 全碼 主屬性 非主屬性1NF 2NF 3NF BCNF 4NF 函數(shù)依賴集閉包 屬性集閉包 函數(shù)依賴集等價(jià) 最小函數(shù)依賴集 無損連接 函數(shù)依賴保持 設(shè)R(U)是屬性集U上的關(guān)系模式。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,X,Y是屬性集U的任意子集,當(dāng)且僅當(dāng)對(duì)r中任意一個(gè)給定的X的屬性值,r中都只存在惟一的Y屬性值與之對(duì)應(yīng)。也就是說,如果X相等,就有Y也相等,則稱Y函數(shù)依賴于X或X函數(shù)確定Y,記作XY。在R(U)中,如果,并且對(duì)于X的一個(gè)真子集,有成立,則稱對(duì)部分函數(shù)依賴(Partial Functional Dependency),記作。 在R(U)中,如果,并且對(duì)于X的任何一個(gè)真子集,都有成立,則稱對(duì)完全函數(shù)依賴(Full Functional Dependency),記作。在R(U)中,如果,則稱Z對(duì)X傳遞函數(shù)依賴(Transitive Functional Dependency),記做設(shè)K為R<U,F>中的屬性或?qū)傩越M,若,則K為R的候選碼。若候選碼多于一個(gè),則選定其中的一個(gè)為主碼。包含在任何一個(gè)候選碼中的屬性,叫做主屬性。不包含在任何候選碼中的屬性稱為非主屬性。最簡(jiǎn)單的情況,碼只包含單個(gè)屬性;最復(fù)雜的情況是所有屬性集組合成碼,稱為全碼。關(guān)系模式R中屬性或?qū)傩越MX并非R的主碼,但X是另一個(gè)關(guān)系模式的主碼,則稱X是R的外碼。設(shè)R是一個(gè)關(guān)系模式,如果R中的每一個(gè)屬性A的屬性名和屬性值都是不可再分的,則稱R屬于第一范式,記作:R1NF。若R1NF,且每一個(gè)非主屬性都完全函數(shù)依賴于碼,則R2NF。關(guān)系模式R(U,F)中若不存在這樣的碼X,屬性組Y及非主屬性組Z(),使得,成立,則稱R(U,F)3NF。關(guān)系模式R(U,F)1NF,若每一個(gè)決定因素都含有碼,則RBCNF。關(guān)系模式R(U,F)1NF,若對(duì)R的每個(gè)非平凡多值依賴XY(),X都包含碼,則稱R(U)滿足第四范式,記為R4NF。稱所有被一個(gè)已知函數(shù)依賴集F邏輯蘊(yùn)涵的那些函數(shù)依賴的集合為F的閉包(Closure),記為F+。設(shè)有關(guān)系模式R(U),F(xiàn)是U上的一個(gè)函數(shù)依賴集,定義XFA|能由F根據(jù)Armstrong 公理導(dǎo)出,并稱XF為屬性集X關(guān)于函數(shù)依賴集F的閉包。如果函數(shù)依賴集F滿足下列條件,則稱F是一個(gè)極小函數(shù)依賴集或最小覆蓋。 F中每一個(gè)函數(shù)依賴的右部都是單個(gè)屬性。 對(duì)F中任一函數(shù)依賴XA,F(xiàn)-XA都不與F等價(jià)。 對(duì)于F中的任一函數(shù)依賴XA,F(xiàn)-XAZ-A都不與F等價(jià),其中Z為X的任一子集。如果函數(shù)依賴集F與某個(gè)最小依賴集等價(jià),則稱是F的最小覆蓋或是F的最小依賴集。設(shè)R是一個(gè)關(guān)系模式,F(xiàn)是R上的一個(gè)函數(shù)依賴集,R分解為關(guān)系模式的集合R1(U1), R2(U2), , Rn(Un)。如果對(duì)于R的滿足F的每一個(gè)關(guān)系r,都有,則稱是一個(gè)無損連接的分解(lossingless jion decomposition)若F(),則R(U,F(xiàn))的分解保持函數(shù)依賴。4.2 設(shè)有關(guān)系模式R(A,B,C,D,E,P,G,H),R的函數(shù)依賴集FABCE,AC ,GPB ,EPA ,CDEP ,HBP ,DHG ,ABCPG,求D【參考答案】 D=DHG4.3 證明函數(shù)依賴集FABC,AD,CDE和函數(shù)依賴集GABCE,AABD,CDE的等價(jià)性【參考答案】 ABC,AD,CDE ,ABCE,AABD,有 ABCE,AABD , ABC,AD,CDE ,有 所以F和G等價(jià)。4.4 設(shè)關(guān)系模式R(ABCD),F(xiàn)是R上成立的函數(shù)依賴集,F(xiàn)AB,CB,則相對(duì)于F,試寫出關(guān)系模式R的候選碼,并說明理由【參考答案】關(guān)系模式R的候選碼為D在關(guān)系F中B只出現(xiàn)在右邊,所以B一定不是候選碼在關(guān)系F中D沒有出現(xiàn)D必然出現(xiàn)在候選碼中在關(guān)系F中AC出現(xiàn)在左邊AB,CC,AA所以A能推出,因此候選碼是ACD4.5 設(shè)有關(guān)系模式R(A,B,C,D,E),R的函數(shù)依賴集FABD,BCD,DEB,CD,DA 計(jì)算(AB),(AC),(DE) 求R的所有候選碼 求F的最小覆蓋【參考答案】(AB)=ABCD(AC)=ACD(DE)=ABCDE R屬性:E, LR屬性:ABCD(AE) =AE(BE) =ABCDE(CE) =ABCDE(DE) =ABCDER的候選碼為:BE, CE, DE 右部屬性單一化:F1= ABD,BC,BD,DEB,CD,DA 去掉多余的函數(shù)依賴:F2BC, DEB,CD,DA去掉冗余的屬性:沒有冗余屬性所以F的最小覆蓋FminF2BC, DEB,CD,DA4.6 設(shè)有關(guān)系模式R(A,B,C,D),R的函數(shù)依賴集FAC,CA,BAC,DAC,BDA,求F的最小覆蓋【參考答案】第一步:將F的所有函數(shù)依賴的右部都分解成單一屬性:F1 AC,CA,BA ,BC,DA,DC,BDA 第二步:去掉冗余的函數(shù)依賴:考察AC,令GCA,BA ,BC,DA,DC,BDA,AGA因?yàn)镃 AG,所以AC不冗余;考察CA,令GAC, BA ,BC,DA,DC,BDA,CGC因?yàn)锳 CG,所以CA不冗余;考察BA,令GAC,CA,BC,DA,DC,BDA,BGABC因?yàn)锳 BG,所以BA冗余,從F1中刪除BA,F(xiàn)2AC,CA,BC,DA,DC,BDA;考察BC,令GAC,CA,DA,DC,BDA,BGB因?yàn)镃 BG,所以BC不冗余;考察DA,令GAC,CA,BC, DC,BDA,DGACD因?yàn)锳 DG,所以DA冗余,從F2中刪除DA,F(xiàn)3AC,CA,BC, DC,BDA;考察DC,令GAC,CA,BC,BDA,DGD因?yàn)镃 DG,所以DC不冗余;考察BDA,令GAC,CA,BC, DC,(BD)GABCD因?yàn)锳 (BD)G,所以BDA冗余,從F3中刪除BDA,F(xiàn)4AC,CA,BC, DC;第三步:去掉冗余的屬性:由于左邊都是單屬性,所以: FmF4=AC,CA,BC, DC;但是結(jié)果不唯一。 4.7 設(shè)關(guān)系模式R(ABC),F(xiàn)是R上成立的FD集,F(xiàn)CA,BA,分解AB,BC,判斷是否具有函數(shù)依賴保持性?【參考答案】F1 = (BA)F2 G = F1F2 = BA F= CA,BA 顯然,G必定包含于F。而F不包含于G。因此,有G+F+,即 不具有函數(shù)依賴保持性。4.8 設(shè)關(guān)系模式R(ABC),F(xiàn)是R上成立的FD集,F(xiàn)CA,BC,AB,AC,判斷是否具有“無損連接性”和“函數(shù)依賴保持”性【參考答案】考察“無損連接性”:首先構(gòu)造初始表,結(jié)構(gòu)如表1表1 初始表AjRiABCABa1a2b13ACa1b23a3修改表逐一考察F中的函數(shù)依賴:a) CA,表的結(jié)構(gòu)不變;b) BC,表的結(jié)構(gòu)不變;此時(shí),對(duì)F中的每個(gè)函數(shù)依賴,表的結(jié)構(gòu)都不再變化。又因?yàn)楸碇袥]有出現(xiàn)a1,a2,a3 的行,所以該分解不具有無損連接性??疾臁昂瘮?shù)依賴保持”F1 = (BA)F2 ( CA)G = F1F2 = BA ,CA F= CA,BC 顯然,G必定包含于F。而F不包含于G。因此,有G+F+,即 不具有函數(shù)依賴保持性。4.9 設(shè)關(guān)系模式R(ABCD),在R上有5個(gè)相應(yīng)的FD集及分解: F=BC,DA,AD,BC F=ABC,CA,CD,ACD,BC F=ABC,CAD,ABC,AD F=AB,BC,CD,AB,ACD F=AB,BC,CD,AB,AD,CD試對(duì)上述5中情況分別回答下列問題: 確定R的候選碼和主碼。 是否為無損分解? 是否函數(shù)依賴保持? 確定中每一模式的范式級(jí)別。【參考答案】分解 F=BC,DA,AD,BCA) (BD)+=ABCD BD是候選碼,也是主碼B) 首先構(gòu)造初始表,結(jié)構(gòu)如表2表2 初始表AjRiABCDADa1b12b13a4BCb21a2