數(shù)據(jù)庫原理及應(yīng)用課后習題答案_第1頁
數(shù)據(jù)庫原理及應(yīng)用課后習題答案_第2頁
數(shù)據(jù)庫原理及應(yīng)用課后習題答案_第3頁
數(shù)據(jù)庫原理及應(yīng)用課后習題答案_第4頁
數(shù)據(jù)庫原理及應(yīng)用課后習題答案_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.z.第一章1.1名詞解釋數(shù)據(jù)庫(DB)數(shù)據(jù)庫系統(tǒng)(DBS)數(shù)據(jù)庫管理系統(tǒng)(DBMS)實體實體集屬性關(guān)鍵字數(shù)據(jù)模型概念數(shù)據(jù)模型關(guān)系模型模式外模式模式數(shù)據(jù)獨立性邏輯數(shù)據(jù)獨立性物理數(shù)據(jù)獨立性一對一聯(lián)系一對多聯(lián)系多對多聯(lián)系數(shù)據(jù)庫(DB):在計算機的存儲設(shè)備上合理存放、相關(guān)聯(lián)、有構(gòu)造的數(shù)據(jù)集合。數(shù)據(jù)庫系統(tǒng)(DBS):在計算機系統(tǒng)中引進數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)后的組成。或者是實現(xiàn)有組織地、動態(tài)地存儲大量相關(guān)的構(gòu)造化數(shù)據(jù),方便用戶使用數(shù)據(jù)庫的計算機軟件、硬件資源組成的系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)(DBMS):一個操縱和管理數(shù)據(jù)庫的大型軟件,它由一組計算機程序構(gòu)成。它是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。實體:客觀存在并可相互區(qū)別的個體。實體集:具有一樣實體特性實體的集合。屬性:表示實體的特性。關(guān)鍵字:能夠唯一標識文件中的*一個記錄的最小字段集。數(shù)據(jù)模型:現(xiàn)實世界數(shù)據(jù)與信息的模擬和抽象。概念數(shù)據(jù)模型:簡稱概念模型,是獨立于計算機系統(tǒng)的數(shù)據(jù)模型,完全不涉及信息在計算機中的表示,是面向數(shù)據(jù)庫用戶的現(xiàn)實世界模型,主要用來描述現(xiàn)實世界的概念化構(gòu)造。關(guān)系模型:是最重要的一種數(shù)據(jù)模型,也是目前主要采用的數(shù)據(jù)模型,用二維表格表示現(xiàn)實世界實體集及實體集間的聯(lián)系。模式:是由數(shù)據(jù)庫設(shè)計者綜合所有用戶數(shù)據(jù),按照統(tǒng)一的觀點構(gòu)造的對數(shù)據(jù)庫全局邏輯構(gòu)造的描述。外模式:介于模式與應(yīng)用之間,是用戶與數(shù)據(jù)庫之間的接口,是數(shù)據(jù)庫用戶〔包括應(yīng)用程序員和最終用戶〕能夠看見和使用的局部數(shù)據(jù)的邏輯構(gòu)造和特征的描述。模式:也稱存儲模式,是對數(shù)據(jù)庫中數(shù)據(jù)物理構(gòu)造和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫部的表示方式。數(shù)據(jù)獨立性:應(yīng)用程序和數(shù)據(jù)構(gòu)造之間相互獨立,不受影響。邏輯數(shù)據(jù)獨立性:表示一旦模式發(fā)生變化,無需改變外模式或應(yīng)用程序的能力。物理數(shù)據(jù)獨立性:表示不會因為模式發(fā)生改變而導(dǎo)致概念模式發(fā)生改變的能力。一對一聯(lián)系:設(shè)有兩個實體集A、B,如果對于實體集A中的每一個實體,B中至多有一個實體與之有聯(lián)系,反之亦然,則稱A、B有一對一聯(lián)系〔1:1聯(lián)系〕。一對多聯(lián)系:設(shè)有兩個實體集A、B,假設(shè)A中每個實體與B中任意個實體〔包括零個〕相聯(lián)系,而B中每個實體至多和A中一個實體有聯(lián)系,則稱A和B是一對多聯(lián)系〔1:n聯(lián)系〕。多對多聯(lián)系:設(shè)有兩個實體集A、B,假設(shè)兩個實體集A、B中的每一個實體都和另一個實體集中任意個實體〔包括零個〕有聯(lián)系,則稱A、B是多對多聯(lián)系〔m:n聯(lián)系〕。1.2判斷以下說法是否正確⑴數(shù)據(jù)庫系統(tǒng)的一個主要特點是數(shù)據(jù)無冗余。⑵數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫構(gòu)成了數(shù)據(jù)庫系統(tǒng)。⑶數(shù)據(jù)構(gòu)造化是數(shù)據(jù)庫和文件系統(tǒng)的根本區(qū)別。⑷假設(shè)干個屬性集合就能描述一個對象。⑸數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)具有完全獨立性。⑹DBA主要職責是管理數(shù)據(jù)庫中的數(shù)據(jù)。⑺數(shù)據(jù)庫防止了一切數(shù)據(jù)重復(fù)。⑻數(shù)據(jù)操作語言是一個高級語言。⑼非過程化語言比過程化語言好。⑽模式是數(shù)據(jù)庫全局邏輯構(gòu)造的描述。⑾三級模式構(gòu)造是數(shù)據(jù)庫唯一的一種分級模式構(gòu)造。⑿層次數(shù)據(jù)模型和網(wǎng)狀數(shù)據(jù)模型都可用關(guān)系數(shù)據(jù)模型表示。⒀關(guān)系模型不僅可以描述實體,還可以描述實體及實體集之間的聯(lián)系。⒁關(guān)系數(shù)據(jù)模型與網(wǎng)狀數(shù)據(jù)模型相比具有查詢效率高的優(yōu)點。⒂網(wǎng)狀數(shù)據(jù)模型可以直接表示M:N的聯(lián)系。⒃概念模型獨立于硬件設(shè)備和DBMS。⒄視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的物理獨立性。⒅實體是信息世界中的術(shù)語,與之相對應(yīng)的數(shù)據(jù)庫術(shù)語為字段。⒆數(shù)據(jù)庫系統(tǒng)的核心工作就是完成用戶級數(shù)據(jù)庫、概念級數(shù)據(jù)庫和物理級數(shù)據(jù)庫之間的映射。⒇一個網(wǎng)狀數(shù)據(jù)構(gòu)造模型可以變換為一個等價的層次數(shù)據(jù)構(gòu)造模型,這種變換以存儲空間為代價。1-5:×,×,√,×,×,6-10:×,×,√,×,√,11-15:×,√,√,×,×16-20:√,×,×,√,√1.3簡答以下各題⑴數(shù)據(jù)管理技術(shù)的開展過程。計算機技術(shù)的開展使得數(shù)據(jù)管理技術(shù)也不斷向前開展,至今,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。⑵數(shù)據(jù)庫系統(tǒng)的三個開展階段是什么?1)層次型和網(wǎng)狀型:代表產(chǎn)品是1969年IBM公司研制的層次模型數(shù)據(jù)庫管理系統(tǒng)IMS。2)關(guān)系型數(shù)據(jù)型庫:目前大局部數(shù)據(jù)庫采用的是關(guān)系型數(shù)據(jù)庫。1970年IBM公司的研究員E.F.Codd提出了關(guān)系模型。典型的關(guān)系DBMS產(chǎn)品有Oracle、Sybase、SQLServer、DB2、Access、VFP等等。3)第三代數(shù)據(jù)庫將為更加豐富的數(shù)據(jù)模型和更強大的數(shù)據(jù)管理功能為特征,以提供傳統(tǒng)數(shù)據(jù)庫系統(tǒng)難以支持的新應(yīng)用。它必須支持面向?qū)ο?,具有開放性,能夠在多個平臺上使用。⑶文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)有何區(qū)別和聯(lián)系?文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)之間的區(qū)別:1〕文件系統(tǒng)用文件將數(shù)據(jù)長期保存在外存上,數(shù)據(jù)庫系統(tǒng)用數(shù)據(jù)庫統(tǒng)一存儲數(shù)據(jù);2〕文件系統(tǒng)中的程序和數(shù)據(jù)有一定的聯(lián)系,數(shù)據(jù)庫系統(tǒng)中的程序和數(shù)據(jù)別離,數(shù)據(jù)具有較高的獨立性;3〕文件系統(tǒng)用操作系統(tǒng)中的存取方法對數(shù)據(jù)進展管理,數(shù)據(jù)庫系統(tǒng)用DBMS統(tǒng)一管理和控制數(shù)據(jù);4〕文件系統(tǒng)實現(xiàn)以文件為單位的數(shù)據(jù)共享,數(shù)據(jù)庫系統(tǒng)實現(xiàn)以記錄和字段為單位的數(shù)據(jù)共享,數(shù)據(jù)構(gòu)造化,冗余度小。文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)之間的聯(lián)系:1〕均為數(shù)據(jù)組織的管理技術(shù);2〕均由數(shù)據(jù)管理軟件管理數(shù)據(jù),程序與數(shù)據(jù)之間用存取方法進展轉(zhuǎn)換;3〕數(shù)據(jù)庫系統(tǒng)是在文件系統(tǒng)的根底上開展而來的。⑷數(shù)據(jù)庫系統(tǒng)的特點。1)采用一定的數(shù)據(jù)模型實現(xiàn)數(shù)據(jù)構(gòu)造化2)數(shù)據(jù)共享、冗余度小、防止了數(shù)據(jù)的不一致3)具有較高的數(shù)據(jù)獨立性4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制⑸何謂數(shù)據(jù)的物理獨立性與數(shù)據(jù)的邏輯獨立性?邏輯獨立性表示一旦模式發(fā)生變化,無需改變外模式或應(yīng)用程序的能力。物理獨立性表示不會因為模式發(fā)生改變而導(dǎo)致概念模式發(fā)生改變的能力。⑹數(shù)據(jù)模型的三要素。1)數(shù)據(jù)構(gòu)造;2)數(shù)據(jù)操作;3)數(shù)據(jù)完整性。⑺舉例說明實體集之間具有1:1、1:n、m:n的聯(lián)系。例如,有四個實體集:學生、學校、教師、校長,校長和學校為1:1聯(lián)系,學生和學校為1:n聯(lián)系,學生和教師為m:n聯(lián)系。⑻關(guān)系數(shù)據(jù)模型的特點是什么?關(guān)系數(shù)據(jù)模型的主要特征是用二維表格表示現(xiàn)實世界實體集及實體集間的聯(lián)系。具有堅實的理論根底、表達能力強、簡單和數(shù)據(jù)獨立性高等優(yōu)點,缺點是存取效率比擬低。⑼何謂空值?所謂空值就是“不知道〞或“無意義〞的值。沒有給*個屬性賦值,則稱其值為空(NULL)。⑽層次數(shù)據(jù)模型、網(wǎng)狀數(shù)據(jù)模型和關(guān)系數(shù)據(jù)模型的優(yōu)點和缺點。1〕層次模型具有查詢效率較高、構(gòu)造簡單、層次清楚,便于在計算機實現(xiàn)的優(yōu)點,在層次數(shù)據(jù)構(gòu)造中,從根結(jié)點到樹中任意結(jié)點均存在一條唯一的層次路徑,為有效地進展數(shù)據(jù)操縱也提供了條件,并且層次數(shù)據(jù)模型提供了良好的完整性支持。但層次模型也有缺點,一是層次數(shù)據(jù)模型缺乏直接表達現(xiàn)實世界中非層次型構(gòu)造的復(fù)雜聯(lián)系,二是層次順序的嚴格限制,使得對插入或刪除操作也帶來了較多的限制,并且查詢子女結(jié)點必須通過雙親結(jié)點,所以使得應(yīng)用程序的編寫也比擬復(fù)雜。2〕網(wǎng)狀模型的主要優(yōu)點是能直接描述現(xiàn)實世界,記錄之間的聯(lián)系也是通過指針來實現(xiàn)的,所以查詢效率高。缺點是構(gòu)造和編程復(fù)雜,難掌握,不易使用。3〕關(guān)系模型有堅實的理論根底。二維表不僅能表示實體集,而且能方便地表示實體集間的聯(lián)系,所以說它有很強的表達能力,這是層次模型和網(wǎng)狀模型所不及的。關(guān)系模型具有簡單、易學易用的優(yōu)點。數(shù)據(jù)獨立性高。關(guān)系模型缺點是查詢效率常常不如非關(guān)系數(shù)據(jù)模型。⑾舉例說明E-R圖的構(gòu)成規(guī)則。方框:表示一實體集,在框?qū)懮蠈嶓w集的名字菱形框:表示聯(lián)系,菱形框標明聯(lián)系名,與其相關(guān)的實體集之間用箭頭表示,一個箭頭代表為1,兩個箭頭代表為多。橢圓框:表示屬性,在框?qū)懮蠈傩缘拿?,并用無向邊連向與其相關(guān)的實體集或聯(lián)系。在E-R圖中,有時為了突出各實體集之間的聯(lián)系,可以先畫出實體集及其屬性,然后再重點畫出實體之間的聯(lián)系。如圖1,圖2所示。圖1學生實體及其屬性圖2實體之間聯(lián)系⑿什么是外部模式?概念模式?部模式?它們之間有何聯(lián)系?這種分級構(gòu)造的優(yōu)點是什么?外部模式又稱子模式,介于模式與應(yīng)用之間,是用戶與數(shù)據(jù)庫之間的接口,是數(shù)據(jù)庫用戶〔包括應(yīng)用程序員和最終用戶〕能夠看見和使用的局部數(shù)據(jù)的邏輯構(gòu)造和特征的描述。概念模式簡稱模式,是由數(shù)據(jù)庫設(shè)計者綜合所有用戶數(shù)據(jù),按照統(tǒng)一的觀點構(gòu)造的對數(shù)據(jù)庫全局邏輯構(gòu)造的描述。部模式也稱存儲模式,是對數(shù)據(jù)庫中數(shù)據(jù)物理構(gòu)造和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫部的表示方式。一個數(shù)據(jù)庫構(gòu)造從邏輯上可以劃分為三個層次:外部模式〔E*ternalSchema〕,概念模式〔ConceptualSchema〕和部模式〔InternalSchema〕,稱為數(shù)據(jù)庫系統(tǒng)的三級模式構(gòu)造。數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)進展三個級別的抽象。它把數(shù)據(jù)的具體組織留給DBMS去做,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在機器中的具體表示方式和存儲方式。數(shù)據(jù)庫的三級構(gòu)造是依靠映像來聯(lián)系和互相轉(zhuǎn)換的。正是這兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)具有較高的數(shù)據(jù)獨立性。⒀什么是數(shù)據(jù)獨立性?在數(shù)據(jù)庫系統(tǒng)體系構(gòu)造中是如何表達的?1)數(shù)據(jù)獨立性:數(shù)據(jù)庫系統(tǒng)在*一層次模式上的改變不會使它的上一層模式也發(fā)生改變的過程。數(shù)據(jù)獨立性包括數(shù)據(jù)的邏輯獨立性和物理獨立性兩種。2)一個數(shù)據(jù)庫構(gòu)造從邏輯上可以劃分為三個層次:外部模式〔E*ternalSchema〕,概念模式〔ConceptualSchema〕和部模式〔InternalSchema〕,稱為數(shù)據(jù)庫系統(tǒng)的三級模式構(gòu)造。數(shù)據(jù)庫的三級構(gòu)造是依靠外模式/模式映像和模式/模式映像來聯(lián)系和互相轉(zhuǎn)換的。正是這兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)具有較高的數(shù)據(jù)獨立性,其中外模式/模式映像保證邏輯獨立性,模式/模式映像保證物理獨立性。⒁數(shù)據(jù)庫系統(tǒng)的軟件包括哪些主要成份?根本的系統(tǒng)軟件是操作系統(tǒng),其它任何軟件都必須在它的支持下工作。除操作系統(tǒng)之外,還必須配有數(shù)據(jù)庫管理系統(tǒng),沒有數(shù)據(jù)庫管理系統(tǒng)也就不能稱其為是數(shù)據(jù)庫系統(tǒng)。同時,為了開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng),還需要有各種高級語言及其編譯系統(tǒng)。⒂什么是數(shù)據(jù)字典?它在數(shù)據(jù)庫中的作用是什么?數(shù)據(jù)字典〔DataDictionary〕是描述各級模式的信息,主要包括所有數(shù)據(jù)的構(gòu)造名、意義、描述定義、存儲格式、完整性約束、使用權(quán)限等信息。由于數(shù)據(jù)字典包含了數(shù)據(jù)庫系統(tǒng)中的大量描述信息〔而不是用戶數(shù)據(jù)〕,因此也稱它為“描述信息庫〞。數(shù)據(jù)字典是DBMS存取和管理數(shù)據(jù)的根本依據(jù),主要由系統(tǒng)管理和使用⒃DBA的主要職責是什么?①參與數(shù)據(jù)庫系統(tǒng)的設(shè)計與建立。②對系統(tǒng)的運行實行監(jiān)控。③定義數(shù)據(jù)的平安性要求和完整性約束條件。④負責數(shù)據(jù)庫性能的改良和數(shù)據(jù)庫的重組及重構(gòu)工作。⒄用戶訪問數(shù)據(jù)庫的過程。1)承受應(yīng)用程序的數(shù)據(jù)請求2)DBMS對用戶的操作請求進展分析3)數(shù)據(jù)庫管理系統(tǒng)要向操作系統(tǒng)發(fā)出操作請求4)操作系統(tǒng)接到命令后,對數(shù)據(jù)庫中的數(shù)據(jù)進展處理,將結(jié)果送到系統(tǒng)緩沖區(qū),并發(fā)出讀完標志。5)DBMS接到答復(fù)信號后,將緩沖區(qū)的數(shù)據(jù)經(jīng)過模式映射,變成用戶的邏輯記錄送到用戶工作區(qū),同時給用戶答復(fù)成功與否的信息。⒅關(guān)系數(shù)據(jù)庫完整性約束有哪些?舉例說明。1)實體完整性約束:實體完整性約束是指任一關(guān)系中標識屬性〔關(guān)鍵字〕的值,不能為NULL,否則,無法識別關(guān)系中的元組。2)參照完整性約束:參照完整性是不同關(guān)系間的一種約束,當存在關(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)鍵字),則對于R〔U〕中的每個元組在屬性組F上的值必須為:空值〔NULL〕或者等于S〔U〕中*個元組的關(guān)鍵字值。3〕用戶定義完整性約束。如值的類型、寬度等。⒆有控制的冗余與無控制的冗余有什么區(qū)別?有控制的冗余是指數(shù)據(jù)庫設(shè)計者在設(shè)計中為了提高操作效率有意保存的冗余數(shù)據(jù),無控制冗余是在數(shù)據(jù)庫設(shè)計中由于屬性間的依賴而存在的關(guān)聯(lián)數(shù)據(jù),兩者的區(qū)別是無控制冗余不是數(shù)據(jù)庫設(shè)計者所要保存的冗余數(shù)據(jù),因為它會帶來很多問題,使得存儲效率比擬低,而有控制冗余是數(shù)據(jù)庫設(shè)計者有意保存的數(shù)據(jù),主要是為了改善對數(shù)據(jù)庫的查詢效率。⒇簡述數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)之間的關(guān)系數(shù)據(jù)庫是指在計算機的存儲設(shè)備上合理存放、相關(guān)聯(lián)、有構(gòu)造的數(shù)據(jù)集合。這個數(shù)據(jù)的集合由數(shù)據(jù)庫管理系統(tǒng)進展建立和維護,用戶訪問數(shù)據(jù)庫中的各種請求都是通過數(shù)據(jù)庫管理系統(tǒng)完成的。數(shù)據(jù)庫系統(tǒng)是在計算機系統(tǒng)中引進數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)后的組成,沒有數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)不能夠構(gòu)成數(shù)據(jù)庫系統(tǒng)。1.4選擇題⑴在〔〕中一個結(jié)點可以有多個雙親,結(jié)點之間可以有多種聯(lián)系。A網(wǎng)狀模型B關(guān)系模型C層次模型D以上都有⑵數(shù)據(jù)庫管理系統(tǒng)〔DBMS〕是〔〕。A一個完整的數(shù)據(jù)庫應(yīng)用系統(tǒng)B一組硬件C一組軟件D既有硬件,也有軟件⑶用戶或應(yīng)用程序看到的那局部局部邏輯構(gòu)造和特征的描述是〔〕模式。A模式B物理模式C子模式D模式⑷要保證數(shù)據(jù)庫的邏輯數(shù)據(jù)獨立性,需要修改的是〔〕。A模式與外模式之間的映射B模式與模式之間的映射C模式D三級模式⑸以下四項中,不屬于數(shù)據(jù)庫系統(tǒng)特點的是〔〕。A數(shù)據(jù)共享B數(shù)據(jù)完整性C數(shù)據(jù)冗余度高D數(shù)據(jù)獨立性高⑹數(shù)據(jù)庫(DB),數(shù)據(jù)庫系統(tǒng)(DBS)和數(shù)據(jù)庫管理系統(tǒng)(DBMS)之間的關(guān)系是〔〕。ADBS包括DB和DBMSBDBMS包括DB和DBSCDB包括DBS和DBMSDDBS就是DB,也就是DBMS=7\*GB2⑺數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的主要區(qū)別是〔〕。A數(shù)據(jù)庫系統(tǒng)復(fù)雜,而文件系統(tǒng)簡單B文件系統(tǒng)不能解決數(shù)據(jù)冗余和數(shù)據(jù)獨立性問題,而數(shù)據(jù)庫系統(tǒng)可以解決C文件系統(tǒng)只能管理程序文件,而數(shù)據(jù)庫系統(tǒng)能夠管理各種類型的文件D文件系統(tǒng)管理的數(shù)據(jù)量較少,而數(shù)據(jù)庫系統(tǒng)可以管理龐大的數(shù)據(jù)量。=8\*GB2⑻數(shù)據(jù)庫的概念模型獨立于〔〕。A具體的機器和DBMSBE-R圖C信息世界D現(xiàn)實世界=9\*GB2⑼在數(shù)據(jù)庫中存儲的是〔〕。A數(shù)據(jù)B數(shù)據(jù)模型C數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系D信息=10\*GB2⑽在數(shù)據(jù)庫中,數(shù)據(jù)的物理獨立性是指〔〕。A數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)的相互獨立B用戶程序與DBMS的相互獨立C用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中的數(shù)據(jù)是相互獨立的D應(yīng)用程序與數(shù)據(jù)庫中數(shù)據(jù)的邏輯構(gòu)造相互獨立=11\*GB2⑾數(shù)據(jù)庫的特點之一是數(shù)據(jù)的共享,嚴格地講,這里的數(shù)據(jù)共享是指〔〕。A同一應(yīng)用中的多個程序共享一個數(shù)據(jù)集合B多個用戶、同一種語言共享數(shù)據(jù)C多個用戶共享一個數(shù)據(jù)文件D多種應(yīng)用、多種語言、多個用戶相互覆蓋地使用數(shù)據(jù)集合=12\*GB2⑿在數(shù)據(jù)庫技術(shù)中,為提高數(shù)據(jù)庫的邏輯獨立性和物理獨立性,數(shù)據(jù)庫的構(gòu)造被劃分成用戶級、〔〕和存儲級三個層次A管理員級B外部級C概念級D部級=13\*GB2⒀在數(shù)據(jù)庫中,產(chǎn)生數(shù)據(jù)不一致的根本原因是〔〕。A數(shù)據(jù)存儲量太大B沒有嚴格保護數(shù)據(jù)C未對數(shù)據(jù)進展完整性控制D數(shù)據(jù)冗余=14\*GB2⒁數(shù)據(jù)庫具有①、最小的②和較高的程序與數(shù)據(jù)③。①A程序構(gòu)造化B數(shù)據(jù)構(gòu)造化C程序標準化D數(shù)據(jù)模塊化②A冗余度B存儲量C完整性D有效性③A可靠性B完整性C獨立性D一致性=15\*GB2⒂在數(shù)據(jù)庫的三級模式構(gòu)造中,描述數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯構(gòu)造和特征的是〔〕。A外模式B模式C存儲模式D模式1-5:A,C,C,A,C6-10:A,B,A,C,C11-15:D,C,D,BAC,D1.5對于工程碩士的管理需要掌握的信息有:學生現(xiàn)在的工作單位、職務(wù)、簡歷情況,其中簡歷情況包括開場時間、終止時間、單位、擔任職務(wù)、證明人;學生目前在校情況,包括學生的**、所在學院、所學專業(yè)、入學時間、導(dǎo)師;學生在校所學的課程號、課程名、學時、授課教師及成績;學院包括學院代號、學院名稱、院長;導(dǎo)師包括導(dǎo)師職工編號、、出生日期、職稱、研究方向。要求:⑴確定實體及實體型屬性;⑵找出實體間的聯(lián)系;⑶畫出E-R圖。(1)學生:**,,專業(yè),學院,入學時間,工作單位,導(dǎo)師號,建立號,職務(wù)簡歷:簡歷號,開場時間,完畢時間,證明人,單位,擔任職務(wù)課程:課程號,學時,課程名,授課教師學院:學院代號,學院名稱,院長導(dǎo)師:導(dǎo)師號,,出生日期,研究方向(2)學生-簡歷:1:n 學生-學院:n:1 學生-導(dǎo)師:n:1 學生-課程:n:m導(dǎo)師-學院:n:1(3)圖1學生實體及其屬性圖2簡歷實體及其屬性圖3課程實體及其屬性圖4學院實體及其屬性圖5導(dǎo)師實體及其屬性圖6實體聯(lián)系圖第二章2.1試述關(guān)系模型的3個組成局部答:關(guān)系模型由關(guān)系數(shù)據(jù)構(gòu)造、關(guān)系操作和關(guān)系完整性約束三局部組成。2.2一個關(guān)系模式能否沒有關(guān)鍵字?為什么?答:不可以沒有關(guān)鍵字,因為關(guān)鍵字是元組的唯一標志,如果沒有關(guān)鍵字則無法唯一標識一個元組。2.3試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部關(guān)鍵字屬性的值也可以為空?什么情況下才可以為空?答:〔1〕實體完整性規(guī)則:假設(shè)屬性A是根本關(guān)系R的主屬性,則屬性A不能取空值?!?〕參照完整性規(guī)則:假設(shè)屬性(或?qū)傩越M)F是根本關(guān)系R的外碼,它與根本關(guān)系S的主碼Ks相對應(yīng)(根本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值);或者等于S中*個元組的主碼值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。當外部關(guān)鍵字F對應(yīng)的主鍵Ks值為空值時,說明F暫時沒有賦值,此時F值必須取空值。2.4一個n行、m列的二維表〔其中沒有兩行或兩列全同〕,將行或列交換后,能導(dǎo)出多少個不同的表?答:1個2.5答:(1)最小個數(shù)為:取m,n中的大者;最大個數(shù)為:m+n(2)最小個數(shù)為:0;最大個數(shù)為:取m,n中的小者(3)最小個數(shù)為:0;最大個數(shù)為:m*n(4)最小個數(shù)為:0;最大個數(shù)為:n2.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)}R×S={(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)}B<‘5’(R)={(7,2,3),(4,4,3)}2.7答:該表達式的意思是:從關(guān)系R中選擇元組,該元組滿足:第1分量值或第2分量值至少有一個不等于其他*元組,即選擇與其他元組不完全一樣的元組。由于關(guān)系模型的性質(zhì)要求,關(guān)系中不能夠有重復(fù)的元組,因此上述條件一定滿足,所以,這個表達式結(jié)果就是R。2.8〔1〕從R和S的笛卡爾積中選擇滿足以下條件的元組:第2分量與第4分量相等,或第3分量和第4分量相等,并取第1分量和第5分量構(gòu)成新的關(guān)系?!?〕元組表達式〔3〕域表達式2.9〔1〕漢語表達式:選擇R關(guān)系中元組第2分量值不等于S關(guān)系中*元組第1分量值的元組?!?〕關(guān)系代數(shù)表達式:〔3〕域表達式:2.10〔1〕漢語表達式:選擇R中元組第1分量值與第2分量值互換后仍存在于R中的元組?!?〕關(guān)系代數(shù)表達式:〔3〕域表達式:2.11(1)(2)(3)(4)2.12設(shè)有關(guān)系:S(SNO,SNAME,AGE,SE*,CDEPT);SC(SNO,O,GRADE);C(O,AME,CDEPT,TNAME);用關(guān)系代數(shù)表示教師所教授課程的課程號、課程名∏O,AME〔σTNAME=‘’〔C〕〕檢索年齡大于23的男學生的**和∏SNO,SNAME〔σAGE>23∩SE*=‘男’〔S〕〕檢索**為‘090111’學生所學課程的課程名與任課教師名∏AME,TNAME〔C∞σSNO=‘090111’檢索至少選修老師所教授課程中一門課的女學生∏SNAME〔σTNAME=‘’〔C〕∞SC∞σSE*=‘女’〔S〕〕檢索‘王一寧’同學不學課程的課程號∏O〔C〕-∏O〔σSNAME=‘王一寧’〔S〕∞SC〕檢索至少選了兩門課的學生**∏SNO〔σ[1]=[4]∩[2]<>[5](SC×SC)〕檢索全部學生都選修的課程的課程號和課程名∏O,AME〔C∞〔∏SNO,O〔SC〕÷∏SNO〔S〕〕〕檢索選修課程包括老師所教授課程的學生∏SNAME〔SC∞σTNAME=‘’〔C〕〕2.13(1)教師所教授課程的課程號、課程名{t|(u)(C(u)t[1]=u[1]t[2]=u[2]C[3]=‘’)}(2)檢索年齡大于23的男學生的**和{t|(u)(S(u)t[1]=u[1]t[2]=u[2]u[3]>23u[4]=‘男’)}(3)檢索**為‘090111’{t|(u)(v)(C(v)SC(u)v[1]=u[2]t[1]=v[2]t[2]=v[3]v[1]=‘090111’(4)檢索至少選修老師所教授課程中一門課的女學生{t|(u)(v)(w)(S(u)SC(v)C(w)u[4]=‘女’v[1]=u[1]v[2]=w[1]w[3]=‘’t[1]=u[2])}(5)檢索‘王一寧’同學不學課程的課程號(6)檢索至少選了兩門課的學生**(7)檢索全部學生都選修的課程的課程號和課程名(8)檢索選修課程包括老師所教授課程的學生2.15(1)πO,TNAME〔σSDEPT=‘計算機’(S)∞SC∞σCDEPT=‘自動化’(C)〕(2)πO,TNAME〔σSDEPT=‘計算機’∧σCDEPT=‘自動化’∧S.SNO=SC.SNO∧SC.O=C.O〔S×SC×C〕〕(3)ΠΠO,TNAMEσSDEPT=‘計算機’∧σCDEPT=‘自動化’∧S.SNO=SC.SNO∧SC.O=C.O×C×SSCΠΠO,TNAMEσSC.O=C.O×σS.SNO=SC.SNOσCDEPT=‘自動化’×σSDEPT=‘計算機’SCSCΠΠO,TNAMEσSC.O=C.OΠC.O,TNAME,SC.O×σS.SNO=SC.SNOσCDEPT=‘自動化’×σSDEPT=‘計算機’SCSCΠΠO,TNAMEσSC.O=C.O×ΠSC.OΠO,TNAMEσS.SNO=SC.SNOσCDEPT=‘自動化’CσSDEPT=‘計算機’SCSCΠΠO,TNAMEσSC.O=C.O×ΠSC.OσS.SNO=SC.SNO×ΠSNOσSDEPT=‘計算機’SΠSNO,OCΠO,TNAMEσCDEPT=‘自動化’C2.16在關(guān)系代數(shù)運算中,各個運算所費時間和空間是不一樣的,如何安排假設(shè)干關(guān)系的運算操作步驟,直接影響到整個操作所需要的時間和空間。對關(guān)系代數(shù)表達式進展優(yōu)化,可以提高系統(tǒng)的操作效率,到達執(zhí)行過程既省時間又省空間的目的。第三章3-1解釋以下術(shù)語:根本表視圖單表查詢連接查詢嵌套查詢交互式SQL嵌入式SQL宿主語言答:〔1〕根本表:簡稱基表。是數(shù)據(jù)庫中實際存在的表,在SQL中一個關(guān)系對應(yīng)于一個表?!?〕視圖:SQL用視圖概念支持非標準的外模式概念。視圖是從一個或幾個基表導(dǎo)出的表,雖然它也是關(guān)系形式,但它本身不實際存儲在數(shù)據(jù)庫中,只存放對視圖的定義信息〔沒有對應(yīng)的數(shù)據(jù)〕。因此,視圖是一個虛表〔VirtualTable〕或虛關(guān)系,而基表是一種實關(guān)系〔PracticalRelation〕。〔3〕單表查詢:只涉及到一個關(guān)系的查詢。〔4〕連接查詢:同時涉及兩個以上的表的查詢?!?〕嵌套查詢:將一個查詢塊嵌套在另一個查詢塊的WHERE子句或HAVING條件中的查詢?!?〕交互式SQL:做為獨立語言由用戶在交互環(huán)境下使用的SQL語言。〔7〕嵌入式SQL:將SQL語言嵌入到*種高級語言中使用,利用高級語言的過程性構(gòu)造來彌補SQL語言在實現(xiàn)復(fù)雜應(yīng)用方面的缺乏的SQL語言?!?〕宿主語言:嵌入SQL的高級語言稱為主語言或宿主語言。3-2試述SQL語言的特點答:1.綜合統(tǒng)一2.高度非過程化3.面向集合的操作方式4.以同一種語法構(gòu)造提供兩種使用方式`3-3試述SQL體系構(gòu)造和關(guān)系數(shù)據(jù)庫模式之間的關(guān)系答:SQL語言支持關(guān)系數(shù)據(jù)庫體系構(gòu)造,即外模式、模式和模式,利用SQL語言可以實現(xiàn)對三級模式的定義、修改和數(shù)據(jù)的操縱功能,在此根底上形成了SQL體系構(gòu)造;在SQL體系構(gòu)造中的視圖對應(yīng)了關(guān)系數(shù)據(jù)模式的外模式,根本表對應(yīng)了關(guān)系數(shù)據(jù)模式的模式,存儲文件對應(yīng)了關(guān)系數(shù)據(jù)模式的模式。3-4SQL是如何實現(xiàn)實體完整性、參照完整性和用戶定義完整性的?答:實體完整性簡單的說,就是將表中的每一行看作一個實體。實體完整性要求表的標示符列或主鍵的完整性。可以通過建立唯一索引、PRIMARYKEY約束、UNIQUE約束,以及列的IDENTITY屬性來實施實體完整性。參照完整性維持被參照表和參照表之間的數(shù)據(jù)一致性,他通過主鍵〔PRIMARYKEY〕約束和外鍵〔FOREIGNKEY〕約束來實現(xiàn)。引用完整性確保鍵值在所有表中一致。這樣的一致性要求不能引用不存在的值,如果鍵值更改了,則在整個數(shù)據(jù)庫中,對該鍵值的所有引用要進展一致的更改。在被參照表中,當其主鍵值被其他表所參照時,該行不能被刪除也不允許改變。在參照表中,不允許參照不存在的主鍵值。用戶定義完整性使得可以定義不屬于其它任何完整性分類的特定業(yè)務(wù)規(guī)則。所有的完整性類型都支持用戶定義完整性。3-5討論當對一個視圖進展更新的時候可能會出現(xiàn)什么樣的問題?答:假設(shè)視圖的屬性來自屬性表達式或常數(shù),則不允許對視圖執(zhí)行INSERT和UPDATE操作,但允許執(zhí)行DELETE操作。假設(shè)視圖的屬性來自庫函數(shù),則不允許對此視圖更新。假設(shè)視圖定義中有GROUPBY子句,則不允許對此視圖更新。假設(shè)視圖定義中有DISTINCT任選項,則不允許對此視圖更新。假設(shè)視圖定義中有嵌套查詢,并且嵌套查詢的FROM子句涉及導(dǎo)出該視圖的根本表,則不允許對此視圖更新。假設(shè)視圖由兩個以上的根本表導(dǎo)出,則不允許對此視圖更新。如果在一個不允許更新的視圖上再定義一個視圖,這種二次視圖是不允許更新的。3-6設(shè)有兩個根本表R(A,B,C)和S(A,B,C)試用SQL查詢語句表達以下關(guān)系代數(shù)表達式:⑴R∩S⑵R-S⑶R∪S⑷R×S(select*fromR)INTERSECT(select*fromS)(select*fromR)E*CEPT(select*fromS)(select*fromR)UNION(select*fromS)select*fromR,S3-7對于教學數(shù)據(jù)庫的三個根本表:S(**,,年齡,性別)SC(**,課程號,成績)C(課程號,課程名,任課教師〕試用SQL語句表達以下查詢:⑴查詢“*〞教師所授課程的課程號和課程名。⑵查詢年齡大于23歲的男同學的**和。⑶查詢**為S3的學生所學課程的課程號、課程名和任課教師。⑷查詢“小飛〞沒有選修的課程號和課程名。⑸查詢至少選修了3門課程的學生的**和。⑹查詢?nèi)繉W生都選修了的課程編號和課程名稱。⑺在SC中刪除尚無成績的選課元組。⑻把“高等數(shù)學〞課的所有不及格成績都改為60。⑼把低于總評均成績的女同學的成績提高5%。⑽向C中插入元組〔‘C8’,‘VC++’,‘王昆’〕。3-7(1)查詢“*〞教師所授課程的課程號和課程名;SELECT課程號,課程名FROMCWHERE任課教師LIKE'*'(2)查詢年齡大于23歲的男同學的**和;SELECT**,FROMSWHERE年齡>23AND性別='男'(3)查詢**為S3的學生所學課程和課程號,課程名和任課教師SELECTC.課程號,課程名,任課教師FROMC,SCWHERESC.**='S3'AndC.課程號=SC.課程號(4)查詢“小飛〞同學沒有選修的課程的課程號和課程名;SELECTC.課程號,C.課程名FROMCWHERE課程號NOTIN(SELECT課程號FROMSCWHERE**IN(SELECT**FROMSWHERE='小飛'));或者SELECT*FROMCWHERENOTE*ISTS(SELECTSC.課程號FROMSC,SWHERESC.課程號=C.課程號ANDS.**=SC.**ANDS.='小飛')或者SELECT*FROMCWHERE課程號NOTIN(SELECT課程號FROMSC,SWHERES.**=SC.**ANDS.='小飛')(5)查詢至少選修了3門課程的學生的**和;SELECT**,FROMSWHERE**IN(SELECT**FROMSCGROUPBY**HAVINGCOUNT(課程號)>=3)(6)查詢?nèi)繉W生都選修了的課程號和課程名;SELECT課程號,課程名FROMCWHERENOTE*ISTS(SELECT**FROMSWHERENOTE*ISTS(SELECT**FROMSCWHERESC.課程號=C.課程號ANDS.**=SC.**))或者SELECT課程號,課程名FROMCWHERENOTE*ISTS((SELECT**FROMS)E*CEPT(SELECT**FROMSCWHERESC.課程號=C.課程號))(7)在SC表中刪除無成績的選課紀錄;DELETE*FROMSCWHEREGRADEisnull;(8)把“高等數(shù)學〞的所有不及格成績都改為60分;UPDATESCSET成績=60WHEREGRADE<60AND課程號=(SELECT課程號FROMCWHERE課程名='高等數(shù)學')(9)把低于總平均成績的女同學的成績提高5%UPDATEscSET成績=成績*(1+0.05)WHERE**in(select**fromswhere性別='女')and成績<(selectavg(成績)fromsc);(10)向C中插入元組〔“C8”,“VC++〞,“INSERTINTOcVALUES('C8','VC++','王昆');3-8圖3-2中顯示的數(shù)據(jù)庫模式Library,用來記錄書籍、借書人和書籍借出的情況,參照完整性在圖中用有向弧來表示,請用SQL語言建立圖中的關(guān)系模式,并完成以下操作:圖3-2Library數(shù)據(jù)庫模式⑴查詢“高等教育〞出版的所有圖書名稱和編號;⑵查詢所有作者是“郭雨辰〞的圖書的編號和名稱;⑶查詢“明〞借過的所有圖書的名稱;⑷查詢“明〞從2008年1月1日到2009年1月1日期間借過的圖書名稱;⑸列出從2008年1月1日到2009年1月1日期間沒有被人借過的圖書名稱和編號;⑹列出從2008年1月1日到2009年1月1日期間借出次數(shù)最多的10本圖書名稱;⑺將“高等教育〞的改為“010-64054588〞;3-8(1)SELECTBookID,TitleFROMBookWHEREPublishName=’高等教育’(2)SELECTBookID,TitleFROMBookID,BookWHEREBook.BookID=Author.BookIDANDAuthor=’郭雨辰’(3)SELECTTitleFROMBook,Borrow,BorrowerWHEREBorrow.CardID=Borrower.CardIDANDBorrow.BookID=Book.BookIDANDBorrower.Name=’明’(4)SELECTTitleFROMBook,Borrow,BorrowerWHEREBorrow.CardID=Borrower.CardIDANDBorrow.BookID=Book.BookIDANDBorrower.Name=’明’ANDDateOutBETWEEN2008-1-1AND.2009-1-1(5)SELECTTitleFROMBookWHERENOTE*ISTS(SELECT*FROMBorrow,BookWHEREBorrow.BookID=Book.BookIDANDDateoutBetween2008-1-1AND2009-1-1)(6)SELECTtop10TitleFROMBook,BorrowWHEREBorrow.BookID=Book.BookIDANDDateoutBetween2008-1-1AND2009-1-1GROUPBYBook.BookIDORDERBYBook.BookIDDESC(7)UPDATEPublisherSETPhone=’8’WHEREName=’高等教育’3-9針對3.8建立的表,用SQL語言完成以下操作:⑴把對所有表的INSERT權(quán)限授予“麗〞,并允許她將此權(quán)限授予其他用戶;GrantINSERTto‘麗’withgrantoption⑵把查詢和修改BORROWER的權(quán)限受給用戶“王偉〞。Grantselect,updateonBORROWERto‘王偉’習題四4.1理解并給出以下術(shù)語的定義:函數(shù)依賴局部函數(shù)依賴完全函數(shù)依賴傳遞函數(shù)依賴候選碼主碼外碼全碼主屬性非主屬性1NF2NF3NFBF4NF函數(shù)依賴集閉包屬性集閉包函數(shù)依賴集等價最小函數(shù)依賴集無損連接函數(shù)依賴保持設(shè)R(U)是屬性集U上的關(guān)系模式。假設(shè)對于R(U)的任意一個可能的關(guān)系r,*,Y是屬性集U的任意子集,當且僅當對r中任意一個給定的*的屬性值,r中都只存在惟一的Y屬性值與之對應(yīng)。也就是說,如果*相等,就有Y也相等,則稱Y函數(shù)依賴于*或*函數(shù)確定Y,記作*→Y。在R(U)中,如果,并且對于*的一個真子集,有成立,則稱對局部函數(shù)依賴〔PartialFunctionalDependency〕,記作。在R(U)中,如果,并且對于*的任何一個真子集,都有成立,則稱對完全函數(shù)依賴〔FullFunctionalDependency〕,記作。在R(U)中,如果,,,則稱Z對*傳遞函數(shù)依賴〔TransitiveFunctionalDependency〕,記做設(shè)K為R<U,F>中的屬性或?qū)傩越M,假設(shè),則K為R的候選碼。假設(shè)候選碼多于一個,則選定其中的一個為主碼。包含在任何一個候選碼中的屬性,叫做主屬性。不包含在任何候選碼中的屬性稱為非主屬性。最簡單的情況,碼只包含單個屬性;最復(fù)雜的情況是所有屬性集組合成碼,稱為全碼。關(guān)系模式R中屬性或?qū)傩越M*并非R的主碼,但*是另一個關(guān)系模式的主碼,則稱*是R的外碼。設(shè)R是一個關(guān)系模式,如果R中的每一個屬性A的屬性名和屬性值都是不可再分的,則稱R屬于第一式,記作:R∈1NF。假設(shè)R1NF,且每一個非主屬性都完全函數(shù)依賴于碼,則R2NF。關(guān)系模式R(U,F)中假設(shè)不存在這樣的碼*,屬性組Y及非主屬性組Z〔〕,使得,,成立,則稱R(U,F)3NF。關(guān)系模式R(U,F)1NF,假設(shè)每一個決定因素都含有碼,則RBF。關(guān)系模式R(U,F)∈1NF,假設(shè)對R的每個非平凡多值依賴*→→Y〔〕,*都包含碼,則稱R(U)滿足第四式,記為R∈4NF。稱所有被一個函數(shù)依賴集F邏輯蘊涵的那些函數(shù)依賴的集合為F的閉包〔Closure〕,記為F+。設(shè)有關(guān)系模式R(U),F(xiàn)是U上的一個函數(shù)依賴集,,定義*F+={A|能由F根據(jù)Armstrong公理導(dǎo)出},并稱*F+為屬性集*關(guān)于函數(shù)依賴集F的閉包。如果函數(shù)依賴集F滿足以下條件,則稱F是一個極小函數(shù)依賴集或最小覆蓋。①F中每一個函數(shù)依賴的右部都是單個屬性。②對F中任一函數(shù)依賴*→A,F(xiàn)-{*→A}都不與F等價。③對于F中的任一函數(shù)依賴*→A,{F-{*→A}}∪{Z-A}都不與F等價,其中Z為*的任一子集。如果函數(shù)依賴集F與*個最小依賴集等價,則稱是F的最小覆蓋或是F的最小依賴集。設(shè)R是一個關(guān)系模式,F(xiàn)是R上的一個函數(shù)依賴集,R分解為關(guān)系模式的集合={R1(U1),R2(U2),…,Rn(Un)}。如果對于R的滿足F的每一個關(guān)系r,都有,則稱是一個無損連接的分解〔lossinglessjiondeposition〕假設(shè)F+=〔〕+,則R〔U,F(xiàn)〕的分解={}保持函數(shù)依賴。4.2設(shè)有關(guān)系模式R〔A,B,C,D,E,P,G,H〕,R的函數(shù)依賴集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→HG,ABC→PG},求D+【參考答案】D+={DHG}4.3證明函數(shù)依賴集F={A→BC,A→D,CD→E}和函數(shù)依賴集G={A→BCE,A→ABD,CD→E}的等價性【參考答案】∵A→BC,A→D,CD→E,∴A→BCE,A→ABD,有∵A→BCE,A→ABD,∴A→BC,A→D,CD→E,有所以F和G等價。4.4設(shè)關(guān)系模式R〔ABCD〕,F(xiàn)是R上成立的函數(shù)依賴集,F(xiàn)={A→B,C→B},則相對于F,試寫出關(guān)系模式R的候選碼,并說明理由【參考答案】關(guān)系模式R的候選碼為ACD在關(guān)系F中B只出現(xiàn)在右邊,所以B一定不是候選碼在關(guān)系F中D沒有出現(xiàn)D必然出現(xiàn)在候選碼中在關(guān)系F中AC出現(xiàn)在左邊A→B,C→C,A→A所以A能推出ABC,因此候選碼是ACD4.5設(shè)有關(guān)系模式R〔A,B,C,D,E〕,R的函數(shù)依賴集F={AB→D,B→CD,DE→B,C→D,D→A}⑴計算〔AB〕+,〔AC〕+,〔DE〕+⑵求R的所有候選碼⑶求F的最小覆蓋【參考答案】⑴〔AB〕+={ABCD}〔AC〕+={ACD}〔DE〕+={ABCDE}⑵R屬性:E,LR屬性:ABCD(AE)+={AE}(BE)+={ABCDE}(CE)+={ABCDE}(DE)+={ABCDE}R的候選碼為:BE,CE,DE⑶右部屬性單一化:F1={AB→D,B→C,B→D,DE→B,C→D,D→A}去掉多余的函數(shù)依賴:F2={B→C,DE→B,C→D,D→A}去掉冗余的屬性:沒有冗余屬性所以F的最小覆蓋Fmin=F2={B→C,DE→B,C→D,D→A}4.6設(shè)有關(guān)系模式R〔A,B,C,D〕,R的函數(shù)依賴集F={A→C,C→A,B→AC,D→AC,BD→A},求F的最小覆蓋【參考答案】第一步:將F的所有函數(shù)依賴的右部都分解成單一屬性:F1={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}第二步:去掉冗余的函數(shù)依賴:eq\o\ac(○,1)考察A→C,令G={C→A,B→A,B→C,D→A,D→C,BD→A},A+G={A}因為CA+G,所以A→C不冗余;eq\o\ac(○,2)考察C→A,令G={A→C,B→A,B→C,D→A,D→C,BD→A},C+G={C}因為AC+G,所以C→A不冗余;eq\o\ac(○,3)考察B→A,令G={A→C,C→A,B→C,D→A,D→C,BD→A},B+G={ABC}因為AB+G,所以B→A冗余,從F1中刪除B→A,F(xiàn)2={A→C,C→A,B→C,D→A,D→C,BD→A};eq\o\ac(○,4)考察B→C,令G={A→C,C→A,D→A,D→C,BD→A},B+G={B}因為CB+G,所以B→C不冗余;eq\o\ac(○,5)考察D→A,令G={A→C,C→A,B→C,D→C,BD→A},D+G={ACD}因為AD+G,所以D→A冗余,從F2中刪除D→A,F(xiàn)3={A→C,C→A,B→C,D→C,BD→A};eq\o\ac(○,6)考察D→C,令G={A→C,C→A,B→C,BD→A},D+G={D}因為CD+G,所以D→C不冗余;eq\o\ac(○,7)考察BD→A,令G={A→C,C→A,B→C,D→C},(BD)+G={ABCD}因為A(BD)+G,所以BD→A冗余,從F3中刪除BD→A,F(xiàn)4={A→C,C→A,B→C,D→C};第三步:去掉冗余的屬性:由于左邊都是單屬性,所以:Fm=F4={A→C,C→A,B→C,D→C};但是結(jié)果不唯一。4.7設(shè)關(guān)系模式R〔ABC〕,F(xiàn)是R上成立的FD集,F(xiàn)={C→A,B→A},分解ρ={AB,BC},判斷ρ是否具有函數(shù)依賴保持性?【參考答案】F1==(B→A)F2=G=F1∪F2={B→A}F={C→A,B→A}顯然,G必定包含于F+。而F不包含于G+。因此,有G+≠F+,即∴ρ不具有函數(shù)依賴保持性。4.8設(shè)關(guān)系模式R〔ABC〕,F(xiàn)是R上成立的FD集,F(xiàn)={C→A,B→C},ρ={AB,AC},判斷ρ是否具有“無損連接性〞和“函數(shù)依賴保持〞性【參考答案】考察“無損連接性〞:①首先構(gòu)造初始表,構(gòu)造如表1表1初始表AjRiABCABa1a2b13ACa1b23a3②修改表逐一考察F中的函數(shù)依賴:C→A,表的構(gòu)造不變;B→C,表的構(gòu)造不變;此時,對F中的每個函數(shù)依賴,表的構(gòu)造都不再變化。又因為表中沒有出現(xiàn)a1,a2,a3的行,所以該分解不具有無損連接性??疾臁昂瘮?shù)依賴保持〞F1==(B→A)F2=(C→A)G=F1∪F2={B→A,C→A}F={C→A,B→C}顯然,G必定包含于F+。而F不包含于G+。因此,有G+≠F+,即∴ρ不具有函數(shù)依賴保持性。4.9設(shè)關(guān)系模式R〔ABCD〕,在R上有5個相應(yīng)的FD集及分解:⑴F={B→C,D→A},ρ={AD,BC}⑵F={AB→C,C→A,C→D},ρ={ACD,BC}⑶F={A→BC,C→AD},ρ={ABC,AD}⑷F={A→B,B→C,C→D},ρ={AB,ACD}⑸F={A→B,B→C,C→D},ρ={AB,AD,CD}試對上述5中情況分別答復(fù)以下問題:⑴確定R的候選碼和主碼。⑵是否為無損分解?⑶是否函數(shù)依賴保持?⑷確定ρ中每一模式的式級別。【參考答案】eq\o\ac(○,1)分解⑴F={B→C,D→A},ρ={AD,BC}〔BD〕+={ABCD}BD是候選碼,也是主碼首先構(gòu)造初始表,構(gòu)造如表2表2初始表AjRiABCDADa1b12b13a4BCb21a2a3b24修改表逐一考察F中的函數(shù)依賴:B→C,表的構(gòu)造不變;D→A,表的構(gòu)造不變;此時,對F中的每個函數(shù)依賴,表的構(gòu)造都不再變化。又因為表中沒有出現(xiàn)a1,a2,a3,a4的行,所以該分解不具有無損連接性。F1==(B→C)F2=(D→A)G=F1∪F2={B→C,D→A}F={B→C,D→A}顯然,G必定包含于F+。而F包含于G+。因此,有G+=F+,即∴ρ具有函數(shù)依賴保持性。模式ad(A,D)BF,模式bc(B,C)BFeq\o\ac(○,2)分解⑵F={AB→C,C→A,C→D},ρ={ACD,BC}L屬性B,LR屬性AC,R屬性D(B)+={B}(AB)+={ABCD}所以AB是候選碼(BC)+={ABCD}所以BC是候選碼選擇AB做為主碼構(gòu)造初始表AjRiABCDACDa1b12a3a4BCb21a2a3b24修改表AjRiABCDACDa1b12a3a4BCa1a2a3a4因為表中出現(xiàn)a1,a2,a3,a4的行,所以該分解具有無損連接性。F1==(C→A,C→D)F2=G=F1∪F2={C→A,C→D}F={B→C,D→A}顯然,G必定包含于F+。而F不包含于G+。因此,有G+≠F+,即∴ρ不具有函數(shù)依賴保持性。模式ad(ACD)BF,模式bc(BC)BFeq\o\ac(○,3)分解⑶F={A→BC,C→AD},ρ={ABC,AD}候選碼為:A,C選主碼為:A具有無損連接性。具有函數(shù)依賴保持性均為BFeq\o\ac(○,4)分解⑷F={A→B,B→C,C→D},ρ={AB,ACD}候選碼為:A,主碼為:A具有無損連接性。不具有函數(shù)依賴保持性模式ad(AB)BF,模式bc(ACD)2NFeq\o\ac(○,5)分解⑸F={A→B,B→C,C→D},ρ={AB,AD,CD}候選碼為:A選主碼為:A不具有無損連接性。不具有函數(shù)依賴保持性均為BF4.10設(shè)有關(guān)系模式R〔A,B,C,D,E〕,R的函數(shù)依賴集F={AB→C,C→D,D→E}。判斷分解ρ={R1〔ABC〕,R2〔CD〕,R3〔DE〕}是否為無損連接分解。并且:⑴求R的所有候選碼⑵求F的最小覆蓋⑶將R分解為3NF并具有無損連接性和函數(shù)依賴保持性【參考答案】初始表AjRiABCDEABCa1a2a3b14b15CDb21b22a3a4b25DEb31b32b33a4a5修改表逐一考察F中的函數(shù)依賴:AB→C表的構(gòu)造不變;C→D,將b14改為a4AjRiABCDEABCa1a2a3a4b15CDb21b22a3a4b25DEb31b32b33a4a5D→E,將b15改為a5,將b25改為a5AjRiABCDEABCa1a2a3a4a5CDb21b22a3a4a5DEb31b32b33a4a5是無損連接分解⑴求R的所有候選碼L類屬性AB,LR類屬性為CD(AB)+={ABCDE},所以候選碼為AB⑵求F的最小覆蓋第一步:將F的所有函數(shù)依賴的右部都分解成單一屬性:由于均為單一屬性,所以F1=F={AB→C,C→D,D→E}第二步:去掉冗余的函數(shù)依賴:沒有冗余函數(shù)依賴,所以F2=F1={AB→C,C→D,D→E}第三步:去掉冗余的屬性:沒有冗余的屬性,所以Fm=F2={AB→C,C→D,D→E}⑶將R分解為3NF并具有無損連接性和函數(shù)依賴保持性ρ={R1〔ABC〕,R2〔CD〕,R3〔DE〕}4.11設(shè)有關(guān)系模式R〔職工名,工程名,工資,部門名,部門經(jīng)理〕如果規(guī)定每個職工可參加多個工程,各領(lǐng)一份工資;每個工程只屬于一個部門管理;每個部門只有一個經(jīng)理。⑴試寫出關(guān)系R的根本FD和候選碼,確定主碼。⑵說明R不是2NF的理由,并把R分解成2NF的模式集。⑶把R分解成3NF模式集,說明理由?!緟⒖即鸢浮?1)由題意得函數(shù)依賴集FF={[職工名,工程名]→工資,工程名→部門名,部門名→部門經(jīng)理}候選碼:職工名+工程名由于只有一個候選碼,故主碼即為職工名+工程名(2)由于工程名→部門名,所以存在非主屬性〔部門名〕對碼〔職工名+工程名〕的局部依賴,故R沒有到達2NF??梢苑纸鉃槿缦聝蓚€關(guān)系模式:R1=(職工名,工程名,工資)R2=(工程名,部門名,部門經(jīng)理)(3)由于R2中存在函數(shù)依賴:工程名→部門名,部門名→部門經(jīng)理,即存在非主屬性〔部門經(jīng)理〕對碼〔工程名〕的傳遞依賴,故R2沒有到達3NF。可以在(2)的根底上把R2進一步分解為如下兩個關(guān)系模式:R1=(工程名,部門名)R2=(部門名,部門經(jīng)理)綜上,R分解成3NF模式集為:R1=(職工名,工程名,工資)R2=(工程名,部門名)R3=(部門名,部門經(jīng)理)第五章5.1名詞解釋數(shù)據(jù)庫設(shè)計基于3NF的數(shù)據(jù)庫設(shè)計方法基于E-R模型的數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,根據(jù)用戶的需求,在*一具體的數(shù)據(jù)庫管理系統(tǒng)上,構(gòu)造一個性能良好的數(shù)據(jù)模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的信息要求和處理要求。基于E-R模型的數(shù)據(jù)庫設(shè)計方法是由P.P.S.chen于1976年提出的數(shù)據(jù)庫設(shè)計方法,其根本思想是在需求分析的根底上,用E-R圖構(gòu)造一個反映現(xiàn)實世界實體之間聯(lián)系的企業(yè)模式,然后再將此企業(yè)模式轉(zhuǎn)換成基于*一特定的DBMS的概念模式。基于3NF的數(shù)據(jù)庫設(shè)計方法是由S·Atre提出的構(gòu)造化設(shè)計方法,其根本思想是在需求分析的根底上,確定數(shù)據(jù)庫模式中的全部屬性和屬性間的依賴關(guān)系,將它們組織在一個單一的關(guān)系模式中,然后再分析模式中不符合3NF的約束條件,將其進展投影分解,規(guī)成假設(shè)干個3NF關(guān)系模式的集合。5.2什么是數(shù)據(jù)庫設(shè)計?試述數(shù)據(jù)庫設(shè)計的過程數(shù)據(jù)庫設(shè)計基于3NF的數(shù)據(jù)庫設(shè)計方法基于E-R模型的數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,根據(jù)用戶的需求,在*一具體的數(shù)據(jù)庫管理系統(tǒng)上,構(gòu)造一個性能良好的數(shù)據(jù)模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的信息要求和處理要求。按照規(guī)設(shè)計方法、考慮數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)全過程,并仿照軟件生存周期,將數(shù)據(jù)庫設(shè)計分為需求分析、概念構(gòu)造設(shè)計、邏輯構(gòu)造設(shè)計、物理構(gòu)造設(shè)計、數(shù)據(jù)庫實施和運行維護六個階段。數(shù)據(jù)庫設(shè)計過程可以用圖5-1表示。圖5-1數(shù)據(jù)庫設(shè)計步驟〔1〕需求分析需求分析是對具體應(yīng)用環(huán)境的業(yè)務(wù)流程和用戶提出的各種要求加以調(diào)查研究和分析,并和用戶共同對各種原始數(shù)據(jù)加以綜合、整理的過程,是形成最終設(shè)計目標的首要階段,也是整個數(shù)據(jù)庫設(shè)計過程中最困難的階段。該階段任務(wù)的完成,將為以后各階段任務(wù)打下堅實的根底。因此,對用戶的各種需求及數(shù)據(jù),能否做出準確無誤、充分完備的分析,并在此根底上形成最終目標,是整個數(shù)據(jù)庫設(shè)計成敗的關(guān)鍵?!?〕概念構(gòu)造設(shè)計概念構(gòu)造設(shè)計是對用戶信息需求所進展的進一步抽象和歸納,結(jié)果為數(shù)據(jù)庫概念構(gòu)造,通常用E-R模型來表示。數(shù)據(jù)庫的概念構(gòu)造與DBMS和相關(guān)軟硬件無關(guān)。它是對現(xiàn)實世界中具體數(shù)據(jù)的抽象,實現(xiàn)了從現(xiàn)實世界到信息世界的轉(zhuǎn)化過程。概念構(gòu)造設(shè)計是數(shù)據(jù)庫設(shè)計的一個重要環(huán)節(jié),是數(shù)據(jù)庫的邏輯構(gòu)造設(shè)計和物理構(gòu)造設(shè)計的根底?!?〕邏輯構(gòu)造設(shè)計概念構(gòu)造設(shè)計的結(jié)果是得到一個與DBMS無關(guān)的概念模式,而邏輯構(gòu)造設(shè)計就是將概念模式轉(zhuǎn)化為選用的具體DBMS所支持的數(shù)據(jù)模型相符合的邏輯構(gòu)造。所以,在邏輯構(gòu)造設(shè)計階段選擇什么樣的數(shù)據(jù)模型和哪一個具體DBMS尤為重要,它是能否滿足用戶各種要求的關(guān)鍵。在邏輯構(gòu)造設(shè)計階段還有一個很重要的工作就是模式優(yōu)化,該工作主要以用規(guī)化理論為指導(dǎo),目的是能夠合理存放數(shù)據(jù)集合。邏輯構(gòu)造設(shè)計階段的模式優(yōu)化,已成為影響數(shù)據(jù)庫設(shè)計質(zhì)量的一項重要工作?!?〕物理構(gòu)造設(shè)計數(shù)據(jù)庫物理設(shè)計是將邏輯構(gòu)造設(shè)計階段所產(chǎn)生的邏輯數(shù)據(jù)模型,轉(zhuǎn)換為*一計算機系統(tǒng)所支持的數(shù)據(jù)庫物理構(gòu)造的實現(xiàn)過程。數(shù)據(jù)庫的物理構(gòu)造主要指數(shù)據(jù)庫的存儲記錄格式、存儲記錄安排和存儲方法,完全依賴于給定的硬件環(huán)境、具體的DBMS和操作系統(tǒng),。存儲記錄格式的設(shè)計包括記錄的組成、數(shù)據(jù)項的類型、長度,以及邏輯記錄到存儲記錄的映射。存儲記錄的安排是指可以把經(jīng)常同時被訪問的數(shù)據(jù)組合在一起。存取方法的設(shè)計主要是指存取路徑,存取路徑分為主存取路徑與輔存取路徑,前者用于主鍵檢索,后者用于輔助鍵檢索。除此之外,物理構(gòu)造設(shè)計還要進展完整性和平安性考慮,設(shè)計者應(yīng)在完整性、平安性、有效性和效率方面進展分析,做出權(quán)衡。完成物理構(gòu)造設(shè)計后,對該物理構(gòu)造做出相應(yīng)的性能評價,假設(shè)評價結(jié)果符合原設(shè)計要求,則進一步實現(xiàn)該物理構(gòu)造。否則,對該物理構(gòu)造做出相應(yīng)的修改,假設(shè)屬于最初設(shè)計問題所導(dǎo)致的物理構(gòu)造的缺陷,必須返回到概念設(shè)計階段修改其概念數(shù)據(jù)模型或重新建立概念數(shù)據(jù)模型,如此反復(fù),直至評價結(jié)果最終滿足原設(shè)計要求為止?!?〕數(shù)據(jù)庫實施數(shù)據(jù)庫實施階段,即數(shù)據(jù)庫調(diào)試、試運行階段。一旦數(shù)據(jù)庫物理構(gòu)造形成,就可以用已選定的DBMS定義、描述相應(yīng)的數(shù)據(jù)庫構(gòu)造,裝入數(shù)據(jù)庫數(shù)據(jù),以生成完整的數(shù)據(jù)庫,編制有關(guān)應(yīng)用程序,進展聯(lián)機調(diào)試并轉(zhuǎn)入試運行,同時進展時間、空間等性能分析,假設(shè)不符合要求,則需調(diào)整物理構(gòu)造、修改應(yīng)用程序,直至高效、穩(wěn)定、正確地運行該數(shù)據(jù)庫系統(tǒng)為止。〔6〕數(shù)據(jù)庫運行和維護數(shù)據(jù)庫實施階段完畢,標志著數(shù)據(jù)庫系統(tǒng)投入正常運行的開場。嚴格地說,數(shù)據(jù)庫運行和維護不屬于數(shù)據(jù)庫設(shè)計的疇,早期的新奧爾良法明確規(guī)定數(shù)據(jù)庫設(shè)計的四個階段,不包括運行和維護容。隨著人們對數(shù)據(jù)庫設(shè)計的深刻了解和設(shè)計水平的不斷提高,已經(jīng)充分認識到數(shù)據(jù)庫運行和維護工作與數(shù)據(jù)庫設(shè)計的嚴密聯(lián)系。數(shù)據(jù)庫設(shè)計是一種動態(tài)和不斷完善的運行過程,運行和維護階段開場,并不意味著設(shè)計過程的完畢,任何哪怕只有細微的構(gòu)造改變,也許就會引起對物理構(gòu)造的調(diào)整、修改,甚至物理構(gòu)造的完全改變,因此數(shù)據(jù)庫運行和維護階段是保證數(shù)據(jù)庫日?;顒拥囊粋€重要階段。5.3試述數(shù)據(jù)庫設(shè)計的需求分析階段的目標和方法需求分析的任務(wù)是通過詳細調(diào)查現(xiàn)實世界要處理的對象〔組織、部門、企業(yè)等〕,充分了解原系統(tǒng)〔手工系統(tǒng)或計算機系統(tǒng)〕工作概況,明確用戶的各種需求,然后在此根底上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴大和改變,不能僅僅按當前應(yīng)用需求來設(shè)計數(shù)據(jù)庫。需求分析常用的方法有:〔1〕跟班作業(yè)。通過親身參加業(yè)務(wù)工作來了解業(yè)務(wù)活動的情況。這種方法可以比擬準確地理解用戶的需求,但比擬消耗時間?!?〕開調(diào)查會。通過與用戶座談來了解業(yè)務(wù)活動情況及用戶需求。座談時,參加者之間可以相互啟發(fā)?!?〕請專人介紹?!?〕詢問。對*些調(diào)查中的問題,可以找專人詢問?!?〕設(shè)計調(diào)查表請用戶填寫。如果調(diào)查表設(shè)計得合理,這種方法是很有效,也很易于為用戶承受的?!?〕查閱記錄。即查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄,包括原始單據(jù)、賬簿、報表等。需求分析的過程一般是:〔7〕分析用戶活動,產(chǎn)生業(yè)務(wù)流程圖:了解用戶當前的業(yè)務(wù)活動和職能,理清其處理流程。把用戶業(yè)務(wù)分成假設(shè)干個子處理過程,使每個處理功能明確、界面清楚,畫出業(yè)務(wù)流程圖〔8〕確定系統(tǒng)圍,產(chǎn)生系統(tǒng)圍圖:在和用戶經(jīng)過充分討論的根底上,確定計算機所能進展數(shù)據(jù)處理的圍,確定哪些工作由人工完成,哪些工作由計算機系統(tǒng)完成,即確定人機界面?!?〕分析用戶活動所涉及的數(shù)據(jù),產(chǎn)生數(shù)據(jù)流圖:深入分析用戶的業(yè)務(wù)處理,以數(shù)據(jù)流圖(DataFlowDiagram,DFD)形式表示出數(shù)據(jù)的流向和對數(shù)據(jù)所進展的加工。DFD有四個根本成分:數(shù)據(jù)流、加工或處理、文件、外部實體。DFD可以形象地表示數(shù)據(jù)流與各業(yè)務(wù)活動的關(guān)系,它是需求分析的工具和分析結(jié)果的描述手段?!?0〕分析系統(tǒng)數(shù)據(jù),產(chǎn)生數(shù)據(jù)字典:僅僅有DFD并不能構(gòu)成需求說明書,DFD只表示出系統(tǒng)有哪幾局部組成和各個局部之間的關(guān)系,并沒有說明各個成分的含義。數(shù)據(jù)字典提供對數(shù)據(jù)庫時間描述的集中管理,它的功能是存儲和檢索各種數(shù)據(jù)描述(元數(shù)據(jù)Metadata),數(shù)據(jù)字典是數(shù)據(jù)收集和數(shù)據(jù)分析的主要成果,在數(shù)據(jù)庫設(shè)計中占有很重要地位。〔11〕功能分析:數(shù)據(jù)庫的設(shè)計是與應(yīng)用系統(tǒng)的設(shè)計嚴密結(jié)合的過程,離開一定的功能,數(shù)據(jù)庫就失去其存在價值。數(shù)據(jù)庫設(shè)計的一個重要特點是構(gòu)造(數(shù)據(jù))和行為(功能)的結(jié)合。用戶希望系統(tǒng)能提供的功能必須有一個清晰的描述。功能分析可以采用軟件構(gòu)造圖或模塊圖來表示系統(tǒng)的層次分解關(guān)系、模塊調(diào)用關(guān)系。5.4評審在數(shù)據(jù)庫設(shè)計中有什么作用?為什么允許設(shè)計過程中有屢次的回溯與重復(fù)?評審的作用在于確認*一階段的任務(wù)是否全部完成,通過評審可以及早發(fā)現(xiàn)系統(tǒng)設(shè)計中的錯誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的本錢。如果在數(shù)據(jù)庫已經(jīng)實現(xiàn)時再發(fā)現(xiàn)設(shè)計中的錯誤,則代價比擬大。因此應(yīng)該允許設(shè)計過程的回溯與反復(fù)。設(shè)計過程需要根據(jù)評審意見修改所提交的階段設(shè)計成果,有時修改甚至要回溯到前面的*一階段,進展局部乃至全部重新設(shè)計。5.5數(shù)據(jù)字典的容和作用是什么?數(shù)據(jù)字典是將數(shù)據(jù)流程圖中各個要素的具體容和特征,以特定格式記錄下來,所形成的文檔。它主要包括:數(shù)據(jù)項、數(shù)據(jù)構(gòu)造、數(shù)據(jù)流、加工、文件、外部實體等容。在數(shù)據(jù)庫設(shè)計過程中,數(shù)據(jù)字典被不斷地充實、修改和完善。對數(shù)據(jù)庫設(shè)計來講,數(shù)據(jù)字典是進展數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果,是各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)構(gòu)造、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程五個局部。5.6什么是數(shù)據(jù)庫的概念構(gòu)造?數(shù)據(jù)庫的概念構(gòu)造設(shè)計的特點和方法是什么?將需求分析得到的用戶需求抽象為信息構(gòu)造即概念模型的過程就是概念構(gòu)造設(shè)計。對數(shù)據(jù)庫概念模型有以下要求:〔1〕有豐富的語義表達能力,能表達用戶的各種需求?!?〕易于交流和理解,從而可以用它和不熟悉計算機的用戶交換意見?!?〕要易于更改。當應(yīng)用環(huán)境和應(yīng)用要求改變時,概念模型要能很容易的修改和擴大以反映這種變化。〔4〕易于向各種數(shù)據(jù)模型轉(zhuǎn)換?!?〕集中式模式設(shè)計法即首先定義全局概念構(gòu)造的框架,然后逐步細化。例如,可以先確定幾個高級實體類型,然后在確定其屬性時,把這些實體類型分裂為更低一層的實體類型和聯(lián)系?!?〕視圖集成法以各局部的需求說明為根底,分別設(shè)計各自的局部模式,這些局部模式相當于各局部的視圖,然后再以這些視圖為根底,集成為一個全部模式。視圖是按照*個用戶組、應(yīng)用或部門的需求說明,用E-R數(shù)據(jù)模型設(shè)計的局部模式?!?〕混合方法即將集中式模式設(shè)計法和視圖集成法相結(jié)合,用集中式模式設(shè)計法設(shè)計一個全局概念構(gòu)造的框架,以它為骨架集成由視圖集成法中設(shè)計的各局部概念構(gòu)造?!?〕由向外法首先定義最重要的核心概念構(gòu)造,然后向外擴大,考慮已存在概念附近的新概念使得建模過程向外擴展。使用該策略,可以先確定模式中比擬明顯的一些實體類型,然后繼續(xù)添加其它相關(guān)的實體類型。5.7什么是視圖集成?視圖集成的方法是什么?以各局部的需求說明為根底,分別設(shè)計各自的局部模式,這些局部模式相當于各局部的視圖,然后再以這些視圖為根底,集成為一個全部模式。視圖是按照*個用戶組、應(yīng)用或部門的需求說明,用E-R數(shù)據(jù)模型設(shè)計的局部模式。子視圖的集成是一個非常復(fù)雜的過程,需要一個更加嚴格和系統(tǒng)化的方法。下面介紹一些用于視圖合并的策略:1〕二元集成首先對兩個比擬類似的模式進展集成。然后把結(jié)果模式和另外一個模式集成,不斷重復(fù)該過程直到所有模式被集成??梢愿鶕?jù)模式的相似程度確定模式集成的順序。由于集成是逐步進展的,所以該策略適用于手工集成。2〕n元集成對視圖的集成關(guān)系進展分析和說明之后,在一個過程中完成所有視圖的集成。對于規(guī)模較大的設(shè)計問題,這個策略需要使用計算機化的工具,目前有一些這種工具的原型,但還沒有成熟的商業(yè)產(chǎn)品。3〕二元平衡策略首先將模式成對地進展集成,然后再將結(jié)果模式成對地進一步集成,不斷重復(fù)該過程直至得到最終的全局模式。4〕混合策略〔mi*edstrategy〕首先,根據(jù)模式的相似性把它們劃分為不同的組,對每個組單獨地進展集成。然后對中間結(jié)果進展分組并集成,重復(fù)該過程直至集成完畢。5.8視圖集成時,分E-R圖之間的沖突有哪些?解決這些沖突的方法是什么?由于局部概念設(shè)計相對簡單,因此簡化了全局模式的設(shè)計。但是,在將局部視圖合成為全局視圖的時候,需要一個方法學在集成時具體地解決以下問題:1〕確定模式之間的對應(yīng)和沖突由于各子模式是分開進展設(shè)計的,因此有必要在集成之前確定各模式表示的是否是同一個現(xiàn)實世界的概念構(gòu)造。在此過程中,模式間可能會發(fā)生如下的一些沖突:=1\*GB3①屬性沖突屬性域沖突,即屬性值的類型、取值圍或取值集合不同,如零件號,有的部門作為整數(shù)對待,有的部門則使用字符串。不同部門對零件號的編碼也可能不同。屬性取值單位沖突:如零件重量,有的部門以公斤為單位,有的部門以克為單位。=2\*GB3②命名沖突包括同名異義和異名同義。如科研工程,財務(wù)科稱為工程,科研處稱為課題,生產(chǎn)管理處稱為工程,這就是一個異名同義的例子。=3\*GB3③構(gòu)造沖突同一對象在不同應(yīng)用中具有不同的抽象。如在教學管理中,職稱是一個屬性;而在人事管理中,因為職稱與工資、住房掛鉤,因此是一個實體。同一實體在不同局部視圖中所包含的屬性不完全一樣。實體間的聯(lián)系在不同分E-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論