數(shù)據(jù)庫原理與設(shè)計課件:第11章 數(shù)據(jù)庫設(shè)計_第1頁
數(shù)據(jù)庫原理與設(shè)計課件:第11章 數(shù)據(jù)庫設(shè)計_第2頁
數(shù)據(jù)庫原理與設(shè)計課件:第11章 數(shù)據(jù)庫設(shè)計_第3頁
數(shù)據(jù)庫原理與設(shè)計課件:第11章 數(shù)據(jù)庫設(shè)計_第4頁
數(shù)據(jù)庫原理與設(shè)計課件:第11章 數(shù)據(jù)庫設(shè)計_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第11章 數(shù)據(jù)庫設(shè)計22022/7/18第11章 數(shù)據(jù)庫設(shè)計1. 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法概述數(shù)據(jù)庫設(shè)計過程(六個步驟)2. IDEF1X數(shù)據(jù)建模方法32022/7/181. 數(shù)據(jù)庫設(shè)計方法什么是數(shù)據(jù)庫設(shè)計廣義:數(shù)據(jù)庫應(yīng)用系統(tǒng)狹義:數(shù)據(jù)庫本身數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息要求和處理要求在數(shù)據(jù)庫領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。管理信息系統(tǒng),辦公自動化系統(tǒng),地理信息系統(tǒng)電子政務(wù)系統(tǒng),電子商務(wù)系統(tǒng)42022/7/181. 數(shù)據(jù)庫設(shè)計方法大

2、型數(shù)據(jù)庫的設(shè)計和開發(fā)是一項龐大的工程,涉及多學(xué)科的綜合性技術(shù)。數(shù)據(jù)庫設(shè)計的特點涉及面廣,包含計算機專業(yè)知識及業(yè)務(wù)系統(tǒng)專業(yè)知識;要解決技術(shù)及非技術(shù)兩方面的問題涉及內(nèi)容包括靜態(tài)結(jié)構(gòu)設(shè)計:數(shù)據(jù)庫的模式框架設(shè)計概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型(存儲結(jié)構(gòu));動態(tài)行為設(shè)計(應(yīng)用程序設(shè)計)功能組織、流程控制52022/7/181. 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計人員應(yīng)該具備的技術(shù)和知識計算機的基本知識軟件工程的原理和方法程序設(shè)計的方法和技巧數(shù)據(jù)庫的基本知識數(shù)據(jù)庫設(shè)計技術(shù)應(yīng)用領(lǐng)域的知識62022/7/181. 數(shù)據(jù)庫設(shè)計方法規(guī)范設(shè)計法: 本質(zhì)上仍然是手工設(shè)計方法,基本思想是過程迭代和逐步求精數(shù)據(jù)庫設(shè)計方法新

3、奧爾良(New Orleans)方法: 數(shù)據(jù)庫設(shè)計分四個階段基于E-R模型的數(shù)據(jù)庫設(shè)計方法,基于3NF的設(shè)計方法: 用關(guān)系數(shù)據(jù)理論為指導(dǎo)來設(shè)計數(shù)據(jù)庫的邏輯模式ODL(Object Definition Language)方法: 面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計方法需求說明需求分析概念結(jié)構(gòu)概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)結(jié)構(gòu)物理設(shè)計72022/7/18數(shù)據(jù)庫設(shè)計的過程(1)需求分析準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)是整個設(shè)計過程的基礎(chǔ),是最困難、最耗時的一步(2)概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型(3)邏輯結(jié)構(gòu)設(shè)計將概念結(jié)

4、構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型對其進行優(yōu)化82022/7/18數(shù)據(jù)庫設(shè)計的過程(4) 數(shù)據(jù)庫物理設(shè)計階段為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法) (5) 數(shù)據(jù)庫實施階段運用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫、編制與調(diào)試應(yīng)用程序、組織數(shù)據(jù)入庫、并進行試運行(6) 數(shù)據(jù)庫運行和維護數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行后即可投入正式運行。在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進行評價、調(diào)整與修改。設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個階段的不斷反復(fù)92022/7/18設(shè)計階 段設(shè) 計 描 述數(shù) 據(jù)處 理需求分 析數(shù)據(jù)字典、全系統(tǒng)

5、中數(shù)據(jù)項、 數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(shù)據(jù)流圖和判定表(判定樹)、數(shù)據(jù)字典中處理過程的描述概念結(jié)構(gòu)設(shè)計概念模型(E-R圖)數(shù)據(jù)字典系統(tǒng)要求、方案和概圖; 反映新系統(tǒng)信息流的數(shù)據(jù)流圖邏輯結(jié)構(gòu)設(shè)計某種數(shù)據(jù)模型系統(tǒng)結(jié)構(gòu)圖 (模塊結(jié)構(gòu))物理設(shè)計存儲安排方法選擇存取路徑建立模塊設(shè)計 IPO表實施階段編寫模式裝入數(shù)據(jù)數(shù)據(jù)庫試運行程序編碼、 編譯聯(lián)結(jié)、 測試運行維護性能監(jiān)測、轉(zhuǎn)儲/恢復(fù) 數(shù)據(jù)庫重組和重構(gòu)系統(tǒng)轉(zhuǎn)換、運行、維護(修正性、適應(yīng)性、改善性維護)CreatLoadIPO表輸入:輸出:處理: 分區(qū)1 分區(qū)2Main( )ifthenend102022/7/18數(shù)據(jù)庫設(shè)計全過程 運行和維護 需求分析數(shù)據(jù)分析功

6、能分析概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計加載數(shù)據(jù)功能設(shè)計事務(wù)設(shè)計程序設(shè)計調(diào)試運行112022/7/18邏輯映象綜合與抽象應(yīng)用需求1應(yīng)用需求2應(yīng)用需求n概念設(shè)計邏輯設(shè)計外模式1外模式2外模式m內(nèi)模式表示轉(zhuǎn)換數(shù)據(jù)庫結(jié)構(gòu)設(shè)計包括需求分析階段: 綜合各個用戶的應(yīng)用需求概念結(jié)構(gòu)設(shè)計 :形成獨立于各個DBMS概念模式,如ER圖 邏輯結(jié)構(gòu)設(shè)計 :形成數(shù)據(jù)庫邏輯模式與外模式,用(基本)數(shù)據(jù)模型描述,例基本表、視圖等物理結(jié)構(gòu)設(shè)計:形成數(shù)據(jù)庫內(nèi)模式,如DB文件或目錄、索引數(shù)據(jù)庫各級模式的形成過程122022/7/18一. 需求分析需求分析就是分析用戶的需要與要求需求分析是設(shè)計數(shù)據(jù)庫的起點需求分析的結(jié)果是否準(zhǔn)確反

7、映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用分析和表達(dá)用戶的需求的常用方法自頂向下的結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA方法)SA方法從最上層的系統(tǒng)組織機構(gòu)入手,采用逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)132022/7/18進一步分析和表達(dá)用戶需求(1)在需求分析中,通過自頂向下、逐步分解的方法分析系統(tǒng)。任何一個系統(tǒng)都可以抽象為數(shù)據(jù)流圖的形式數(shù)據(jù)存儲數(shù)據(jù)源數(shù)據(jù)輸出處理142022/7/18進一步分析和表達(dá)用戶需求(續(xù))(2)分解處理功能和數(shù)據(jù)分解處理功能將處理功能的具體內(nèi)容分解為若干子功能,再將每個子功能繼續(xù)分

8、解,直到把系統(tǒng)的工作過程表達(dá)清楚。分解數(shù)據(jù)在處理功能逐步分解的同時,其所用的數(shù)據(jù)也逐級分解,形成若干層次的數(shù)據(jù)流圖。 數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過程的關(guān)系表達(dá)方法 處理過程:用判定表或判定樹來描述 數(shù)據(jù):用數(shù)據(jù)字典來描述(3) 將分析結(jié)果再次提交給用戶,征得用戶的認(rèn)可152022/7/18一.需求分析下圖描述了需求分析的過程162022/7/18數(shù)據(jù)流圖設(shè)計示例172022/7/18第一層數(shù)據(jù)流圖第一層數(shù)據(jù)流圖,虛線為系統(tǒng)邊界182022/7/18第二層數(shù)據(jù)流圖192022/7/18第二層數(shù)據(jù)流圖202022/7/18第二層數(shù)據(jù)流圖212022/7/18第二層數(shù)據(jù)流圖222022/7/18二.

9、概念設(shè)計將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計。概念結(jié)構(gòu)是對現(xiàn)實世界的一種抽象獨立于數(shù)據(jù)模型(層次、網(wǎng)狀、關(guān)系),更與采用的DBMS無關(guān)。對需求分析階段收集的數(shù)據(jù)進行分類、組織,形成實體實體的屬性確定實體之間的聯(lián)系類型描述概念模型的工具E-R模型現(xiàn)實世界機器世界信息世界需求分析概念結(jié)構(gòu)設(shè)計232022/7/18二.概念設(shè)計設(shè)計概念結(jié)構(gòu)的四類方法自頂向下 首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化242022/7/18設(shè)計概念結(jié)構(gòu)的四類方法自底向上 首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)252022/7/18概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù))

10、逐步擴張 首先定義最重要的核心概念結(jié)構(gòu),然后向外擴充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)混合策略 將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。262022/7/18二.概念設(shè)計常用策略自頂向下進行需求分析自底向上設(shè)計概念結(jié)構(gòu)272022/7/18采用E-R模型方法的概念結(jié)構(gòu)設(shè)計設(shè)計局部E-R模型E-R模型的設(shè)計內(nèi)容包括確定局部E-R模型的范圍、定義實體、聯(lián)系以及它們的屬性。設(shè)計全局E-R模型將所有局部E-R圖集成為一個全局E-R圖,即全局E-R模型。優(yōu)化全局E-R模型282022/7/18概念設(shè)計過

11、程- 設(shè)計分E-R圖 選擇局部應(yīng)用、逐一設(shè)計分E-R圖需求分析階段已用多層數(shù)據(jù)流圖和數(shù)據(jù)字典描述了整個系統(tǒng);根據(jù)系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個適當(dāng)層次的數(shù)據(jù)流圖,讓這組圖中每一部分對應(yīng)一個局部應(yīng)用,然后以這一層次的數(shù)據(jù)流圖為出發(fā)點,設(shè)計分E-R圖。將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來,參照數(shù)據(jù)流圖,標(biāo)定各局部應(yīng)用中的實體、實體的屬性、標(biāo)識實體的碼,確定實體之間的聯(lián)系及其類型292022/7/18概念設(shè)計過程如何抽象實體和屬性?實體:現(xiàn)實世界中一組具有某些共同特性和行為的對象就可以抽象為一個實體。屬性:對象類型的組成成分可以抽象為實體的屬性實體與屬性是相對而言的。同一事物,

12、在一種應(yīng)用環(huán)境中作為“屬性”,在另一種應(yīng)用環(huán)境中就必須作為“實體”。例:學(xué)校中的系在某種應(yīng)用環(huán)境中,它只是作為“學(xué)生”實體的一個屬性,表明一個學(xué)生屬于哪個系在另一種環(huán)境中,需要考慮一個系的系主任、教師人數(shù)、辦公地點等,就需要作為實體302022/7/18如何抽象實體和屬性示例312022/7/18如何抽象實體和屬性示例322022/7/18分E-R圖設(shè)計示例示例系統(tǒng)不復(fù)雜,從第一層數(shù)據(jù)流圖入手若某一局部應(yīng)用仍較復(fù)雜,則可以從更下層的數(shù)據(jù)流圖入手332022/7/18概念設(shè)計過程342022/7/18概念設(shè)計過程-集成局部E-R圖各個局部視圖即分E-R圖建立好后,還需要對它們進行合并,集成為一個

13、整體的數(shù)據(jù)概念結(jié)構(gòu)即總E-R圖。逐步累積式 首先集成兩個局部視圖(通常是比較關(guān)鍵的兩個局部視圖),以后每次將一個新的局部視圖集成進來352022/7/18概念設(shè)計過程-集成局部E-R圖集成局部E-R圖的步驟合并:解決各分E-R圖之間的沖突,將各分E-R合成初步E-R圖,解決沖突是合并E-R圖的主要工作和關(guān)鍵所在。沖突主要有三類屬性沖突:屬性域沖突、屬性取值單位沖突命名沖突:同名異義和異名同義 結(jié)構(gòu)沖突:同一對象在不同應(yīng)用中具有不同的抽象、同一實體在不同的局部E-R圖中所包含的屬性個數(shù)和屬性的排列次序不完全相同修改與重構(gòu):消除不必要的冗余,生成基本E-R圖采用分析方法規(guī)范化理論中函數(shù)依賴的概念提

14、供了消除冗余聯(lián)系的形式化工具362022/7/18優(yōu)化全局E-R模型 實體個數(shù)盡可能少;實體所包含的屬性盡可能少;實體間聯(lián)系無冗余372022/7/18382022/7/18局部E-R圖nm產(chǎn)品產(chǎn)品號性能參數(shù)零件零件號價格組成零件個數(shù)nm材料材料號材料類型產(chǎn)品零件號規(guī)格使用使用量庫存量392022/7/18合并示例nnm產(chǎn)品產(chǎn)品號性能參數(shù)零件零件號規(guī)格組成零件個數(shù)價格使用使用量材料號材料類型庫存量材料402022/7/18三. 邏輯結(jié)構(gòu)設(shè)計把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R模型轉(zhuǎn)換為具體的數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)模型,也就是導(dǎo)出特定的DBMS可以處理的數(shù)據(jù)庫邏輯結(jié)構(gòu)(數(shù)據(jù)庫的模式和外模式),

15、這些模式在功能、性能、完整性和一致性約束方面滿足應(yīng)用要求。邏輯結(jié)構(gòu)設(shè)計的步驟將概念結(jié)構(gòu)轉(zhuǎn)化為特定DBMS支持的數(shù)據(jù)模型(關(guān)系、網(wǎng)狀、層次模型)對數(shù)據(jù)模型進行優(yōu)化412022/7/18 邏輯結(jié)構(gòu)設(shè)計轉(zhuǎn)化為一般數(shù)據(jù)模型轉(zhuǎn)化為特定DBMS支持下的數(shù)據(jù)模型 優(yōu)化模型概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫物理設(shè)計基本E-R圖轉(zhuǎn)換規(guī)則特定DBMS的特點與限制優(yōu)化方法如規(guī)范化理論邏輯模型422022/7/18E-R模型向關(guān)系模型的轉(zhuǎn)換一個實體轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的標(biāo)識符就是關(guān)系的碼。對于實體間的聯(lián)系有以下不同的情況:一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端所對應(yīng)的關(guān)系模式合并。

16、一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端所對應(yīng)的關(guān)系模式合并。一個m:n聯(lián)系轉(zhuǎn)換為一個獨立的關(guān)系模式。 三個或三個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。 具有相同碼的關(guān)系模式可以合并432022/7/181:1轉(zhuǎn)換示例一個1:1聯(lián)系轉(zhuǎn)換為一個獨立的關(guān)系模式部門表(部門號,部門名)經(jīng)理表(經(jīng)理號,經(jīng)理名,電話)部門-經(jīng)理(經(jīng)理號,部門號)也可以與任意一端所對應(yīng)的關(guān)系模式合并,需要在該關(guān)系模式的屬性中加入另一個實體的碼和聯(lián)系本身的屬性部門表(部門號,部門名,經(jīng)理號)經(jīng)理表(經(jīng)理號,經(jīng)理名,電話)或者:部門表(部門號,部門名)經(jīng)理表(經(jīng)理號,部門號,經(jīng)理名,電話)11經(jīng)理部

17、門管理部門名部門號經(jīng)理號經(jīng)理名電話442022/7/181:n轉(zhuǎn)換示例一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為此關(guān)系模式的屬性,且關(guān)系模式的碼為n端實體的碼部門表(部門號,部門名)職工表(職工號,職工名,工資)部門-職工(部門號,職工號)也可以與n端所對應(yīng)的關(guān)系模式合并,需要將該關(guān)系模式中加入1端實體的碼以及聯(lián)系本身的屬性部門表(部門號,部門名)職工表(職工號,部門號,職工名,工資) n1職工部門工作部門名部門號職工號職工名工資452022/7/18m:n轉(zhuǎn)換示例一個m:n聯(lián)系轉(zhuǎn)換為一個獨立的關(guān)系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬

18、性均轉(zhuǎn)換為此關(guān)系模式的屬性,而此關(guān)系模式的主碼包含各實體的碼教師表(教師號,教師名,職稱)課程表(課程號,課程名,學(xué)分)授課表(教師號,課程號,授課時數(shù))nm課程教師授課教師名教師號課程號課程名學(xué)分職稱授課時數(shù)462022/7/18數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)庫邏輯設(shè)計的結(jié)果不是唯一的,還應(yīng)該適當(dāng)?shù)匦薷暮驼{(diào)整,這是數(shù)據(jù)模型的優(yōu)化關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo),并考慮系統(tǒng)的性能確定各屬性間的數(shù)據(jù)依賴。消除冗余的聯(lián)系。確定最合適的范式。確定是否要對某些模式進行分解或合并 472022/7/18數(shù)據(jù)模型的優(yōu)化 確定數(shù)據(jù)依賴按需求分析階段所得到的語義,分別寫出每個關(guān)系模式內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不

19、同關(guān)系模式屬性之間數(shù)據(jù)依賴 對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系3.按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式4. 按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理的要求,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對它們進行合并或分解482022/7/18數(shù)據(jù)模型的優(yōu)化(續(xù))并不是規(guī)范化程度越高的關(guān)系就越優(yōu)。當(dāng)一個應(yīng)用的查詢中經(jīng)常涉及到兩個或多個關(guān)系模式的屬性時,系統(tǒng)必須經(jīng)常地進行聯(lián)接運算,而聯(lián)接運算的代價是相當(dāng)高的,可以說關(guān)系模型低效的主要原因就是做聯(lián)接運算引起的,因此在這種情況下,第二

20、范式甚至第一范式也許是最好的。非BCNF的關(guān)系模式雖然從理論上分析會存在不同程度的更新異常,但如果在實際應(yīng)用中對此關(guān)系模式只是查詢,并不執(zhí)行更新操作,就不會產(chǎn)生實際影響。對于一個具體應(yīng)用來說,到底規(guī)范化進行到什么程度,需要權(quán)衡響應(yīng)時間和潛在問題兩者的利弊才能決定。一般說來,第三范式就足夠了。492022/7/18設(shè)計外模式 將概念模型轉(zhuǎn)換為邏輯數(shù)據(jù)模型之后,還應(yīng)該根據(jù)局部應(yīng)用需求,并結(jié)合具體的數(shù)據(jù)庫管理系統(tǒng)的特點,設(shè)計用戶的外模式。外模式概念對應(yīng)關(guān)系數(shù)據(jù)庫的視圖概念,設(shè)計外模式是為了更好地滿足局部用戶的需求。定義數(shù)據(jù)庫的模式主要是從系統(tǒng)的時間效率、空間效率、易維護等角度出發(fā)502022/7/1

21、8四.數(shù)據(jù)庫的物理設(shè)計什么是數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于給定的計算機系統(tǒng)。為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計。數(shù)據(jù)庫物理設(shè)計的步驟確定數(shù)據(jù)庫的物理結(jié)構(gòu)對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率如果評價結(jié)果滿足原設(shè)計要求則可進入到物理實施階段,否則,就需要重新設(shè)計或修改物理結(jié)構(gòu),有時甚至要返回邏輯設(shè)計階段修改數(shù)據(jù)模型。512022/7/18數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法(續(xù))選擇物理數(shù)據(jù)庫設(shè)計所需參數(shù),是確定關(guān)系存取方法的依據(jù) 數(shù)據(jù)庫查詢事務(wù)查詢的關(guān)系 查詢條件所涉及的屬性 連接條件所涉及的

22、屬性 查詢的投影屬性數(shù)據(jù)更新事務(wù)被更新的關(guān)系每個關(guān)系上的更新操作條件所涉及的屬性 修改操作要改變的屬性值 每個事務(wù)在各關(guān)系上運行的頻率和性能要求522022/7/18數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法(續(xù))關(guān)系數(shù)據(jù)庫物理設(shè)計的內(nèi)容1. 為關(guān)系模式選擇存取方法(建立存取路徑)2. 設(shè)計關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲結(jié)構(gòu)物理設(shè)計的必要工作除了要實現(xiàn)實現(xiàn)概念模型向DBMS的轉(zhuǎn)化的任務(wù)同時加入概念模型中未考慮或未全部考慮的因素:PK(主鍵),F(xiàn)K(外鍵),View(視圖), Index(索引), Trigger(觸發(fā)器), Stored Procedure(存儲過程)等,以實現(xiàn)系統(tǒng)的完整性532022/7/

23、18確定存取方法一般用戶可以通過建立索引的方法來加快數(shù)據(jù)的查詢效率。 建立索引的一般原則為:在經(jīng)常作為查詢條件的屬性上建立索引。在經(jīng)常作為連接條件的屬性上建立索引。在經(jīng)常作為分組依據(jù)列的屬性上建立索引。對經(jīng)常進行連接操作的表可以建立索引。一個表可以建立多個索引,但只能建立一個聚簇索引。542022/7/18確定存儲結(jié)構(gòu)一般的存儲方式有:順序存儲散列存儲聚簇存儲一般情況下系統(tǒng)都會為數(shù)據(jù)選擇一種最合適的存儲方式552022/7/18物理結(jié)構(gòu)設(shè)計的評價評價物理結(jié)構(gòu)設(shè)計的方法完全依賴于具體的DBMS,主要考慮的是操作開銷,即為使用戶獲得及時、準(zhǔn)確的數(shù)據(jù)所需的開銷和計算機的資源的開銷。具體可分為如下幾類

24、:查詢和響應(yīng)時間更新事務(wù)的開銷生成報告的開銷主存儲空間的開銷輔助存儲空間的開銷 562022/7/18五. 數(shù)據(jù)庫的實施 數(shù)據(jù)庫實施的工作內(nèi)容用DDL定義數(shù)據(jù)庫結(jié)構(gòu)組織數(shù)據(jù)入庫編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫試運行數(shù)據(jù)庫實施定義數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)裝載 數(shù)據(jù)庫試運行數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)庫運行和維護物理模型編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫系統(tǒng)572022/7/18六. 數(shù)據(jù)庫的運行和維護在數(shù)據(jù)庫運行階段,對數(shù)據(jù)庫經(jīng)常性的維護工作主要是由DBA來完成。數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù)數(shù)據(jù)庫的安全性、完整性控制數(shù)據(jù)庫性能的監(jiān)督、分析和改造性能調(diào)整或數(shù)據(jù)庫重構(gòu)數(shù)據(jù)庫的重組織與重構(gòu)造修改模式或外模式當(dāng)系統(tǒng)發(fā)生重大變化,重構(gòu)也無濟于事,則數(shù)據(jù)

25、庫系統(tǒng)生命周期結(jié)束。582022/7/18第11章 數(shù)據(jù)庫設(shè)計1. 數(shù)據(jù)庫設(shè)計方法2. IDEF1X數(shù)據(jù)建模方法592022/7/18IDEF1X數(shù)據(jù)建模方法IDEF分析方法統(tǒng)稱為IDEF(Integration DEFinition)是70年代中期美國空軍的ICAM(Integration Computer Aided Manufacturing)計劃下所發(fā)展出來的一套系統(tǒng)分析與設(shè)計的工具,ICAM計劃的宗旨是通過系統(tǒng)地應(yīng)用計算機技術(shù)來提高機械制造業(yè)的生產(chǎn)率本來只是運用在制造業(yè)上的,經(jīng)過改造后用途變廣泛了,適用于一般的軟件開發(fā)。 從IDEF0到IDEF14(包括IDEF1X)共有16套方法,

26、每套方法都是通過建模程序來獲取某個特定類型的信息IDEF0 功能建模(Function Modeling)IDEF1 信息建模(Information Modeling)IDEF1X 數(shù)據(jù)建模(Data Modeling)IDEF2 仿真建模設(shè)計(Simulation Modeling Design)IDEF3 過程描述獲取(Process Description Capture)602022/7/18IDEF1X數(shù)據(jù)建模方法1983年美國空軍ICAM計劃著手IISS項目 目的是提供一套能在邏輯上和物理上集成異種計算機硬件和軟件的技術(shù) IISS把集成的途徑放在數(shù)據(jù)源單一語義定義的獲取、管理和使

27、用上,這個“概念模型” 是用IDEF1建模技術(shù)來定義的IDEF1X(Data Modeling)把實體-聯(lián)系方法應(yīng)用到語義數(shù)據(jù)模型中 IDEF1X對IDEF1做了一些改進,增強了圖形表達(dá)能力,豐富了語義(如分類聯(lián)系的引入)和簡化了開發(fā)過程 實際上IDEF1X是IDEF1的延伸版本,其之間的差異主要在于IDEF1是用來描述系統(tǒng)中數(shù)據(jù)的儲存及數(shù)據(jù)之間的關(guān)系,而IDEF1X著重于實體屬性和實體關(guān)系之間的數(shù)據(jù)模型612022/7/18IDEF1X數(shù)據(jù)建模方法IDEF1X在數(shù)據(jù)建模方法具有如下的特點: (1)支持概念模式的開發(fā)(2)是一種一致性的語言(3)IDEF1X是可教授的(4)經(jīng)過良好的測試和驗證

28、(5)可以自動化622022/7/18IDEF1X的語法和語義實體(entity)是現(xiàn)實世界中具有一組相同屬性的“事務(wù)”或“對象”的集合,集合中的每個元素稱為實體的實例(entity instance) 實體有兩種類型,獨立標(biāo)識實體(Identifier-Independent Entities) ,簡稱獨立實體從屬標(biāo)識實體(Identifier-Dependent Entities),簡稱從屬實體。 獨立實體從屬實體632022/7/18(1) 實體IDEF1X關(guān)于實體規(guī)則定義如下:每一個實體必須使用唯一的實體名。一個實體可以有一個或多個屬性,這些屬性可以是實體自身所具有的,也可以是通過一個

29、聯(lián)系而繼承得到的。一個實體應(yīng)有一個或多個能唯一標(biāo)識實體中每一個實例的屬性(主關(guān)鍵字和次關(guān)鍵字)。任意實體都可以與模型中其它的實體有0個、1個或多個聯(lián)系。如果一個外鍵是一個主鍵的全部或部分,那么該實體就是從屬實體。如果根本沒有外鍵屬性用作一個實體的主鍵,那么這個實體就是獨立實體642022/7/18IDEF1X的語法和語義(2)屬性屬性是與具體的實體相聯(lián)系的實體的每一個屬性必須具有一個單一且確定的值 (3)主鍵一個實體必須具有一個屬性或?qū)傩越M,其值唯一地確定該實體中的每一個實例652022/7/18(4)確定性聯(lián)系確定性聯(lián)系(specific connection relationship)或簡稱聯(lián)系(relationship)是指實體間的相互關(guān)聯(lián) 父實體的每一個實例都與子實體的0個、1個或多個實例相關(guān)聯(lián) 子實體中的1個實例與父實體中的0或1個實例相關(guān)聯(lián) 聯(lián)系有三個屬性:名稱、基數(shù)(cardinality,有時也稱為度量)聯(lián)系的類型(標(biāo)識或者非標(biāo)識、非空) 6620

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論