第4章 數(shù)據(jù)庫設(shè)計_第1頁
第4章 數(shù)據(jù)庫設(shè)計_第2頁
第4章 數(shù)據(jù)庫設(shè)計_第3頁
第4章 數(shù)據(jù)庫設(shè)計_第4頁
第4章 數(shù)據(jù)庫設(shè)計_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第4章 數(shù)據(jù)庫設(shè)計 本本 章章 要要 點點n數(shù)據(jù)庫設(shè)計的四個階段n數(shù)據(jù)庫的概念設(shè)計與邏輯設(shè)計思考題n4.1 4.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述n 數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是n信息系統(tǒng)開發(fā)和建設(shè)中的核心技術(shù)。信息系統(tǒng)開發(fā)和建設(shè)中的核心技術(shù)。n 具體說,數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)具體說,數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)n境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系n統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需n求求 ( (信息

2、要求和處理要求信息要求和處理要求) )。這個問題是數(shù)據(jù)庫在應(yīng)用領(lǐng)。這個問題是數(shù)據(jù)庫在應(yīng)用領(lǐng)n域的主要研究課題。域的主要研究課題。n 在數(shù)據(jù)庫領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)在數(shù)據(jù)庫領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)n稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。n 數(shù)據(jù)庫設(shè)計是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部數(shù)據(jù)庫設(shè)計是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部n分。分。n 下面介紹數(shù)據(jù)庫設(shè)計的方法、特點和步驟。下面介紹數(shù)據(jù)庫設(shè)計的方法、特點和步驟。 n4.1.1 4.1.1 數(shù)據(jù)庫設(shè)計的方法數(shù)據(jù)庫設(shè)計的方法n1 1、規(guī)范設(shè)計法、規(guī)范設(shè)計法n(1 1)比較著名的有新奧爾良)比較著名的有新奧爾良(New Or

3、leans)(New Orleans)方法,它將數(shù)方法,它將數(shù)據(jù)庫設(shè)計分為四個階段。據(jù)庫設(shè)計分為四個階段。n(2 2)S.B.YaoS.B.Yao等又將數(shù)據(jù)庫設(shè)計分為五個步驟。等又將數(shù)據(jù)庫設(shè)計分為五個步驟。n(3 3)又有)又有I.R.PalmerI.R.Palmer等主張把數(shù)據(jù)庫設(shè)計當成一步接一等主張把數(shù)據(jù)庫設(shè)計當成一步接一n步的過程,并采用一些輔助手段實現(xiàn)每一過程。步的過程,并采用一些輔助手段實現(xiàn)每一過程。n(4 4)基于)基于E-RE-R模型的數(shù)據(jù)庫設(shè)計方法,基于模型的數(shù)據(jù)庫設(shè)計方法,基于3NF3NF的設(shè)計方的設(shè)計方n法,基于抽象語法規(guī)范的設(shè)計方法等,是在數(shù)據(jù)庫設(shè)計的法,基于抽象語法規(guī)范

4、的設(shè)計方法等,是在數(shù)據(jù)庫設(shè)計的n不同階段上支持實現(xiàn)的具體技術(shù)和方法。不同階段上支持實現(xiàn)的具體技術(shù)和方法。n2 2、計算機輔助數(shù)據(jù)庫設(shè)計、計算機輔助數(shù)據(jù)庫設(shè)計 n(1)Design 2000(1)Design 2000是是OracleOracle公司的數(shù)據(jù)庫設(shè)計工具軟件。公司的數(shù)據(jù)庫設(shè)計工具軟件。n(2)Power Designer(2)Power Designer是是SybaseSybase公司的數(shù)據(jù)庫設(shè)計工具軟公司的數(shù)據(jù)庫設(shè)計工具軟n件。件。n(3)(3)計算機輔助軟件工程(計算機輔助軟件工程(CASECASE)則強凋數(shù)據(jù)庫設(shè)計和應(yīng))則強凋數(shù)據(jù)庫設(shè)計和應(yīng)n用設(shè)計的結(jié)合用設(shè)計的結(jié)合, ,按照一

5、定的設(shè)計規(guī)程,用工程化方法設(shè)計按照一定的設(shè)計規(guī)程,用工程化方法設(shè)計n數(shù)據(jù)庫是最實用的方法。數(shù)據(jù)庫是最實用的方法。 4.1.2 4.1.2 數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點 數(shù)據(jù)庫設(shè)計既是一項涉及多學科的綜合性技術(shù),又數(shù)據(jù)庫設(shè)計既是一項涉及多學科的綜合性技術(shù),又是一項龐大的工程項目。其特點之一是:硬件、軟件、是一項龐大的工程項目。其特點之一是:硬件、軟件、技術(shù)與管理的界面的互相結(jié)合;其特點之二是:在整個技術(shù)與管理的界面的互相結(jié)合;其特點之二是:在整個設(shè)計過程中,強調(diào)結(jié)構(gòu)設(shè)計過程中,強調(diào)結(jié)構(gòu)( (數(shù)據(jù)數(shù)據(jù)) )設(shè)計和行為設(shè)計和行為( (處理處理) )設(shè)計的設(shè)計的緊密結(jié)合。緊密結(jié)合。 圖圖4 41

6、1 結(jié)構(gòu)和行為設(shè)計分離的設(shè)計結(jié)構(gòu)和行為設(shè)計分離的設(shè)計n4.1.3 4.1.3 數(shù)據(jù)庫設(shè)計的步驟數(shù)據(jù)庫設(shè)計的步驟n 我們按規(guī)范設(shè)計的方法將數(shù)據(jù)庫設(shè)計分為以下六我們按規(guī)范設(shè)計的方法將數(shù)據(jù)庫設(shè)計分為以下六個階段:個階段:n 需求分析階段需求分析階段 n第第1 1步:了解和分析用戶的應(yīng)用需求(包括數(shù)據(jù)與處步:了解和分析用戶的應(yīng)用需求(包括數(shù)據(jù)與處理),進行需求收集和分析。理),進行需求收集和分析。n 概念結(jié)構(gòu)設(shè)計階段概念結(jié)構(gòu)設(shè)計階段n第第2 2步:對用戶需求進行綜合、歸納與抽象,形成一個步:對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體獨立于具體RDBMSRDBMS的概念模型。的概念模型。n 邏輯

7、結(jié)構(gòu)設(shè)計階段邏輯結(jié)構(gòu)設(shè)計階段n第第3 3步:按照一組轉(zhuǎn)換規(guī)則,將概念模型轉(zhuǎn)換為某個步:按照一組轉(zhuǎn)換規(guī)則,將概念模型轉(zhuǎn)換為某個RDBMSRDBMS支持的關(guān)系模型;支持的關(guān)系模型;n第第4 4步:根據(jù)規(guī)范化理論,對關(guān)系模型進行優(yōu)化。若對步:根據(jù)規(guī)范化理論,對關(guān)系模型進行優(yōu)化。若對邏輯結(jié)構(gòu)設(shè)計不滿意,則轉(zhuǎn)第邏輯結(jié)構(gòu)設(shè)計不滿意,則轉(zhuǎn)第3 3步進行。步進行。n 物理結(jié)構(gòu)設(shè)計階段物理結(jié)構(gòu)設(shè)計階段n第第5 5步:為關(guān)系模型選取一個最適合應(yīng)用環(huán)境的物理步:為關(guān)系模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法);結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法);n第第6 6步:對此物理結(jié)構(gòu)進行評價設(shè)計和性能預(yù)測。若

8、步:對此物理結(jié)構(gòu)進行評價設(shè)計和性能預(yù)測。若對物理結(jié)構(gòu)設(shè)計不滿意,則轉(zhuǎn)第對物理結(jié)構(gòu)設(shè)計不滿意,則轉(zhuǎn)第3 3或第或第5 5步進行。步進行。n 數(shù)據(jù)庫實施階段數(shù)據(jù)庫實施階段n第第7 7步:運用步:運用RDBMSRDBMS提供的數(shù)據(jù)語言及其宿主語言,根提供的數(shù)據(jù)語言及其宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,并組織數(shù)據(jù)入庫;試應(yīng)用程序,并組織數(shù)據(jù)入庫;n第第8 8步:系統(tǒng)的試驗性運行。若對數(shù)據(jù)庫實施不滿意,步:系統(tǒng)的試驗性運行。若對數(shù)據(jù)庫實施不滿意,則轉(zhuǎn)第則轉(zhuǎn)第5 5步進行。步進行。n 數(shù)據(jù)庫運行和維護階段數(shù)據(jù)庫運行和維護階段

9、n第第9 9步:數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行后即可投入正式步:數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行后即可投入正式運行。在數(shù)據(jù)庫系統(tǒng)的運行過程中必須不斷地對其進運行。在數(shù)據(jù)庫系統(tǒng)的運行過程中必須不斷地對其進行評價、調(diào)整與修改。行評價、調(diào)整與修改。n4.2 4.2 需求分析需求分析n4.2.1 4.2.1 需求分析的任務(wù)和方法需求分析的任務(wù)和方法n 需求分析階段的任務(wù)是通過詳細調(diào)查現(xiàn)實世界要需求分析階段的任務(wù)是通過詳細調(diào)查現(xiàn)實世界要處理的對象處理的對象( (組織、部門、企業(yè)等組織、部門、企業(yè)等) ),充分了解原系,充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基統(tǒng)的工作概況,明確用戶的各種需求,然后在此基

10、礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅按當前應(yīng)用需求來設(shè)計可能的擴充和改變,不能僅按當前應(yīng)用需求來設(shè)計數(shù)據(jù)庫。數(shù)據(jù)庫。n 調(diào)查的重點是調(diào)查的重點是“數(shù)據(jù)數(shù)據(jù)”和和“處理處理”,通過調(diào)查,通過調(diào)查要從中獲得每個用戶對數(shù)據(jù)庫的如下要求:要從中獲得每個用戶對數(shù)據(jù)庫的如下要求:n 1. 1. 信息要求信息要求n 2 2處理要求處理要求n 3. 3. 安全性和完整性的要求安全性和完整性的要求n 為了很好地完成調(diào)查的任務(wù),設(shè)計人員必須不為了很好地完成調(diào)查的任務(wù),設(shè)計人員必須不斷地與用戶交流,與用戶達成共識,以便逐步確定斷地與用戶交流

11、,與用戶達成共識,以便逐步確定用戶的實際需求,然后分析與表達這些需求。用戶的實際需求,然后分析與表達這些需求。 n n4.2.2 4.2.2 數(shù)據(jù)字典數(shù)據(jù)字典n 數(shù)據(jù)字典數(shù)據(jù)字典(Data Dictionary,簡稱,簡稱 DD)則是則是對系對系n統(tǒng)中數(shù)據(jù)的詳盡描述,是各類數(shù)據(jù)屬性的清單。對統(tǒng)中數(shù)據(jù)的詳盡描述,是各類數(shù)據(jù)屬性的清單。對數(shù)據(jù)數(shù)據(jù)n庫設(shè)計來講,數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)庫設(shè)計來講,數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分據(jù)分n析所獲得的主要結(jié)果。析所獲得的主要結(jié)果。n 數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括以下以下n五個部分:五個部分:n

12、 數(shù)據(jù)項,是數(shù)據(jù)的最小單位。數(shù)據(jù)項,是數(shù)據(jù)的最小單位。n 數(shù)據(jù)結(jié)構(gòu),是若干數(shù)據(jù)項有意義的集合。數(shù)據(jù)結(jié)構(gòu),是若干數(shù)據(jù)項有意義的集合。n 數(shù)據(jù)流,可以是數(shù)據(jù)項,也可以是數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)流,可以是數(shù)據(jù)項,也可以是數(shù)據(jù)結(jié)構(gòu)。表示某一處理過程的輸入或輸出。表示某一處理過程的輸入或輸出。n 數(shù)據(jù)存儲,處理過程中存取的數(shù)據(jù)常常是數(shù)據(jù)存儲,處理過程中存取的數(shù)據(jù)常常是手工憑證、手工文檔或計算機文件。手工憑證、手工文檔或計算機文件。n 處理過程。處理過程。n4.2.3 4.2.3 數(shù)據(jù)流圖數(shù)據(jù)流圖n 如何分析和表達用戶的需求,這是一個重要的問如何分析和表達用戶的需求,這是一個重要的問n題。在眾多的分析方法中,結(jié)構(gòu)化

13、分析題。在眾多的分析方法中,結(jié)構(gòu)化分析(Structured(Structuredn Analysis, Analysis,簡稱簡稱 SASA方法方法) )是一個簡單實用的方法。是一個簡單實用的方法。n SASA方法用自頂向下、逐層分解的方式分析系統(tǒng)。方法用自頂向下、逐層分解的方式分析系統(tǒng)。n用數(shù)據(jù)流圖,數(shù)據(jù)字典描述系統(tǒng)。任何一個系統(tǒng)都可用數(shù)據(jù)流圖,數(shù)據(jù)字典描述系統(tǒng)。任何一個系統(tǒng)都可以以n抽象為如圖抽象為如圖4 42 2所示的情況。所示的情況。n 圖圖4 42 2 系統(tǒng)高層抽象圖系統(tǒng)高層抽象圖n 數(shù)據(jù)流圖表達了數(shù)據(jù)和處理過程的關(guān)系。數(shù)據(jù)流圖表達了數(shù)據(jù)和處理過程的關(guān)系。 n 最后要指出兩點:最后

14、要指出兩點:n 1 1、需求分析階段一個重要而困難的任務(wù)是收集將來、需求分析階段一個重要而困難的任務(wù)是收集將來n應(yīng)用所涉及的數(shù)據(jù)。若設(shè)計人員僅按當前應(yīng)用來設(shè)計數(shù)應(yīng)用所涉及的數(shù)據(jù)。若設(shè)計人員僅按當前應(yīng)用來設(shè)計數(shù)n據(jù)庫,以后再想加入新的實體,新的數(shù)據(jù)項和實體間新?lián)?,以后再想加入新的實體,新的數(shù)據(jù)項和實體間新n的聯(lián)系就會十分困難。新數(shù)據(jù)的加入必定會影響數(shù)據(jù)庫的聯(lián)系就會十分困難。新數(shù)據(jù)的加入必定會影響數(shù)據(jù)庫n的概念結(jié)構(gòu)、邏輯結(jié)構(gòu)和物理結(jié)構(gòu),因此設(shè)計人員應(yīng)充的概念結(jié)構(gòu)、邏輯結(jié)構(gòu)和物理結(jié)構(gòu),因此設(shè)計人員應(yīng)充n分考慮到可能的擴充和改變,使設(shè)計易于更動。分考慮到可能的擴充和改變,使設(shè)計易于更動。n 2 2、

15、必須強調(diào)用戶的參與,這是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計、必須強調(diào)用戶的參與,這是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計n的特點。在數(shù)據(jù)分析階段,任何調(diào)查研究沒有用戶的積的特點。在數(shù)據(jù)分析階段,任何調(diào)查研究沒有用戶的積n極參加是寸步難行的。設(shè)計人員應(yīng)該和用戶取得共同的極參加是寸步難行的。設(shè)計人員應(yīng)該和用戶取得共同的n語言,幫助不熟悉計算機的用戶建立數(shù)據(jù)庫環(huán)境下的共語言,幫助不熟悉計算機的用戶建立數(shù)據(jù)庫環(huán)境下的共n同概念,并對設(shè)計工作的最后結(jié)果承擔共同的責任。同概念,并對設(shè)計工作的最后結(jié)果承擔共同的責任。n4.3 4.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計 n 概念結(jié)構(gòu)獨立于數(shù)據(jù)庫邏輯結(jié)構(gòu),獨立于支持數(shù)概念結(jié)構(gòu)獨立于數(shù)據(jù)庫邏輯結(jié)構(gòu),獨立于

16、支持數(shù)n據(jù)庫的據(jù)庫的DBMSDBMS,其主要特點是:,其主要特點是:n1 1能充分地反映現(xiàn)實世界,包括實體和實體之間的聯(lián)能充分地反映現(xiàn)實世界,包括實體和實體之間的聯(lián)n系,能滿足用戶對數(shù)據(jù)處理的要求,是現(xiàn)實世界的一個系,能滿足用戶對數(shù)據(jù)處理的要求,是現(xiàn)實世界的一個n真實模型。真實模型。n2. 2. 易于理解。從而可以和不熟悉計算機的用戶交換意易于理解。從而可以和不熟悉計算機的用戶交換意n見,用戶的積極參與是數(shù)據(jù)庫設(shè)計成功與否的關(guān)鍵。見,用戶的積極參與是數(shù)據(jù)庫設(shè)計成功與否的關(guān)鍵。n3. 3. 易于更動。當現(xiàn)實世界改變時容易修改和擴充。易于更動。當現(xiàn)實世界改變時容易修改和擴充。n4. 4. 易于向關(guān)

17、系、網(wǎng)狀或?qū)哟蔚雀鞣N數(shù)據(jù)模型轉(zhuǎn)換。易于向關(guān)系、網(wǎng)狀或?qū)哟蔚雀鞣N數(shù)據(jù)模型轉(zhuǎn)換。n 概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模n型更獨立于機器、更抽象,從而更加穩(wěn)定。型更獨立于機器、更抽象,從而更加穩(wěn)定。 n4.3.1 4.3.1 概念結(jié)構(gòu)設(shè)計的方法與步驟概念結(jié)構(gòu)設(shè)計的方法與步驟n 設(shè)計概念結(jié)構(gòu)的方法有四種:設(shè)計概念結(jié)構(gòu)的方法有四種:n 自頂向下:首先定義全局概念結(jié)構(gòu)的框架,然后自頂向下:首先定義全局概念結(jié)構(gòu)的框架,然后n逐步細化。逐步細化。n 自底向上:首先定義各局部應(yīng)用的概念結(jié)構(gòu),然自底向上:首先定義各局部應(yīng)用的概念結(jié)構(gòu),然n后將它們集成,得到全局

18、概念結(jié)構(gòu)。后將它們集成,得到全局概念結(jié)構(gòu)。n 由里向外由里向外: : 首先定義最重要的核心概念結(jié)構(gòu),然首先定義最重要的核心概念結(jié)構(gòu),然n后向外擴充,生成其他概念結(jié)構(gòu)。后向外擴充,生成其他概念結(jié)構(gòu)。n 混合策略混合策略: : 自頂向下和自底向上相結(jié)合的方法,自頂向下和自底向上相結(jié)合的方法,n用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它n為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。 n 現(xiàn)介紹自底向上設(shè)計概念結(jié)構(gòu)的方法。按照這種方現(xiàn)介紹自底向上設(shè)計概念結(jié)構(gòu)的方法。按照這種方n法,概念結(jié)構(gòu)的設(shè)計可按下

19、面步驟進行,見圖法,概念結(jié)構(gòu)的設(shè)計可按下面步驟進行,見圖4 43 3所示。所示。n n 圖圖4 43 3 概念結(jié)構(gòu)設(shè)計步驟概念結(jié)構(gòu)設(shè)計步驟 n4.3.2 4.3.2 數(shù)據(jù)抽象與局部視圖設(shè)計數(shù)據(jù)抽象與局部視圖設(shè)計n1 1、數(shù)據(jù)抽象、數(shù)據(jù)抽象n E-RE-R模型是對現(xiàn)實世界的一種抽象。所謂抽象是對實模型是對現(xiàn)實世界的一種抽象。所謂抽象是對實n際的人、物、事和概念的進行人為處理,抽取人們關(guān)心際的人、物、事和概念的進行人為處理,抽取人們關(guān)心n的共同特性,忽略非本質(zhì)的細節(jié),并把這些特性用各種的共同特性,忽略非本質(zhì)的細節(jié),并把這些特性用各種n概念精確地加以描述,這些概念組成了某種模型。一般概念精確地加以描

20、述,這些概念組成了某種模型。一般n有如下三種抽象:有如下三種抽象:n(1 1)分類)分類(Classification)(Classification)n 定義某一類概念作為現(xiàn)實世界中一組對象的類型。定義某一類概念作為現(xiàn)實世界中一組對象的類型。n這些對象具有某些共同的特性和行為,它抽象了對象值這些對象具有某些共同的特性和行為,它抽象了對象值n和型之間的和型之間的“is member of”is member of”的語義,在的語義,在E-RE-R模型中,實模型中,實n體型就是這種抽象,如圖體型就是這種抽象,如圖6.46.4所示。所示。 n n n n 圖圖4 44 4 分類分類 n(2 2)聚

21、集)聚集(Aggregation) (Aggregation) n 定義某一類型的組成成分。它抽象了對象內(nèi)部類型定義某一類型的組成成分。它抽象了對象內(nèi)部類型n和成分之間和成分之間“is part of”is part of”的語義,在的語義,在 E-RE-R模型中,若模型中,若n干屬性的聚集所組成的實體型就是這種抽象,如圖干屬性的聚集所組成的實體型就是這種抽象,如圖4 45 5所所n示。示。n 圖圖4 45 5 聚集聚集 n(3 3)概括)概括(Generalization)(Generalization)n 定義類型之間的一種子集聯(lián)系。它抽象了類型之間定義類型之間的一種子集聯(lián)系。它抽象了類型

22、之間n的的“is subset of”is subset of”的語義。例如學生是一個實體型,的語義。例如學生是一個實體型,n本科生、研究生也是實體型。本科生、研究生均是學生本科生、研究生也是實體型。本科生、研究生均是學生n的子集。把學生稱為超類的子集。把學生稱為超類( (SuperclassSuperclass) ),本科生、研究,本科生、研究n生稱為學生的子類生稱為學生的子類(Subclass)(Subclass)。n 圖圖4 46 6 概括概括n2 2、局部視圖設(shè)計、局部視圖設(shè)計n 概念結(jié)構(gòu)設(shè)計的第一步就是利用上面介紹的抽象機概念結(jié)構(gòu)設(shè)計的第一步就是利用上面介紹的抽象機n制對需求分析階段

23、收集到的數(shù)據(jù)進行分類、組織制對需求分析階段收集到的數(shù)據(jù)進行分類、組織( (聚聚n集集) ),形成實體、實體的屬性,標識實體的碼,確定實體,形成實體、實體的屬性,標識實體的碼,確定實體n之間的聯(lián)系類型之間的聯(lián)系類型(1:1(1:1,1:n1:n,n:mn:m) ),設(shè)計局部視圖(也,設(shè)計局部視圖(也n稱分稱分E-RE-R圖)。具體做法是:圖)。具體做法是:n(1 1) 選擇局部應(yīng)用選擇局部應(yīng)用n 圖圖4 47 7 設(shè)計分設(shè)計分E-RE-R圖的出發(fā)點圖的出發(fā)點n(2 2)逐一設(shè)計分)逐一設(shè)計分 E-RE-R圖圖n 每個局部應(yīng)用對應(yīng)一組數(shù)據(jù)流圖,局部應(yīng)用涉及的每個局部應(yīng)用對應(yīng)一組數(shù)據(jù)流圖,局部應(yīng)用涉

24、及的n數(shù)據(jù)已收集在數(shù)據(jù)字典中,將這些數(shù)據(jù)從數(shù)據(jù)字典中抽數(shù)據(jù)已收集在數(shù)據(jù)字典中,將這些數(shù)據(jù)從數(shù)據(jù)字典中抽n取出來,參照數(shù)據(jù)流圖,標定該應(yīng)用中的實體、屬性和取出來,參照數(shù)據(jù)流圖,標定該應(yīng)用中的實體、屬性和n實體之間的聯(lián)系及其類型。實體之間的聯(lián)系及其類型。n 在給定的應(yīng)用環(huán)境中,能夠作為屬性對待的,應(yīng)盡在給定的應(yīng)用環(huán)境中,能夠作為屬性對待的,應(yīng)盡n量作為屬性對待,目的在于簡化量作為屬性對待,目的在于簡化 E-RE-R圖的處置。在實體圖的處置。在實體n和屬性的調(diào)整中,要遵循的二條基本準則是:和屬性的調(diào)整中,要遵循的二條基本準則是:n 作為作為“屬性屬性”,不能再具有需要描述的性質(zhì)。即,不能再具有需要描

25、述的性質(zhì)。即n屬性不能是另一些屬性的聚集。屬性不能是另一些屬性的聚集。n 屬性不能與其他實體具有聯(lián)系。即屬性不能與其他實體具有聯(lián)系。即 E-RE-R圖中的聯(lián)圖中的聯(lián)n系是實體之間的聯(lián)系。系是實體之間的聯(lián)系。n 符合上述兩條的符合上述兩條的“事物事物”一般作為屬性來對待,否一般作為屬性來對待,否n則作為實體對待。則作為實體對待。n 請參見書上的舉例。請參見書上的舉例。 n例例4 41 1 銷售管理子系統(tǒng)分銷售管理子系統(tǒng)分E-RE-R圖的設(shè)計實例圖的設(shè)計實例n 某工廠開發(fā)管理信息系統(tǒng),經(jīng)過可行性分析和詳細某工廠開發(fā)管理信息系統(tǒng),經(jīng)過可行性分析和詳細n調(diào)查,確定了該系統(tǒng)由物資管理、銷售管理、勞動人事

26、調(diào)查,確定了該系統(tǒng)由物資管理、銷售管理、勞動人事n管理等子系統(tǒng)組成。為每個子系統(tǒng)組成了開發(fā)小組。管理等子系統(tǒng)組成。為每個子系統(tǒng)組成了開發(fā)小組。n 銷售管理子系統(tǒng)開發(fā)小組的成員經(jīng)過調(diào)查研究、信銷售管理子系統(tǒng)開發(fā)小組的成員經(jīng)過調(diào)查研究、信n息流程分析和數(shù)據(jù)收集,明確了該子系統(tǒng)的主要功能息流程分析和數(shù)據(jù)收集,明確了該子系統(tǒng)的主要功能n是:處理顧客和銷售員送來的訂單;工廠是根據(jù)訂貨安是:處理顧客和銷售員送來的訂單;工廠是根據(jù)訂貨安n排生產(chǎn)的;交出貨物同時開出發(fā)票;收到顧客付款后,排生產(chǎn)的;交出貨物同時開出發(fā)票;收到顧客付款后,n根據(jù)發(fā)票存根和信貸情況進行應(yīng)收款處理,可得到該子根據(jù)發(fā)票存根和信貸情況進行

27、應(yīng)收款處理,可得到該子n系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典,見下圖系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典,見下圖6.106.10所示。所示。 n 圖圖4 410 10 銷售管理子系統(tǒng)的數(shù)據(jù)流圖銷售管理子系統(tǒng)的數(shù)據(jù)流圖n 分析圖分析圖4 41010和數(shù)據(jù)字典,知道整個系統(tǒng)功能圍繞了和數(shù)據(jù)字典,知道整個系統(tǒng)功能圍繞了n“訂單訂單”和和“應(yīng)收帳款應(yīng)收帳款”的處理。數(shù)據(jù)結(jié)構(gòu)中訂單、顧的處理。數(shù)據(jù)結(jié)構(gòu)中訂單、顧n客、顧客應(yīng)收帳目用得最多,是許多子功能、數(shù)據(jù)流共客、顧客應(yīng)收帳目用得最多,是許多子功能、數(shù)據(jù)流共n享的數(shù)據(jù)。享的數(shù)據(jù)。 n 先設(shè)計該分先設(shè)計該分E-RE-R圖的草圖,如圖圖的草圖,如圖4 41010所示。所示。n 圖圖

28、4 410 10 分分E-RE-R圖的草圖圖的草圖n 然后參照數(shù)據(jù)流圖和數(shù)據(jù)字典中的詳盡描述,遵循然后參照數(shù)據(jù)流圖和數(shù)據(jù)字典中的詳盡描述,遵循n前面給出的二個準則,進行了一些調(diào)整(詳細敘述見書前面給出的二個準則,進行了一些調(diào)整(詳細敘述見書n上),最后得到分上),最后得到分E-RE-R圖如下圖圖如下圖4 41111所示。所示。 n圖圖4 411 11 銷售管理子系統(tǒng)的分銷售管理子系統(tǒng)的分E-RE-R圖圖 n對每個實體定義的屬性如下:對每個實體定義的屬性如下:n 顧客:顧客: 顧客號顧客號,顧客名,地址,電話,信貸狀況,顧客名,地址,電話,信貸狀況,n賬目余額賬目余額 n 訂單:訂單: 訂單號訂

29、單號,顧客號,訂貨項數(shù),訂貨日期,交,顧客號,訂貨項數(shù),訂貨日期,交n貨日期,工種號,生產(chǎn)地點貨日期,工種號,生產(chǎn)地點 n 訂單細則:訂單細則: 訂單號,細則號訂單號,細則號,零件號,訂貨數(shù),金,零件號,訂貨數(shù),金n額額 n 應(yīng)收帳款:應(yīng)收帳款: 顧客號,訂單號顧客號,訂單號,發(fā)票號,應(yīng)收金額,發(fā)票號,應(yīng)收金額,n支付日期,當前余額,貸款限額支付日期,當前余額,貸款限額 n 產(chǎn)品描述:產(chǎn)品描述: 產(chǎn)品號產(chǎn)品號,產(chǎn)品名,單價,重量,產(chǎn)品名,單價,重量 n 折扣規(guī)則:折扣規(guī)則: 產(chǎn)品號,訂貨量產(chǎn)品號,訂貨量,折扣,折扣 n( (注:為了節(jié)省篇幅,實體與屬性的關(guān)系沒有用圖形表注:為了節(jié)省篇幅,實體與

30、屬性的關(guān)系沒有用圖形表n示,實體的鍵碼用下劃線表示示,實體的鍵碼用下劃線表示) ) n4.4 4.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計n 概念結(jié)構(gòu)是獨立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。概念結(jié)構(gòu)是獨立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。n邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的的nE-RE-R圖轉(zhuǎn)換為與選用圖轉(zhuǎn)換為與選用DBMSDBMS產(chǎn)品所支持的數(shù)據(jù)模型相符產(chǎn)品所支持的數(shù)據(jù)模型相符合的合的n邏輯結(jié)構(gòu)。邏輯結(jié)構(gòu)。n 圖圖4 412 12 邏輯結(jié)構(gòu)設(shè)計過程邏輯結(jié)構(gòu)設(shè)計過程 n4.4.1 E-R4.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換圖向關(guān)系模型的轉(zhuǎn)換n1.1.每一

31、個實體集轉(zhuǎn)換為一個關(guān)系模式,實體集的屬性就每一個實體集轉(zhuǎn)換為一個關(guān)系模式,實體集的屬性就n是關(guān)系模式的屬性,實體集的鍵碼就是關(guān)系模式的鍵是關(guān)系模式的屬性,實體集的鍵碼就是關(guān)系模式的鍵n碼。碼。n2. 2. 每一個聯(lián)系轉(zhuǎn)換為一個關(guān)系模式,與該聯(lián)系相連的各每一個聯(lián)系轉(zhuǎn)換為一個關(guān)系模式,與該聯(lián)系相連的各n實體集的鍵碼以及聯(lián)系的屬性轉(zhuǎn)換為關(guān)系模式的屬性。實體集的鍵碼以及聯(lián)系的屬性轉(zhuǎn)換為關(guān)系模式的屬性。n要確定該關(guān)系模式的鍵碼,則有三種情況:要確定該關(guān)系模式的鍵碼,則有三種情況:n 若聯(lián)系為若聯(lián)系為1:11:1,則每個實體集的鍵碼均為該關(guān)系,則每個實體集的鍵碼均為該關(guān)系n模式的鍵碼。模式的鍵碼。n 若聯(lián)

32、系為若聯(lián)系為1:n1:n,則關(guān)系模式的鍵碼是,則關(guān)系模式的鍵碼是n n端實體集的端實體集的n鍵碼。鍵碼。n 若聯(lián)系為若聯(lián)系為n:mn:m,則關(guān)系模式的鍵碼為諸實體集鍵,則關(guān)系模式的鍵碼為諸實體集鍵n碼的組合。碼的組合。 n3 3每一個屬于(每一個屬于(“isaisa”)聯(lián)系不轉(zhuǎn)換為一個關(guān)系模)聯(lián)系不轉(zhuǎn)換為一個關(guān)系模n式;而每一個子類實體集應(yīng)該轉(zhuǎn)換為一個關(guān)系模式,此式;而每一個子類實體集應(yīng)該轉(zhuǎn)換為一個關(guān)系模式,此n子類所屬超類實體集的鍵碼和子類本身擁有的屬性就是子類所屬超類實體集的鍵碼和子類本身擁有的屬性就是n關(guān)系模式的屬性,此子類所屬超類實體集的鍵碼就是關(guān)關(guān)系模式的屬性,此子類所屬超類實體集的

33、鍵碼就是關(guān)n系模式的鍵碼。系模式的鍵碼。n4 4三個或三個以上實體集間的一個多元聯(lián)系可以轉(zhuǎn)換為三個或三個以上實體集間的一個多元聯(lián)系可以轉(zhuǎn)換為n一個關(guān)系模式,與該多元聯(lián)系相連的各實體集的鍵碼和一個關(guān)系模式,與該多元聯(lián)系相連的各實體集的鍵碼和n聯(lián)系本身的屬性都轉(zhuǎn)換為關(guān)系模式的屬性,而關(guān)系模式聯(lián)系本身的屬性都轉(zhuǎn)換為關(guān)系模式的屬性,而關(guān)系模式n的鍵碼為各實體集鍵碼的組合。的鍵碼為各實體集鍵碼的組合。n5 5具有相同鍵碼的非子類關(guān)系模式可以合并。具有相同鍵碼的非子類關(guān)系模式可以合并。 n4.4.2 4.4.2 關(guān)系模型的優(yōu)化關(guān)系模型的優(yōu)化n 數(shù)據(jù)庫邏輯設(shè)計的結(jié)果不是唯一的。對數(shù)據(jù)模型的數(shù)據(jù)庫邏輯設(shè)計的結(jié)

34、果不是唯一的。對數(shù)據(jù)模型的n優(yōu)化是指適當?shù)匦薷摹⒄{(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以提高數(shù)優(yōu)化是指適當?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以提高數(shù)n據(jù)庫應(yīng)用系統(tǒng)的性能。據(jù)庫應(yīng)用系統(tǒng)的性能。n 在第在第5 5章已講到,規(guī)范化理論是數(shù)據(jù)庫邏輯設(shè)計的指章已講到,規(guī)范化理論是數(shù)據(jù)庫邏輯設(shè)計的指n南和工具。具體地講可應(yīng)用在下面幾個方面:南和工具。具體地講可應(yīng)用在下面幾個方面:n 第一,在需求分析階段,用數(shù)據(jù)依賴的概念來分析第一,在需求分析階段,用數(shù)據(jù)依賴的概念來分析n和表示各數(shù)據(jù)項之間的聯(lián)系。和表示各數(shù)據(jù)項之間的聯(lián)系。n 第二,在概念結(jié)構(gòu)設(shè)計階段,以規(guī)范化理論為工具第二,在概念結(jié)構(gòu)設(shè)計階段,以規(guī)范化理論為工具n來消除初步來消

35、除初步E-RE-R圖中冗余的聯(lián)系。圖中冗余的聯(lián)系。n 第三,在第三,在E-RE-R圖向關(guān)系模型轉(zhuǎn)換過程中,用模式分解圖向關(guān)系模型轉(zhuǎn)換過程中,用模式分解n的規(guī)則和方法來指導設(shè)計。的規(guī)則和方法來指導設(shè)計。 n 關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導,其關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導,其n方法為:方法為:n1 1、確定數(shù)據(jù)依賴。分別寫出每個關(guān)系模式內(nèi)部各屬性之、確定數(shù)據(jù)依賴。分別寫出每個關(guān)系模式內(nèi)部各屬性之n間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間的數(shù)據(jù)依賴。間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間的數(shù)據(jù)依賴。n2 2、對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理,、對于各個關(guān)系模式之間的數(shù)據(jù)依

36、賴進行極小化處理,n消除冗余的聯(lián)系。消除冗余的聯(lián)系。n3 3、按照第、按照第5 5章中數(shù)據(jù)依賴的理論,逐一分析這組關(guān)系模章中數(shù)據(jù)依賴的理論,逐一分析這組關(guān)系模n式,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值式,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值n依賴等,確定它們分別屬于第幾范式。依賴等,確定它們分別屬于第幾范式。n4 4、按照數(shù)據(jù)分析階段得到的處理要求,分析這些模式對、按照數(shù)據(jù)分析階段得到的處理要求,分析這些模式對n于這樣的應(yīng)用環(huán)境是否合適,確定是否要對它們進行合于這樣的應(yīng)用環(huán)境是否合適,確定是否要對它們進行合n并或分解。必須注意的是,并非規(guī)范化程度越高的關(guān)系并或分解。必須注意的是

37、,并非規(guī)范化程度越高的關(guān)系n就越好。就越好。 n5 5對關(guān)系模式進行必要的分解,提高數(shù)據(jù)操作的效率和對關(guān)系模式進行必要的分解,提高數(shù)據(jù)操作的效率和n存儲空間的利用率。常用的兩種方法是水平分割和垂直存儲空間的利用率。常用的兩種方法是水平分割和垂直n分割。分割。 n4.5 4.5 數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計n 所謂數(shù)據(jù)庫的物理結(jié)構(gòu)主要是指數(shù)據(jù)庫在物理所謂數(shù)據(jù)庫的物理結(jié)構(gòu)主要是指數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)和存取方法。設(shè)備上的存儲結(jié)構(gòu)和存取方法。n 對一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用對一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,稱為數(shù)據(jù)庫的物理設(shè)計。環(huán)境的物理結(jié)構(gòu)的過

38、程,稱為數(shù)據(jù)庫的物理設(shè)計。n 物理設(shè)計可分兩步:物理設(shè)計可分兩步:n 第一步先確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫第一步先確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu);中主要指存取方法和存儲結(jié)構(gòu);n 第二步對物理結(jié)構(gòu)進行評價,評價的重點是時間第二步對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間的效率。和空間的效率。n4.5.1 4.5.1 數(shù)據(jù)庫物理設(shè)計的要求與內(nèi)容數(shù)據(jù)庫物理設(shè)計的要求與內(nèi)容n1 1數(shù)據(jù)庫物理設(shè)計的要求數(shù)據(jù)庫物理設(shè)計的要求 n 如果希望設(shè)計出優(yōu)化的物理數(shù)據(jù)庫結(jié)構(gòu),那么就要如果希望設(shè)計出優(yōu)化的物理數(shù)據(jù)庫結(jié)構(gòu),那么就要n使得在數(shù)據(jù)庫上運行的各種事務(wù)響應(yīng)時間小、存儲空間使得

39、在數(shù)據(jù)庫上運行的各種事務(wù)響應(yīng)時間小、存儲空間n利用率高、事務(wù)吞吐率大。為了進行物理設(shè)計,設(shè)計人利用率高、事務(wù)吞吐率大。為了進行物理設(shè)計,設(shè)計人n員必須深入了解以下幾方面的要求:員必須深入了解以下幾方面的要求:n(1 1)對要運行的事務(wù)進行詳細分析,獲得選擇物理數(shù)據(jù))對要運行的事務(wù)進行詳細分析,獲得選擇物理數(shù)據(jù)n庫設(shè)計所需要的參數(shù)。庫設(shè)計所需要的參數(shù)。n(2 2)要充分了解所用)要充分了解所用DBMSDBMS的內(nèi)部特征,特別是系統(tǒng)提供的內(nèi)部特征,特別是系統(tǒng)提供n的存取方法和存儲結(jié)構(gòu)。的存取方法和存儲結(jié)構(gòu)。n(3 3)對于數(shù)據(jù)庫查詢事務(wù),需要得到如下信息:查詢的)對于數(shù)據(jù)庫查詢事務(wù),需要得到如下信

40、息:查詢的n關(guān)系、查詢條件所涉及的屬性、連接條件所涉及的屬關(guān)系、查詢條件所涉及的屬性、連接條件所涉及的屬n性、查詢的投影屬性。對于數(shù)據(jù)更新事務(wù),需要得到如性、查詢的投影屬性。對于數(shù)據(jù)更新事務(wù),需要得到如n下信息:被更新的關(guān)系、每個關(guān)系上的更新操作條件所下信息:被更新的關(guān)系、每個關(guān)系上的更新操作條件所n涉及的屬性、修改操作要改變的屬性值。涉及的屬性、修改操作要改變的屬性值。 n 知道每個事務(wù)在各關(guān)系上運行的頻率和性能要求的知道每個事務(wù)在各關(guān)系上運行的頻率和性能要求的n信息是確定關(guān)系存取方法的依據(jù)。信息是確定關(guān)系存取方法的依據(jù)。 n2 2數(shù)據(jù)庫物理設(shè)計的內(nèi)容數(shù)據(jù)庫物理設(shè)計的內(nèi)容n 通常對于關(guān)系數(shù)據(jù)

41、庫物理設(shè)計的內(nèi)容主要包括:通常對于關(guān)系數(shù)據(jù)庫物理設(shè)計的內(nèi)容主要包括:n(1 1)為關(guān)系模式選擇存取方法;)為關(guān)系模式選擇存取方法;n(2 2)設(shè)計關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲結(jié)構(gòu)。)設(shè)計關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲結(jié)構(gòu)。n4.5.2 4.5.2 關(guān)系模式存取方法的選擇關(guān)系模式存取方法的選擇n 數(shù)據(jù)庫系統(tǒng)是多用戶共享的系統(tǒng),對同一個關(guān)系數(shù)據(jù)庫系統(tǒng)是多用戶共享的系統(tǒng),對同一個關(guān)系n要建立多條存取路徑才能滿足多用戶的多種應(yīng)用要求。要建立多條存取路徑才能滿足多用戶的多種應(yīng)用要求。n物理設(shè)計的任務(wù)之一就是要確定選擇哪些存取方法,即物理設(shè)計的任務(wù)之一就是要確定選擇哪些存取方法,即n建立哪些存取路徑

42、。建立哪些存取路徑。n 存取方法是快速存取數(shù)據(jù)庫中數(shù)據(jù)的技術(shù)。數(shù)據(jù)庫存取方法是快速存取數(shù)據(jù)庫中數(shù)據(jù)的技術(shù)。數(shù)據(jù)庫n管理系統(tǒng)一般都提供多種存取方法,常用的存取方法管理系統(tǒng)一般都提供多種存取方法,常用的存取方法n有:有:B+B+樹索引方法、聚簇方法和樹索引方法、聚簇方法和HASHHASH方法。方法。B+B+樹索引方樹索引方n法是數(shù)據(jù)庫中經(jīng)典的存取方法,使用最普遍。法是數(shù)據(jù)庫中經(jīng)典的存取方法,使用最普遍。 n1 1索引存取方法的選擇索引存取方法的選擇n 所謂選擇索引存取方法實際上就是根據(jù)應(yīng)用要求確所謂選擇索引存取方法實際上就是根據(jù)應(yīng)用要求確n定對關(guān)系的哪些屬性列建立索引、哪些屬性列建立組合定對關(guān)系的

43、哪些屬性列建立索引、哪些屬性列建立組合n索引、哪些索引要設(shè)計為唯一索引等。一般來說:索引、哪些索引要設(shè)計為唯一索引等。一般來說:n(1 1)如果一個)如果一個( (或一組或一組) )屬性經(jīng)常在查詢條件中出現(xiàn),屬性經(jīng)常在查詢條件中出現(xiàn),n則考慮在這個則考慮在這個( (或這組或這組) )屬性上建立索引屬性上建立索引( (或組合索引或組合索引) );n(2 2)如果一個屬性經(jīng)常作為最大值和最小值等聚集函)如果一個屬性經(jīng)常作為最大值和最小值等聚集函n數(shù)的參數(shù),則考慮在這個屬性上建立索引;數(shù)的參數(shù),則考慮在這個屬性上建立索引;n(3 3)如果一個)如果一個( (或一組或一組) )屬性經(jīng)常在連接操作的連接

44、條屬性經(jīng)常在連接操作的連接條n件中出現(xiàn),則考慮在這個件中出現(xiàn),則考慮在這個( (或這組或這組) )屬性上建立索引;屬性上建立索引;n 必須注意:關(guān)系上定義的索引數(shù)并不是越多越好,必須注意:關(guān)系上定義的索引數(shù)并不是越多越好,n系統(tǒng)為維護索引要付出代價,查找索引也要付出代價。系統(tǒng)為維護索引要付出代價,查找索引也要付出代價。n例如,若一個關(guān)系的更新頻率很高,這個關(guān)系上定義的例如,若一個關(guān)系的更新頻率很高,這個關(guān)系上定義的n索引數(shù)不能太多。因為更新一個關(guān)系時,必須對這個關(guān)索引數(shù)不能太多。因為更新一個關(guān)系時,必須對這個關(guān)n系上有關(guān)的索引做相應(yīng)的修改。系上有關(guān)的索引做相應(yīng)的修改。 n2 2聚簇存取方法的選

45、擇聚簇存取方法的選擇n 為了提高某個屬性為了提高某個屬性( (或?qū)傩越M或?qū)傩越M) )的查詢速度,把這個的查詢速度,把這個n或這些屬性或這些屬性( (稱為聚簇碼稱為聚簇碼) )上具有相同值的元組集中存放上具有相同值的元組集中存放n在連續(xù)的物理塊稱為聚簇。在連續(xù)的物理塊稱為聚簇。n 聚簇功能可以大大提高按聚簇碼進行查詢的效率。聚簇功能可以大大提高按聚簇碼進行查詢的效率。n例如要查詢信息系的所有學生名單,設(shè)信息系有例如要查詢信息系的所有學生名單,設(shè)信息系有500500名名n學生,在極端情況下,這學生,在極端情況下,這500500名學生所對應(yīng)的數(shù)據(jù)元組名學生所對應(yīng)的數(shù)據(jù)元組n分布在分布在500500個

46、不同的物理塊上。盡管對學生關(guān)系已按所個不同的物理塊上。盡管對學生關(guān)系已按所n在系建有索引,由索引很快找到了信息系學生的元組標在系建有索引,由索引很快找到了信息系學生的元組標n識,避免了全表掃描,然而再由元組標識去訪問數(shù)據(jù)塊識,避免了全表掃描,然而再由元組標識去訪問數(shù)據(jù)塊n時就要存取時就要存取500500個物理塊,執(zhí)行個物理塊,執(zhí)行500500次次I IO O操作。如果將操作。如果將n同一系的學生元組集中存放,則每讀一個物理塊可得到同一系的學生元組集中存放,則每讀一個物理塊可得到n多個滿足查詢條件的元組,從而顯著地減少了訪問磁盤多個滿足查詢條件的元組,從而顯著地減少了訪問磁盤n的次數(shù)。的次數(shù)。

47、n3 3HASHHASH存取方法的選擇存取方法的選擇n 有些數(shù)據(jù)庫管理系統(tǒng)提供了有些數(shù)據(jù)庫管理系統(tǒng)提供了HASHHASH存取方法。選擇存取方法。選擇nHASHHASH存取方法的規(guī)則如下:存取方法的規(guī)則如下:n 如果一個關(guān)系的屬性主要出現(xiàn)在等值連接條件中或如果一個關(guān)系的屬性主要出現(xiàn)在等值連接條件中或n主要出現(xiàn)在相等比較選擇條件中,而且滿足下列兩個條主要出現(xiàn)在相等比較選擇條件中,而且滿足下列兩個條n件之一,則此關(guān)系可以選擇件之一,則此關(guān)系可以選擇HASHHASH存取方法:存取方法:n (1)(1)如果一個關(guān)系的大小可預(yù)知,而且不變;如果一個關(guān)系的大小可預(yù)知,而且不變;n (2)(2)如果關(guān)系的大小

48、動態(tài)改變,而且數(shù)據(jù)庫管理系統(tǒng)如果關(guān)系的大小動態(tài)改變,而且數(shù)據(jù)庫管理系統(tǒng)n提供了動態(tài)提供了動態(tài)HASHHASH存取方法。存取方法。 n4.5.3 4.5.3 數(shù)據(jù)庫存儲結(jié)構(gòu)的確定數(shù)據(jù)庫存儲結(jié)構(gòu)的確定n 確定數(shù)據(jù)庫物理結(jié)構(gòu)主要是指確定數(shù)據(jù)的存放位置確定數(shù)據(jù)庫物理結(jié)構(gòu)主要是指確定數(shù)據(jù)的存放位置n和存儲結(jié)構(gòu),包括確定關(guān)系、索引、聚簇、日志、備份和存儲結(jié)構(gòu),包括確定關(guān)系、索引、聚簇、日志、備份n等的存儲安排和存儲結(jié)構(gòu);確定系統(tǒng)配置等。等的存儲安排和存儲結(jié)構(gòu);確定系統(tǒng)配置等。n 確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu)要綜合考慮存取時確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu)要綜合考慮存取時n間、存儲空間利用率和維護代價三方面的因素。這三個間、存儲空間利用率和維護代價三方面

溫馨提示

  • 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

提交評論