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

下載本文檔

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

文檔簡介

1、 數(shù)據(jù)庫設(shè)計的任務(wù)圖8.1第1頁/共127頁8.1.1.2 8.1.1.2 數(shù)據(jù)庫設(shè)計的內(nèi)容數(shù)據(jù)庫設(shè)計的內(nèi)容 數(shù)據(jù)庫設(shè)計包括數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計和數(shù)據(jù)庫的行為設(shè)計兩方面的內(nèi)容。 (1)數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計 數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計是指根據(jù)給定的應(yīng)用環(huán)境,進行數(shù)據(jù)庫的模式或子模式的設(shè)計。 (2)數(shù)據(jù)庫的行為設(shè)計 數(shù)據(jù)庫的行為設(shè)計是指確定數(shù)據(jù)庫用戶的行為和動作。 第2頁/共127頁8.1.1.3 8.1.1.3 數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點 “三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)”是數(shù)是數(shù)據(jù)庫建設(shè)的基本規(guī)律。據(jù)庫建設(shè)的基本規(guī)律。 結(jié)構(gòu)(數(shù)據(jù))設(shè)計應(yīng)該和行為(處理)設(shè)計密切結(jié)構(gòu)(

2、數(shù)據(jù))設(shè)計應(yīng)該和行為(處理)設(shè)計密切結(jié)合。結(jié)合。也就是說,整個設(shè)計過程中要把數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和對數(shù)據(jù)的處理設(shè)計密切結(jié)合起來。 第3頁/共127頁8.1.28.1.2數(shù)據(jù)庫設(shè)計方法簡述數(shù)據(jù)庫設(shè)計方法簡述數(shù)據(jù)庫設(shè)計方法目前可分為四類:直觀設(shè)計法、規(guī)范設(shè)計法、計算機輔助設(shè)計法和自動化設(shè)計法。 1. 直觀設(shè)計法直觀設(shè)計法也叫手工試湊法,它是最早使用的數(shù)據(jù)庫設(shè)計方法。 第4頁/共127頁2 2規(guī)范設(shè)計法規(guī)范設(shè)計法 新奧爾良法將數(shù)據(jù)庫設(shè)計分成需求分析(分析用戶需求)、概念設(shè)計(信息分析和定義)、邏輯設(shè)計(設(shè)計實現(xiàn))和物理設(shè)計(物理數(shù)據(jù)庫設(shè)計)。 下面簡單介紹幾種常用的規(guī)范設(shè)計方法。 第5頁/共127頁(1)

3、基于E-R模型的數(shù)據(jù)庫設(shè)計方法 (2)基于3NF的數(shù)據(jù)庫設(shè)計方法 具體設(shè)計步驟分為五個階段: 設(shè)計企業(yè)模式,利用規(guī)范化得到的3NF關(guān)系模式畫出企業(yè)模式; 設(shè)計數(shù)據(jù)庫的概念模式,把企業(yè)模式轉(zhuǎn)換成DBMS所能接受的概念模式,并根據(jù)概念模式導(dǎo)出各個應(yīng)用的外模式; 設(shè)計數(shù)據(jù)庫的物理模式(存儲模式) 對物理模式進行評價; 數(shù)據(jù)庫實現(xiàn)。第6頁/共127頁(3)基于視圖的數(shù)據(jù)庫設(shè)計方法 基本思想是為每個應(yīng)用建立自己的視圖,然后再把這些視圖匯總起來合并成整個數(shù)據(jù)庫的概念模式。 合并過程中要解決以下問題: 消除命名沖突; 消除冗余的實體和聯(lián)系; 進行模式重構(gòu),在消除了命名沖突和冗余后;需要對整個匯總模式進行調(diào)整

4、,使其滿足全部完整性約束條件。 第7頁/共127頁 規(guī)范設(shè)計法從本質(zhì)上來說仍然是手工設(shè)計方法,其基本思想是過程迭代和逐步求精。 計算機輔助設(shè)計法是指在數(shù)據(jù)庫設(shè)計的某些過程中模擬某一規(guī)范化設(shè)計的方法,并以人的知識或經(jīng)驗為主導(dǎo),通過人機交互方式實現(xiàn)設(shè)計中的某些部分。 一種實用的數(shù)據(jù)庫設(shè)計方法至少應(yīng)包括設(shè)計過程、設(shè)計技術(shù)、評價準(zhǔn)則、信息需求和描述機制。 第8頁/共127頁 8.1.3 數(shù)據(jù)庫設(shè)計的步驟 1需求分析階段2概念設(shè)計階段3邏輯設(shè)計階段4物理設(shè)計階段 5數(shù)據(jù)庫實施階段 6數(shù)據(jù)庫運行、維護階段第9頁/共127頁分析系統(tǒng)需求設(shè)計概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)優(yōu)化數(shù)據(jù)模型決策評價決策評價設(shè)計物理結(jié)構(gòu)決策評價

5、實施數(shù)據(jù)庫使用維護數(shù)據(jù)庫6、數(shù)據(jù)庫運行和、數(shù)據(jù)庫運行和維護階段維護階段5、數(shù)據(jù)庫實施階、數(shù)據(jù)庫實施階段段4、數(shù)據(jù)庫物理結(jié)、數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計階段構(gòu)設(shè)計階段3、邏輯結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計階段階段1、系統(tǒng)需求分析、系統(tǒng)需求分析階段階段2、概念結(jié)構(gòu)設(shè)計、概念結(jié)構(gòu)設(shè)計階段階段第10頁/共127頁數(shù)據(jù)庫設(shè)計步驟數(shù)據(jù)庫設(shè)計步驟系統(tǒng)需求分析階段概念結(jié)構(gòu)設(shè)計階段邏輯結(jié)構(gòu)設(shè)計階段物理結(jié)構(gòu)設(shè)計階段數(shù)據(jù)庫實施階段數(shù)據(jù)庫使用維護階段運行、維護數(shù)據(jù)庫運行、維護數(shù)據(jù)庫數(shù)據(jù)入庫,編制應(yīng)用程序數(shù)據(jù)入庫,編制應(yīng)用程序?qū)-R圖轉(zhuǎn)換成具體關(guān)系模圖轉(zhuǎn)換成具體關(guān)系模式式建立邏輯模型、用戶視圖建立邏輯模型、用戶視圖綜合各個用戶的應(yīng)用

6、需求綜合各個用戶的應(yīng)用需求形成獨立于形成獨立于DBMS的概念的概念模型模型用用E-R圖描述圖描述安排物理存儲,設(shè)計索引安排物理存儲,設(shè)計索引第11頁/共127頁需需求求收收集集和和分分析析 應(yīng)應(yīng)用用需需求求 ( 數(shù)數(shù)據(jù)據(jù)、處處理理) 設(shè)設(shè)計計概概念念結(jié)結(jié)構(gòu)構(gòu) 設(shè)設(shè)計計邏邏輯輯結(jié)結(jié)構(gòu)構(gòu) 數(shù)數(shù)據(jù)據(jù)模模型型優(yōu)優(yōu)化化 設(shè)設(shè)計計物物理理結(jié)結(jié)構(gòu)構(gòu) 評評價價設(shè)設(shè)計計,性性能能預(yù)預(yù)測測 物物理理實實現(xiàn)現(xiàn) 試試驗驗性性運運行行 使使用用、維維護護數(shù)數(shù)據(jù)據(jù)庫庫 轉(zhuǎn)轉(zhuǎn)換換規(guī)規(guī)則則、 D B MS功功 能能、優(yōu)優(yōu)化化方方法法 不不滿滿意意 不不滿滿意意 應(yīng)應(yīng)用用要要求求, D B MS 詳詳細(xì)細(xì)特特征征 需需求求分分

7、析析 階階段段 概概念念設(shè)設(shè)計計 階階段段 邏邏輯輯設(shè)設(shè)計計 階階段段 物物理理設(shè)設(shè)計計 階階段段 數(shù)數(shù)據(jù)據(jù)庫庫實實施施 階階段段 數(shù)數(shù)據(jù)據(jù)庫庫運運行行、 維維護護階階段段 圖8.3 數(shù)據(jù)庫設(shè)計步驟第12頁/共127頁設(shè)計階段設(shè)計階段設(shè)計描述設(shè)計描述 數(shù)數(shù) 據(jù)據(jù) 處處 理理 需求分析需求分析數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項、數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(shù)據(jù)流圖和判定表數(shù)據(jù)流圖和判定表(判定樹判定樹) 數(shù)據(jù)字典中處理過程的描述數(shù)據(jù)字典中處理過程的描述概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計概念模型概念模型(E-R圖圖)數(shù)據(jù)字典數(shù)據(jù)字典 系統(tǒng)說明書。包括:系統(tǒng)說明書。包括:(1)

8、 新系統(tǒng)要求、方案和概圖新系統(tǒng)要求、方案和概圖(2) 反映新系統(tǒng)信息的數(shù)據(jù)流圖反映新系統(tǒng)信息的數(shù)據(jù)流圖邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計某種數(shù)據(jù)模型某種數(shù)據(jù)模型關(guān)系模型關(guān)系模型 系統(tǒng)結(jié)構(gòu)圖系統(tǒng)結(jié)構(gòu)圖非關(guān)系模型非關(guān)系模型(模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖) 物理設(shè)計物理設(shè)計存儲安排存儲安排存取方法選擇存取方法選擇存取路徑建立存取路徑建立模塊設(shè)計模塊設(shè)計存取路徑建立存取路徑建立IPO表表實施階段實施階段編寫模式編寫模式裝入數(shù)據(jù)裝入數(shù)據(jù)數(shù)據(jù)庫試運行數(shù)據(jù)庫試運行程序編碼程序編碼編譯聯(lián)結(jié)編譯聯(lián)結(jié)測試測試運行維護運行維護 性能測試,轉(zhuǎn)儲恢復(fù)數(shù)據(jù)庫性能測試,轉(zhuǎn)儲恢復(fù)數(shù)據(jù)庫重組和重構(gòu)重組和重構(gòu)新舊系統(tǒng)轉(zhuǎn)換、運行、維護新舊系統(tǒng)轉(zhuǎn)換、

9、運行、維護(修修正性、適應(yīng)性、改善性維護正性、適應(yīng)性、改善性維護)第13頁/共127頁8.2 8.2 系統(tǒng)需求分析系統(tǒng)需求分析8.2.1 系統(tǒng)需求分析的任務(wù)1. 調(diào)查分析用戶活動具體做法是: (1)調(diào)查組織機構(gòu)情況,包括該組織的部門組成情況,各部門的職責(zé)和任務(wù)等。 (2)調(diào)查各部門的業(yè)務(wù)活動情況,包括各部門輸入和輸出的數(shù)據(jù)與格式、所需的表格與卡片、加工處理這些數(shù)據(jù)的步驟、輸入輸出的部門等。 (3)調(diào)查分析的方法 第14頁/共127頁概念概念設(shè)計設(shè)計階段階段需求分析階段需求分析階段需求分析階段熟悉業(yè)務(wù)活動明確用戶需求確定系統(tǒng)邊界分析系統(tǒng)功能分析系統(tǒng)數(shù)據(jù)編寫分析報告調(diào)查機構(gòu)情況數(shù)據(jù)字典數(shù)據(jù)流程圖用

10、戶活動圖用戶數(shù)據(jù)庫設(shè)計人員第15頁/共127頁常用的調(diào)查方法有以下幾種 : 跟班作業(yè)。通過親身參加業(yè)務(wù)工作來了解業(yè)務(wù)活動的情況。這種方法可以比較準(zhǔn)確地理解用戶的需求,但比較耗費時間。 開調(diào)查會。通過與用戶座談來了解業(yè)務(wù)活動情況及用戶需求。座談時,參加者之間可以相互啟發(fā)。 詢問。對某些調(diào)查中的問題,可以找專人詢問。 設(shè)計用戶調(diào)查表。如果調(diào)查表設(shè)計得合理,這種方法很有效,也易于為用戶接受。 查閱記錄。即查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄。 第16頁/共127頁2. 收集和分析需求數(shù)據(jù),確定系統(tǒng)邊界(1)信息需求指目標(biāo)范圍內(nèi)涉及的所有實體、實體的屬性以及實體間的聯(lián)系等數(shù)據(jù)對象,也就是用戶需要從數(shù)據(jù)庫中獲得信

11、息的內(nèi)容與性質(zhì)。由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。 第17頁/共127頁 (2)處理需求指用戶為了得到需求的信息而對數(shù)據(jù)進行加工處理的要求,包括對某種處理功能的響應(yīng)時間,處理的方式(批處理或聯(lián)機處理)等。 (3)安全性和完整性的需求。在定義信息需求和處理需求的同時必須確定相應(yīng)的安全性和完整性約束。 第18頁/共127頁3. 編寫需求分析說明書系統(tǒng)分析報告應(yīng)包括如下內(nèi)容: (1)系統(tǒng)概況、系統(tǒng)的目標(biāo)、范圍、背景、歷史和現(xiàn)狀;(2)系統(tǒng)的原理和技術(shù),對原系統(tǒng)的改善;(3)系統(tǒng)總體結(jié)構(gòu)與子系統(tǒng)結(jié)構(gòu)說明;(4)系統(tǒng)功能說明;(5)數(shù)據(jù)處理概要、工程體制和設(shè)計階段劃分;(6)系統(tǒng)

12、方案及技術(shù)、經(jīng)濟、功能和操作上的可行性。 第19頁/共127頁隨系統(tǒng)分析報告提供下列附件: (1)系統(tǒng)的硬件、軟件支持環(huán)境的選擇及規(guī)格要求(所選擇的數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、漢字平臺、計算機型號及其網(wǎng)絡(luò)環(huán)境等)。 (2)組織機構(gòu)圖、組織之間聯(lián)系圖和各機構(gòu)功能業(yè)務(wù)一覽圖。(3)數(shù)據(jù)流程圖、功能模塊圖和數(shù)據(jù)字典等圖表。 第20頁/共127頁8.2.2 系統(tǒng)需求分析的方法 分析和表達(dá)用戶需求的方法很多,主要方法有自頂向下和自底向上兩種 (a)自頂向下的需求分析 (b)自底向上的需求分析需求需求需求需求需求需求需求需求需求需求需求需求需求需求第21頁/共127頁8.2.2.1 數(shù)據(jù)流圖 數(shù)據(jù)流圖的繪制

13、建立在SADT的基礎(chǔ)上,采取自上而下的方法。首先,將整個系統(tǒng)作為一個處理(功能),繪制頂層圖。然后,逐級細(xì)化,分解成詳略不同的多層數(shù)據(jù)流圖,直到滿足需要為止。 第22頁/共127頁 數(shù)據(jù)存儲 處 理 數(shù)據(jù)流 數(shù)據(jù)流數(shù)據(jù)來源 數(shù)據(jù)輸出 圖8.5 系統(tǒng)頂層數(shù)據(jù)流圖第23頁/共127頁 數(shù)據(jù)源點或終點 數(shù)據(jù)存儲 數(shù)據(jù)處理 數(shù)據(jù)流 數(shù)據(jù)流圖使用的符號說明第24頁/共127頁 倉庫 管理員 材料出入 庫管理 入庫驗收 單據(jù) 領(lǐng)料單 編制采購 計劃 采購員 庫存文件 一個數(shù)據(jù)流圖的示例 第25頁/共127頁8.2.2.2 8.2.2.2 數(shù)據(jù)字典數(shù)據(jù)字典 數(shù)據(jù)字典則是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細(xì)的

14、數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典中的內(nèi)容在數(shù)據(jù)庫設(shè)計過程中還要不斷修改、充實和完善。 一般來說數(shù)據(jù)字典中應(yīng)包括對以下幾部分?jǐn)?shù)據(jù)的描述:第26頁/共127頁1數(shù)據(jù)項 數(shù)據(jù)項是數(shù)據(jù)的最小單位,對數(shù)據(jù)項的描述應(yīng)包括:數(shù)據(jù)項名、含義、別名、類型、長度、取值范圍,以及與其他數(shù)據(jù)項的邏輯關(guān)系。2數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)是若干數(shù)據(jù)項有意義的集合。對數(shù)據(jù)結(jié)構(gòu)的描述應(yīng)包括:數(shù)據(jù)結(jié)構(gòu)名,含義說明和組成該數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)項名。第27頁/共127頁3數(shù)據(jù)流 數(shù)據(jù)流可以是數(shù)據(jù)項,但更一般的情況下是數(shù)據(jù)結(jié)構(gòu),表示某一處理過程的輸入或輸出數(shù)據(jù)。對數(shù)據(jù)流的描述應(yīng)包括:數(shù)據(jù)流名,說明,從什么處理過程來,到什么處理過程去以及

15、組成該數(shù)據(jù)流的數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)項。第28頁/共127頁4.數(shù)據(jù)存儲數(shù)據(jù)存儲 數(shù)據(jù)存儲定義的目的是確定最終數(shù)據(jù)庫需要存儲那些信息。 (1)考察數(shù)據(jù)流圖中每個數(shù)據(jù)存儲信息,確定其是否應(yīng)該而且可能由數(shù)據(jù)庫存儲,若是,則列入數(shù)據(jù)庫需要存儲的信息范圍。 第29頁/共127頁(2)定義每個數(shù)據(jù)存儲。對數(shù)據(jù)存儲的描述應(yīng)包括:數(shù)據(jù)存儲名、存儲的數(shù)據(jù)項說明、建立該數(shù)據(jù)存儲的應(yīng)用(即數(shù)據(jù)處理)、存取該數(shù)據(jù)存儲的處理過程、數(shù)據(jù)量、存取頻度(指每天或每小時或每分鐘存取幾次)、操作類型(是檢索還是更新)和存取方式(是批處理還是聯(lián)機處理,是順序存取還是隨機存?。┑?。第30頁/共127頁5.處理過程處理過程 (1)考察數(shù)據(jù)流

16、圖中的每個數(shù)據(jù)處理,確定正在設(shè)計的數(shù)據(jù)庫系統(tǒng)是否應(yīng)該而且可能支持這個處理過程。如果應(yīng)該而且可能支持,把這個功能列入數(shù)據(jù)庫系統(tǒng)支持的應(yīng)用范圍。 (2)對于每個處理過程,進行嚴(yán)格定義,內(nèi)容包括:處理過程名、處理功能描述、處理要求、輸入數(shù)據(jù)、輸出數(shù)據(jù)等等。第31頁/共127頁需求分析注意點需求分析注意點 確定用戶需求是一件很困難的事情。這是因為:第一,應(yīng)用部門的業(yè)務(wù)人員常常缺少計算機的專業(yè)知識,而數(shù)據(jù)庫設(shè)計人員又常常缺乏應(yīng)用領(lǐng)域的業(yè)務(wù)知識,因此相互的溝通往往比較困難。第二,不少業(yè)務(wù)人員往往對開發(fā)計算機系統(tǒng)有不同程度的抵觸情緒。有的認(rèn)為需求調(diào)查影響了他們的工作,給他們造成了負(fù)擔(dān),特別是新系統(tǒng)的建設(shè)常常

17、伴隨企業(yè)管理的改革,這會遇到不同部門不同程度的抵觸。第32頁/共127頁 第三,應(yīng)用需求常常在不斷改變,使系統(tǒng)設(shè)計也常常要進行調(diào)整甚至要有重大改變。 面對這些困難,設(shè)計人員特別應(yīng)該注意:1用戶參與的重要性2用原型法來幫助用戶確定他們的需求3預(yù)測系統(tǒng)的未來改變第33頁/共127頁8.3 8.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計 根據(jù)需求分析階段形成的新系統(tǒng)需求分析說明書,把用戶的信息需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計。用E-R圖來描述現(xiàn)實世界的概念模型。第34頁/共127頁邏輯邏輯設(shè)計設(shè)計階段階段概念結(jié)構(gòu)設(shè)計階段概念結(jié)構(gòu)設(shè)計階段概念設(shè)計階段概念設(shè)計階段合并取消沖突修改重構(gòu)消除冗余數(shù)據(jù)字典

18、數(shù)據(jù)流程圖功能模塊圖需求需求分析分析階段階段抽象數(shù)據(jù)設(shè)計局部視圖局部E-R圖初步E-R圖基本E-R圖第35頁/共127頁8.3.1 8.3.1 概念模型的特點概念模型的特點 概念結(jié)構(gòu)設(shè)計是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程。 概念模型作為概念結(jié)構(gòu)設(shè)計的表達(dá)工具,為數(shù)據(jù)庫提供一個說明性結(jié)構(gòu),是設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu)即邏輯模型的基礎(chǔ)。 概念模型具備以下主要特點: 第36頁/共127頁(1)概念模型是現(xiàn)實世界的一個真實模型 概念模型能表達(dá)用戶的各種需求,充分反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系、用戶對數(shù)據(jù)的處理要求。(2)概念模型易于交流和理解。 概念模型是DBA、應(yīng)用開發(fā)人員和用

19、戶之間的主要界面,因此,概念模型要表達(dá)自然、直觀和容易理解,以便和不熟悉計算機的用戶交換意見,用戶的積極參與是保證數(shù)據(jù)庫設(shè)計成功的關(guān)鍵。 第37頁/共127頁(3)概念模型易于修改和擴充。 概念模型要能靈活地加以改變,以反映用戶需求和現(xiàn)實環(huán)境的變化。(4)概念模型易于向各種數(shù)據(jù)模型轉(zhuǎn)換。 概念模型獨立于特定的DBMS,因而更加穩(wěn)定,能方便地向關(guān)系模型、網(wǎng)狀模型或?qū)哟文P偷雀鞣N數(shù)據(jù)模型轉(zhuǎn)換。 第38頁/共127頁8.3.2 8.3.2 概念結(jié)構(gòu)設(shè)計的方法與步驟概念結(jié)構(gòu)設(shè)計的方法與步驟 設(shè)計概念結(jié)構(gòu)通常有自頂向下、自底向上、逐步擴張和混合策略等4類方法。其中最經(jīng)常采用的策略是自底向上方法。即自頂向

20、下地進行需求分析,然后再自底向上地設(shè)計概念結(jié)構(gòu),如下所示。 第39頁/共127頁需 求需 求 1需 求 1 .1需 求 1 .2概 念 模 式 1 .1概 念 模 式 1 .2概 念 模 式 1需 求 n需 求 n .1需 求 n .2概 念 模 式 n .1概 念 模 式 n .2概 念 模 式 n (應(yīng) 用 1 )全 局 概 念 模 式(應(yīng) 用 n )需 求 分 析(自 頂 向 下 )概 念 結(jié) 構(gòu) 設(shè) 計(自 底 向 上 )自頂向下需求分析與自底向上設(shè)計概念結(jié)構(gòu)第40頁/共127頁概念結(jié)構(gòu)設(shè)計的步驟一般可分為兩步:概念結(jié)構(gòu)設(shè)計的步驟一般可分為兩步: 第一步是抽象數(shù)據(jù)并設(shè)計局部視圖, 第二

21、步是集成局部視圖,得到全局的概念結(jié)構(gòu),如下所示。第41頁/共127頁數(shù) 據(jù) 抽 象 、 局 部視 圖 的 設(shè) 計視 圖 集 成分 E -R 圖總 E -R 圖需 求 分 析D FDD D返 回 用 戶征 求 意 見直 到 滿 意為 止邏 輯 結(jié) 構(gòu) 設(shè) 計概念結(jié)構(gòu)設(shè)計步驟概念結(jié)構(gòu)設(shè)計步驟第42頁/共127頁8.3.3 8.3.3 數(shù)據(jù)抽象與局部數(shù)據(jù)抽象與局部E-RE-R模型設(shè)計模型設(shè)計 1.數(shù)據(jù)抽象 所謂抽象是對實際的人、物、事和概念進行人為處理,它抽取人們關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。 第43頁/共127頁 一般有三種數(shù)據(jù)抽象

22、:分類、聚集和概括。 分類(Classification) 分類定義某一類概念作為現(xiàn)實世界中一組對象的類型,將一組具有某些共同特性和行為的對象抽象為一個實體。分類抽象了對象值和型之間是“成員”的語義。在E-R模型中,實體集就是這種抽象。例如,在生產(chǎn)管理中,“電腦”是一件產(chǎn)品,表示“電腦”是產(chǎn)品中的一員,他具有產(chǎn)品共同的特性和行為。 第44頁/共127頁 聚集(Aggregation) 聚集是定義某一類型的組成部分,它抽象了對象內(nèi)部類型和對象內(nèi)部“組成部分”的語義。若干屬性的聚集組成了實體型。例如把實體集“產(chǎn)品”的“產(chǎn)品號”、“產(chǎn)品名”、“價格”、“性能”等屬性聚集為實體型“產(chǎn)品”。第45頁/共

23、127頁 概括(Generalization) 概括定義了類型之間的一種子集聯(lián)系,它抽象類型之間的“所屬”的語義。例如在電腦工廠中,“產(chǎn)品”是個實體集,“臺式機” 、“筆記本電腦”也是實體集,但“臺式機” 、“筆記本電腦”都是“產(chǎn)品”的子集。我們把“產(chǎn)品”稱為超類(Superclass), “臺式機” 、“筆記本電腦”稱為“產(chǎn)品”的子類(Subclass)。第46頁/共127頁2.2.局部局部E-RE-R模型設(shè)計模型設(shè)計 一般說來,在給定的應(yīng)用環(huán)境中,區(qū)別屬性與實體要遵循下列兩條原則: 屬性不能再具有需要描述的性質(zhì)。即屬性必須是不可分的數(shù)據(jù)項,不能再由另一些屬性組成。 屬性不能與其他實體有聯(lián)系

24、。在E-R圖中所有的聯(lián)系必須是實體間的聯(lián)系,而不能有屬性與實體之間發(fā)生聯(lián)系。 第47頁/共127頁倉庫作為一個屬性或?qū)嶓w倉庫作為一個屬性或?qū)嶓w材料倉庫材料號材料名價格倉庫號倉庫名地址存于1n材料材料號材料名價格倉庫電話第48頁/共127頁一般說來,視圖集成可以有兩種方式: 多個分E-R圖一次集成。 逐步集成,用累加的方式一次集成兩個分E-R圖。 第1種方法比較復(fù)雜,做起來難度較大。 第2種方法每次只集成兩個分E-R圖,可以降低復(fù)雜 度。第49頁/共127頁 圖8.7 生產(chǎn)部門的局部E-R圖產(chǎn)品零件產(chǎn)品號產(chǎn)品名性能零件號零件名材料名組裝mn耗用量零件數(shù)第50頁/共127頁圖8.8 供應(yīng)部門的局部

25、E-R圖產(chǎn)品倉庫產(chǎn)品號產(chǎn)品名價格倉庫號倉庫名地點使用mn電話使用量存放量材料材料號材料名價格存放mn第51頁/共127頁8.3.4 視圖的集成視圖的集成 無論采用哪種方式,每次集成局部E-R圖時都需要分兩步走。 (1)合并。解決各分E-R圖之間的沖突,將各分E-R圖合并起來生成初步E-R圖。 (2)修改和重構(gòu)。消除不必要的冗余,生成基本E-R圖。第52頁/共127頁分 析規(guī) 范 化理 論集 成視 圖基 本E -R圖分E -R圖修 改 與 重 構(gòu)( 消 除 不 必要 的 冗 余 )初 步E -R圖合 并( 消 除 沖 突 )視圖集成視圖集成第53頁/共127頁8.3.4.1 合并局部E-R圖,生

26、成初步E-R圖 各分E-R圖之間的沖突主要有3類:屬性沖突、 命名沖突和結(jié)構(gòu)沖突。 1屬性沖突(1)屬性域沖突,即屬性值的類型、取值范圍 或取值集合不同。(2)屬性取值單位沖突。第54頁/共127頁2命名沖突(1)同名異義,即不同意義的對象在不同的局部應(yīng)用中具有相同的名字。(2)異名同義(一義多名),即同一意義的對象在不同的局部應(yīng)用中具有不同的名字。第55頁/共127頁3結(jié)構(gòu)沖突(1)同一對象在不同應(yīng)用中具有不同的抽象。(2)同一實體在不同分E-R圖中所包含的屬性個數(shù)和屬性排列次序不完全相同。(3)實體間的聯(lián)系在不同的分E-R圖中為不同的類型。第56頁/共127頁 例如,下頁圖中零件與產(chǎn)品之間

27、存在多對多的聯(lián)系“構(gòu)成”。產(chǎn)品、零件與供應(yīng)商三者之間還存在多對多的聯(lián)系“供應(yīng)”,這兩個聯(lián)系互相不能包含(讀者想一想為什么),在合并兩個分E-R圖時就應(yīng)把它們綜合起來。第57頁/共127頁產(chǎn) 品 構(gòu) 成 零 件 n m 數(shù) 量 產(chǎn) 品 數(shù) 量 零 件 供 應(yīng) n m 供 應(yīng) 商 p (E -R )1 (E -R )2 產(chǎn) 品 構(gòu) 成 零 件 n m 供 應(yīng) n m 供 應(yīng) 商 p 數(shù) 量1 數(shù) 量2 (E -R )1 2 合并兩個分E-R圖第58頁/共127頁8.3.4.2 8.3.4.2 修改與重構(gòu),消除不必要的修改與重構(gòu),消除不必要的冗冗 余,生成基本余,生成基本E-RE-R圖圖 所謂冗余的

28、數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù),冗余的聯(lián)系是指可由其他聯(lián)系導(dǎo)出的聯(lián)系。第59頁/共127頁 消除冗余主要采用分析方法,即以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù),根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項之間邏輯關(guān)系的說明來消除冗余。在下頁圖中,Q3=Q1Q2,Q4=Q5,所以Q3 和Q4是冗余數(shù)據(jù),可以消去。并且由于Q3消去,產(chǎn)品與材料間mn的冗余聯(lián)系也應(yīng)消去。第60頁/共127頁產(chǎn)品 使用用 n m 用量 Q3 構(gòu)成 零件數(shù) Q1 m 零件 消耗用 材料 n 存放 m 倉庫 n 1 耗用量 Q2 庫存量 Q4 存放量 Q5 n 消除冗余第61頁/共127頁 但并不是所有冗余數(shù)據(jù)與冗余聯(lián)系都必須加以消除,有時為了提高效率,

29、不得不以冗余信息作為代價。 例如,若物資部門經(jīng)常要查詢各種材料的庫存量,如果每次都要查詢每個倉庫中此種材料的庫存,再對它們求和,查詢效率就太低了。所以應(yīng)保留Q4,同時把Q4= Q5定義為Q4的完整性約束條件。每當(dāng)Q5修改后,就觸發(fā)該完整性檢查例程,對Q4作相應(yīng)的修改。第62頁/共127頁 除分析方法外,還可以用規(guī)范化理論來消除冗余。在規(guī)范化理論中,函數(shù)依賴的概念提供了消除冗余聯(lián)系的形式化工具。具體方法如下: (1)確定分E-R圖實體之間的數(shù)據(jù)依賴。 (2)求FL的最小覆蓋GL(求最小覆蓋的方法可參見7.6節(jié))。 差集為:D = FLGL。第63頁/共127頁 逐一考察D中的函數(shù)依賴,確定是否是

30、冗余的聯(lián)系,若是,就把它去掉。由于規(guī)范化理論受到泛關(guān)系假設(shè)的限制,應(yīng)注意下面兩個問題:(1)冗余的聯(lián)系一定在D中,而D中的聯(lián)系不一定是冗余的。(2)當(dāng)實體之間存在多種聯(lián)系時要將實體之間的聯(lián)系在形式上加以區(qū)分。第64頁/共127頁例例2 2 某工廠信息系統(tǒng)的視圖集成。 圖8.17、圖8.23、圖8.21分別為該廠銷售、物資和勞動人事管理的分E-R圖。把這3個分E-R圖進行集成過程中解決了以下問題:(1)異名同義,“項目”和“產(chǎn)品”含義相同。某個“項目”實質(zhì)上是指某個“產(chǎn)品”的生產(chǎn)。統(tǒng)一用“產(chǎn)品”作實體名。第65頁/共127頁E-RE-R圖實例圖實例職工號姓名性別年齡職稱書號書名簡介價格課程名學(xué)分

31、課程號專業(yè)系班編號成績學(xué)員學(xué)號姓名性別年齡教師參考書講授課程mn1選修mn領(lǐng)導(dǎo)1n學(xué)生組成班級n1第66頁/共127頁產(chǎn)品零件性能產(chǎn)品號產(chǎn)品名零件號零件名材料名組裝mn耗用量產(chǎn)品倉庫成品名成品號價格倉庫號倉庫名地址使用mn電話使用量存儲量材料材料號材料名價格存儲mn第67頁/共127頁產(chǎn)品零件倉庫材料組裝消耗存儲產(chǎn)品號產(chǎn)品名價格性能使用用量材料號材料名價格存儲量倉庫號倉庫名地址電話材料名耗用量零件數(shù)消耗量mnnmmmnn零件號零件名第68頁/共127頁總體總體E-RE-R模型模型( (改進改進) )產(chǎn)品零件倉庫材料組裝消耗存儲產(chǎn)品號產(chǎn)品名價格性能使用用量材料號材料名價格存儲量倉庫號倉庫名地址電

32、話零件號零件名零件數(shù)消耗量mnmmmnnn第69頁/共127頁8.3.5 8.3.5 采用采用UMLUML類圖的概念對象建類圖的概念對象建模模 在UML類圖中,類表示為三個部分組成的方框:頂端給出了類的名稱,例如材料;中間部分給出了該類的屬性,例如材料類具有材料號, 材料名, 價格等屬性;最下面的部分給出了可以應(yīng)用到這些對象的操作,這是E-R圖中所沒有的。 UML概念對象建模示例如圖: 第70頁/共127頁圖8.11第71頁/共127頁 聯(lián)系類型稱為關(guān)聯(lián)(association),聯(lián)系的實例被稱為鏈(link)。 二元關(guān)聯(lián)表示為一條連接參與類的線段,而且可以有一個名稱。 聯(lián)系屬性稱為鏈屬性(l

33、inks attribute),置于方框中,該方框與關(guān)聯(lián)之間通過一條虛線相連。 聯(lián)系的約束以min.max的形式指定,采用星號(*)表示參與部分無最大值限制。 第72頁/共127頁 在UML中有兩類聯(lián)系:關(guān)聯(lián)和聚合。聚合的意思是表示整個對象和它的組成部分之間的聯(lián)系,比如產(chǎn)品與零件之間。聯(lián)系的名稱在UML中是可選的,聯(lián)系屬性被表示在方框中,并通過一條虛線與代表關(guān)聯(lián)/聚合的線段相連接。 第73頁/共127頁8.4 8.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計8.4.1邏輯結(jié)構(gòu)設(shè)計的任務(wù)和步驟 邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)

34、。 設(shè)計邏輯結(jié)構(gòu)時一般要分三步進行 :第74頁/共127頁1. 將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型。2. 將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換。3. 對數(shù)據(jù)模型進行優(yōu)化。 如圖所示: 第75頁/共127頁邏輯結(jié)構(gòu)設(shè)計的三個步驟邏輯結(jié)構(gòu)設(shè)計的三個步驟 初始關(guān)系模式設(shè)計概念結(jié)構(gòu)設(shè)計關(guān)系模式規(guī)范化模式評價是否修正以DBMS語法描述物理設(shè)計YN模式評價第76頁/共127頁物理物理設(shè)計設(shè)計階段階段邏輯結(jié)構(gòu)設(shè)計階段邏輯結(jié)構(gòu)設(shè)計階段邏輯結(jié)構(gòu)設(shè)計階段邏輯結(jié)構(gòu)設(shè)計階段模式優(yōu)化設(shè)計用戶子模式概念概念設(shè)計設(shè)計階段階段轉(zhuǎn)化為數(shù)據(jù)模型關(guān)系規(guī)范化邏輯模型基本E-R圖第77頁/共127頁

35、8.4.2 E-R8.4.2 E-R圖向數(shù)據(jù)模型的轉(zhuǎn)換圖向數(shù)據(jù)模型的轉(zhuǎn)換 E-R圖向關(guān)系模型的轉(zhuǎn)換要解決的問題是如何將實體和實體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合。所以將E-R圖轉(zhuǎn)換為關(guān)系模型實際上就是要將實體、實體屬性和實體之間的聯(lián)系轉(zhuǎn)換為一組關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則:第78頁/共127頁1一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。2對于實體間的聯(lián)系則有以下不同的情況:(1)一個11聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該

36、聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個實體的碼均是該關(guān)系的候選碼。如果與某一端實體對應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另一個關(guān)系模式的碼和聯(lián)系本身的屬性。第79頁/共127頁(2)一個1n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。(3)一個mn聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實體碼的組成關(guān)系的碼或關(guān)系碼的一部分。第80頁/共127頁(4)3個或3個以上實體間的

37、一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實體碼組成關(guān)系的碼或關(guān)系碼的一部分。(5)具有相同碼的關(guān)系模式可合并。第81頁/共127頁實體向關(guān)系模式的轉(zhuǎn)換實體向關(guān)系模式的轉(zhuǎn)換產(chǎn)品產(chǎn)品(產(chǎn)品號,產(chǎn)品名,性能,價格)零件零件(零件號,零件名)材料材料(材料號,材料名,價格) 倉庫倉庫(倉庫號,車庫名,地址,電話)產(chǎn)品零件倉庫材料組裝消耗存儲產(chǎn)品號產(chǎn)品名價格性能材料號材料名價格存儲量倉庫號倉庫名地址電話零件號零件名零件數(shù)消耗量mnmmnn第82頁/共127頁聯(lián)系向關(guān)系模式的轉(zhuǎn)換聯(lián)系向關(guān)系模式的轉(zhuǎn)換產(chǎn)品零件一覽表產(chǎn)品零件一覽表(產(chǎn)品號,零件號

38、,零件數(shù)量)零件用料表零件用料表(零件號,材料名,消耗量)材料存放表材料存放表(材料號,倉庫號,存儲量)產(chǎn)品零件倉庫材料組裝消耗存儲產(chǎn)品號產(chǎn)品名價格性能材料號材料名價格存儲量倉庫號倉庫名地址電話零件號零件名零件數(shù)消耗量mnmmnn第83頁/共127頁帶屬性的一對多聯(lián)系帶屬性的一對多聯(lián)系司機汽車駕駛工號姓名性別年齡車號車種載重量載客數(shù)值勤日n1技術(shù)等級司機(工號,姓名,性別,年齡,技術(shù)等級)汽車(車號,車種,載重量,載客數(shù))駕駛(工號,車號,值勤日)第84頁/共127頁沒有對應(yīng)關(guān)系的聯(lián)系沒有對應(yīng)關(guān)系的聯(lián)系司機汽車駕駛工號車號車種載重量載客數(shù)值勤日n1技術(shù)等級職工包含工號姓名性別年齡司機(工號,技

39、術(shù)等級)汽車(車號,車種,載重量,載客數(shù))駕駛(工號,車號,值勤日)職工(工號,姓名,性別,年齡)第85頁/共127頁存在于三個實體之間的聯(lián)系存在于三個實體之間的聯(lián)系供應(yīng)(公司名,工程號,材料名)n公司供應(yīng)工程材料Lm公司名 工程號 材料名華都132鋼管華興215鋁板向陽132水泥華都730水泥第86頁/共127頁8.4.3 8.4.3 數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)模型的優(yōu)化 數(shù)據(jù)庫邏輯設(shè)計的結(jié)果不是惟一的。為了提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,還應(yīng)該根據(jù)應(yīng)用需要適當(dāng)?shù)匦薷?、調(diào)整關(guān)系模式,這就是數(shù)據(jù)模型的優(yōu)化。關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo),方法為:第87頁/共127頁1. 1. 確定范式級別確定范式

40、級別 考查關(guān)系模式的函數(shù)依賴關(guān)系,確定范式等級,逐一分析各關(guān)系模式 2. 2. 實施規(guī)范化處理實施規(guī)范化處理 (1 1)在需求分析階段,用數(shù)據(jù)依賴概念分析和表示各個數(shù)據(jù)項之間的聯(lián)系。 (2 2)在概念結(jié)構(gòu)設(shè)計階段,以規(guī)范化理論為指導(dǎo),確定關(guān)系碼,消除初步E-RE-R圖中冗余的聯(lián)系。 (3 3)在邏輯結(jié)構(gòu)設(shè)計階段,從E-RE-R圖向數(shù)據(jù)模型轉(zhuǎn)換過程中,用模式合并與分解方法達(dá)到規(guī)范化級別。第88頁/共127頁3. 3. 模式評價與改進模式評價與改進 (1)模式評價 模式評價的目的是檢查所設(shè)計的數(shù)據(jù)庫模式是否滿足用戶的功能要求、效率,確定加以改進的部分。 模式評價包括功能評價和性能評價。 第89頁/

41、共127頁模式的形成過程模式的形成過程應(yīng)用要求應(yīng)用要求概念模式邏輯模式存儲模式應(yīng)用要求外模式外模式外模式應(yīng)用應(yīng)用1應(yīng)用應(yīng)用2應(yīng)用應(yīng)用3應(yīng)用應(yīng)用1應(yīng)用應(yīng)用2應(yīng)用應(yīng)用3機器世界模型信息世界模型現(xiàn)實世界第90頁/共127頁 功能評價 功能評價指對照需求分析的結(jié)果,檢查規(guī)范化后的關(guān)系模式集合是否支持用戶所有的應(yīng)用要求。 性能評價 對實際性能進行估計,包括邏輯記錄的存取數(shù)、傳送量以及物理設(shè)計算法的模型等。 第91頁/共127頁(2)模式改進 合并 如果有若干個關(guān)系模式具有相同的主碼,并且對這些關(guān)系模式的處理主要是查詢操作,而且經(jīng)常是多關(guān)系的查詢,那么可對這些關(guān)系模式按照組合使用頻率進行合并。 分解第92

42、頁/共127頁 為了提高數(shù)據(jù)操作的效率和存儲空間的利用率,最常用和最重要的模式優(yōu)化方法就是分解,根據(jù)應(yīng)用的不同要求,可以對關(guān)系模式進行垂直分解和水平分解。 水平分解是把(基本)關(guān)系的元組分為若干子集合,定義每個子集為一個子關(guān)系。 垂直分解是把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式。垂直分解的原則是,經(jīng)常在一起使用的屬性從R中分解出來后形成一個子關(guān)系模式。分解后的一組關(guān)系模式與原關(guān)系模式是否等價。第93頁/共127頁8.4.4 8.4.4 設(shè)計用戶子模式設(shè)計用戶子模式 將概念模型轉(zhuǎn)換為全局邏輯模型后,還應(yīng)該根據(jù)局部應(yīng)用需求,結(jié)合具體RDBMS的特點,設(shè)計用戶的外模式。 目前關(guān)系數(shù)據(jù)

43、庫管理系統(tǒng)一般都提供了視圖(View)概念,可以利用這一功能設(shè)計更符合局部用戶需要的用戶外模式。 由于用戶外模式與模式是相對獨立的,因此在定義用戶外模式時可以考慮用戶的習(xí)慣與方便。包括:第94頁/共127頁 1使用更符合用戶習(xí)慣的別名 2可以對不同級別的用戶定義不同的View,以保證系統(tǒng)的安全性 例如,有關(guān)系模式: 產(chǎn)品(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價,生產(chǎn)車間,生產(chǎn)負(fù)責(zé)人,產(chǎn)品成本,產(chǎn)品合格率,質(zhì)量等級),可以在該關(guān)系模式上建立兩個視圖。第95頁/共127頁為一般顧客建立視圖:產(chǎn)品1(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價)為產(chǎn)品銷售部門建立視圖:產(chǎn)品2(產(chǎn)品號,產(chǎn)品名,規(guī)格,單價,車間,生產(chǎn)負(fù)責(zé)人)3簡化

44、用戶對系統(tǒng)的使用第96頁/共127頁8.58.5數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)庫物理設(shè)計 數(shù)據(jù)庫在實際的物理設(shè)備上的存儲結(jié)構(gòu)和存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu)。為設(shè)計好的邏輯數(shù)據(jù)模型選擇一個符合應(yīng)用要求的物理結(jié)構(gòu)就是數(shù)據(jù)庫的物理設(shè)計。第97頁/共127頁實施實施階段階段數(shù)據(jù)庫物理設(shè)計階段數(shù)據(jù)庫物理設(shè)計階段數(shù)據(jù)庫物理設(shè)計階段數(shù)據(jù)庫物理設(shè)計階段邏輯邏輯設(shè)計設(shè)計階段階段確定數(shù)據(jù)庫的物理結(jié)構(gòu)評價數(shù)據(jù)庫的物理結(jié)構(gòu)物理模型邏輯模型第98頁/共127頁 數(shù)據(jù)庫的物理結(jié)構(gòu)是與給定的硬件環(huán)境和DBMS軟件產(chǎn)品有關(guān)的。因此數(shù)據(jù)庫的物理設(shè)計依賴具體的DBMS產(chǎn)品。 數(shù)據(jù)庫的物理設(shè)計通常分為兩步: (1)確定數(shù)據(jù)庫的物理結(jié)構(gòu)。 (2

45、)對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率。第99頁/共127頁8.5.1確定數(shù)據(jù)庫的物理結(jié)構(gòu) 1存儲記錄結(jié)構(gòu)的設(shè)計 在物理結(jié)構(gòu)中,數(shù)據(jù)的基本存取單位是存儲記錄。存儲記錄結(jié)構(gòu)包括記錄的組成、數(shù)據(jù)項的類型和長度,以及邏輯記錄到存儲記錄的映射。 文件組織或文件結(jié)構(gòu)是組成文件的存儲記錄的表示法。文件結(jié)構(gòu)應(yīng)該表示文件格式、邏輯次序、物理次序、訪問路徑、物理設(shè)備的分配。 第100頁/共127頁 決定存儲結(jié)構(gòu)的主要因素包括存取時間、存儲空間和維護代價三個方面。 一般,DBMS也提供一定的靈活性可供選擇,包括聚簇和索引。 (1)聚簇(Cluster) 第101頁/共127頁 為了提高某個屬性(或?qū)傩越M

46、)的查詢速度,把這個或這些屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊上,這種方法稱為聚簇。 聚簇方法不但適用于單個關(guān)系,也適用于經(jīng)常進行連接操作的多個關(guān)系。即把多個連接關(guān)系的元組按連接屬性值聚集存放,聚簇中的連接屬性稱為聚簇碼。這就相當(dāng)于把多個關(guān)系按“預(yù)連接”的形式存放,從而大大提高連接操作的效率。 一個數(shù)據(jù)庫可以建立多個聚簇,一個關(guān)系只能加入一個聚簇。第102頁/共127頁聚簇有兩個作用: 使用聚簇以后,聚簇碼相同的元組集中在一起了,因而聚簇值不必在每個元組中重復(fù)存儲,只要在一組中存儲一次即可,因此可以節(jié)省存儲空間。 聚簇功能可以大大提高按聚簇碼進行查詢的效率。 第103頁/

47、共127頁(2)索引 在數(shù)據(jù)庫中,用戶訪問的最小單位是屬性。如果對某些非主屬性的檢索很頻繁,可以考慮建立這些屬性的索引文件。 建立多個索引文件可以縮短存取時間,但是增加了索引文件所占用的存儲空間以及維護的開銷。 第104頁/共127頁2 2訪問方法的設(shè)計訪問方法的設(shè)計 訪問方法是為存儲在物理設(shè)備(通常指輔存)上的數(shù)據(jù)提供存儲和檢索能力的方法。 一個訪問方法包括存儲結(jié)構(gòu)和檢索機構(gòu)兩個部分。 存儲結(jié)構(gòu)限定了可能訪問的路徑和存儲記錄;檢索機構(gòu)定義了每個應(yīng)用的訪問路徑.第105頁/共127頁 訪問路徑的設(shè)計分成主訪問路徑與輔訪問路徑的設(shè)計。 主訪問路徑與初始記錄的裝入有關(guān),通常是用主碼來檢索的。 輔訪

48、問路徑是通過輔助碼的索引對存儲記錄重新進行內(nèi)部鏈接,從而改變訪問數(shù)據(jù)的入口點。 用輔助索引可以縮短訪問時間,但增加了輔存空間和索引維護的開銷。 第106頁/共127頁3數(shù)據(jù)存放位置的設(shè)計 對于有多個磁盤的計算機,可以采用下面幾種存放位置的分配方案。 將表和索引分別存放在不同的磁盤上,在查詢時,由于兩個磁盤驅(qū)動器并行工作,可以提高物理讀寫的速度。 將比較大的表分別放在兩個磁盤上,以加快存取速度,在多用戶環(huán)境下效果更佳。 將備份文件、日志文件與數(shù)據(jù)庫對象(表、索引等)備份等,放在不同的磁盤上。 第107頁/共127頁 對于經(jīng)常存取或存取時間要求高的對象對于經(jīng)常存取或存取時間要求高的對象( (表、索

49、表、索引等引等) )應(yīng)放在高速存儲設(shè)備(如硬盤)上。應(yīng)放在高速存儲設(shè)備(如硬盤)上。 對于存取頻率小或存取時間要求低的對于存取頻率小或存取時間要求低的對象對象( (數(shù)據(jù)庫的數(shù)據(jù)備份、日志文件備份等,只在數(shù)據(jù)庫的數(shù)據(jù)備份、日志文件備份等,只在數(shù)據(jù)庫發(fā)生故障進行恢復(fù)時才使用數(shù)據(jù)庫發(fā)生故障進行恢復(fù)時才使用) ),如果數(shù)據(jù)量,如果數(shù)據(jù)量很大,可以存放在低速存儲設(shè)備(如磁帶)上,很大,可以存放在低速存儲設(shè)備(如磁帶)上,以改進整個系統(tǒng)的性能。以改進整個系統(tǒng)的性能。第108頁/共127頁4系統(tǒng)配置的設(shè)計 DBMS產(chǎn)品一般都提供了一些系統(tǒng)配置變量、存儲分配參數(shù),供設(shè)計人員和DBA對數(shù)據(jù)庫進行物理優(yōu)化。 系統(tǒng)

50、配置變量和參數(shù)很多 ,在物理設(shè)計時要根據(jù)應(yīng)用環(huán)境確定這些參數(shù)值,以期其實改進系統(tǒng)性能。 第109頁/共127頁8.5.2 8.5.2 評價物理結(jié)構(gòu)評價物理結(jié)構(gòu) 評價物理數(shù)據(jù)庫的方法完全依賴于所選用的DBMS,主要是從定量估算各種方案的存儲空間、存取時間和維護代價入手,對估算結(jié)果進行權(quán)衡、比較,選擇出一個較優(yōu)的合理的物理結(jié)構(gòu)。如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計。 第110頁/共127頁8.68.6數(shù)據(jù)庫實施數(shù)據(jù)庫實施 完成數(shù)據(jù)庫的物理設(shè)計之后,設(shè)計人員就要用RDBMS提供的數(shù)據(jù)定義語言將數(shù)據(jù)庫邏輯設(shè)計和物理設(shè)計的結(jié)果嚴(yán)格描述出來,成為RDBMS可以接受的源代碼,再經(jīng)過調(diào)試產(chǎn)生目標(biāo)模式,然后

51、就可以組織數(shù)據(jù)入庫了,這就是數(shù)據(jù)庫實施階段。 第111頁/共127頁運行運行維護維護階段階段數(shù)據(jù)庫實施階段數(shù)據(jù)庫實施階段數(shù)據(jù)庫實施階段數(shù)據(jù)庫實施階段物理物理設(shè)計設(shè)計階段階段定義數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)裝載數(shù)據(jù)庫系統(tǒng)物理模型編寫應(yīng)用程序數(shù)據(jù)庫試運行第112頁/共127頁8.6.1 8.6.1 建立實際數(shù)據(jù)庫結(jié)構(gòu)建立實際數(shù)據(jù)庫結(jié)構(gòu) DBMS提供的數(shù)據(jù)定義語言(DDL)可以定義數(shù)據(jù)庫結(jié)構(gòu)??墒褂玫?章所講的SQL定義語句中的CREATE TABLE語句定義所需的基本表,使用CREATE VIEW語句定義視圖。第113頁/共127頁8.6.2 8.6.2 裝入數(shù)據(jù) 裝入數(shù)據(jù)又稱為數(shù)據(jù)庫加載(Loading),是數(shù)據(jù)庫實施階段的主要工作。 對于一般的小型系統(tǒng),裝入的數(shù)據(jù)量較少,可以采用人工方法來完成。 為了防止不正確的數(shù)據(jù)輸入到數(shù)據(jù)庫內(nèi),應(yīng)當(dāng)采用多種方法多次對數(shù)據(jù)進行校驗。 第114頁/共127頁8.6.3 8.6.3 應(yīng)用程序編碼與調(diào)試 數(shù)據(jù)庫應(yīng)用程序的設(shè)計屬于一般的程序設(shè)計范疇,但數(shù)據(jù)庫應(yīng)用程序有自己的一些特點。 例如,大量使用屏幕顯示控制語句、形式多樣的輸出報表、重視數(shù)據(jù)的有效性和完整性檢查、有靈活的交互功能。 為了加快應(yīng)用系統(tǒng)的開發(fā)速度,一般選擇第四代語言開發(fā)環(huán)境。 例如,目前普遍使用的PowerBuilder、Delphi以及由北京航空航天大學(xué)研制的863CMS支持的數(shù)據(jù)庫開

溫馨提示

  • 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

提交評論