數(shù)據(jù)庫系統(tǒng)概論:chp7 數(shù)據(jù)庫設(shè)計(jì)_第1頁
數(shù)據(jù)庫系統(tǒng)概論:chp7 數(shù)據(jù)庫設(shè)計(jì)_第2頁
數(shù)據(jù)庫系統(tǒng)概論:chp7 數(shù)據(jù)庫設(shè)計(jì)_第3頁
數(shù)據(jù)庫系統(tǒng)概論:chp7 數(shù)據(jù)庫設(shè)計(jì)_第4頁
數(shù)據(jù)庫系統(tǒng)概論:chp7 數(shù)據(jù)庫設(shè)計(jì)_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫系統(tǒng)概論An Introduction to Database System第七章 數(shù)據(jù)庫設(shè)計(jì)1數(shù)據(jù)庫在信息系統(tǒng)中的地位作業(yè)層管理層決策層信息收集系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)決策支持系統(tǒng)原始信息數(shù)據(jù)決策信息形式化歸納信息系統(tǒng)數(shù)據(jù)庫已成為現(xiàn)代信息系統(tǒng)的核心和基礎(chǔ)部分2數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)(Database Design),是指在給定的或待定的軟硬件環(huán)境下,針對實(shí)際的應(yīng)用問題和用戶需求,設(shè)計(jì)合適的數(shù)據(jù)模型,建立起滿足用戶需求、能被具體DBMS接受、能在其上開發(fā)所需應(yīng)用系統(tǒng)、能實(shí)現(xiàn)系統(tǒng)目標(biāo)的數(shù)據(jù)庫結(jié)構(gòu)。數(shù)據(jù)庫設(shè)計(jì)的基本任務(wù)是根據(jù)用戶的信息需求、處理需求和數(shù)據(jù)庫的支持環(huán)境(包括硬件、操作系統(tǒng)和DBMS)

2、,設(shè)計(jì)出數(shù)據(jù)庫模式(包括外模式、邏輯模式和內(nèi)模式),及其典型的應(yīng)用程序。3數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)設(shè)計(jì),按照DBS的組成,包括: 1. 人員:DBA、SA、DB設(shè)計(jì)員、程序員、用戶 - 決定 2. 硬件:根據(jù)應(yīng)用需求決定配置 - 購買 3. 軟件:OS、DBMS、語言編譯系統(tǒng) - 購買 數(shù)據(jù)庫應(yīng)用程序 - 設(shè)計(jì)開發(fā) 4. 數(shù)據(jù)庫DB:數(shù)據(jù)庫模式(結(jié)構(gòu)) - 設(shè)計(jì) 4數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)DBS設(shè)計(jì) = DB結(jié)構(gòu)設(shè)計(jì) +DB應(yīng)用程序設(shè)計(jì)本章從軟件工程的角度來剖析數(shù)據(jù)庫設(shè)計(jì)的全過程,主要介紹目前最常用的和比較成熟的E-R模型方法。著重于數(shù)據(jù)的結(jié)構(gòu)特性的設(shè)計(jì) - 數(shù)據(jù)庫模式的設(shè)計(jì)。第6章中已經(jīng)介紹了數(shù)據(jù)庫模

3、式設(shè)計(jì)的原則和理論基礎(chǔ),本章繼續(xù)介紹設(shè)計(jì)過程和方法。數(shù)據(jù)的結(jié)構(gòu)特性的設(shè)計(jì) - 某數(shù)據(jù)模型的DB模式(結(jié)構(gòu)、框架)的設(shè)計(jì)數(shù)據(jù)的行為特性的設(shè)計(jì) - 應(yīng)用程序、事務(wù)處理、功能的設(shè)計(jì)5內(nèi)容7.1 數(shù)據(jù)庫設(shè)計(jì)概述數(shù)據(jù)庫設(shè)計(jì)的全過程;各階段的任務(wù)、工作步驟7.2 需求分析需求分析的任務(wù)和方法7.3 概念結(jié)構(gòu)設(shè)計(jì)概念設(shè)計(jì)的重要性;E-R模型的設(shè)計(jì)方法7.4 邏輯結(jié)構(gòu)設(shè)計(jì)E-R模型向關(guān)系模型的轉(zhuǎn)換7.5 數(shù)據(jù)庫的物理設(shè)計(jì)物理設(shè)計(jì)的目標(biāo)和性能7.6 數(shù)據(jù)庫的實(shí)施和維護(hù)實(shí)施階段的主要工作; 運(yùn)行維護(hù)階段的主要工作6 要求掌握DBD的概念、DBD的主要內(nèi)容和特點(diǎn)DBD各階段的任務(wù)和工作步驟DBD中概念結(jié)構(gòu)設(shè)計(jì)的重要

4、性概念模型(E-R模型)的設(shè)計(jì)方法關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì)的方法和步驟E-R模型向關(guān)系模型的轉(zhuǎn)換了解理解物理設(shè)計(jì)的性能及其表示數(shù)據(jù)庫實(shí)施、運(yùn)行維護(hù)的主要工作77.1 數(shù)據(jù)庫設(shè)計(jì)概述7.1.1 數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)7.1.2 數(shù)據(jù)庫設(shè)計(jì)方法7.1.3 數(shù)據(jù)庫設(shè)計(jì)的基本步驟7.1.4 數(shù)據(jù)庫設(shè)計(jì)過程中的各級模式87.1.1 數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)數(shù)據(jù)庫建設(shè)的基本規(guī)律三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù) 結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì)和行為(處理)設(shè)計(jì)相結(jié)合 分離進(jìn)行,互相參照,結(jié)合設(shè)計(jì),是一種反復(fù)探尋、逐步完善的過程。9數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)(續(xù))現(xiàn)實(shí)世界概念模型設(shè)計(jì)子模式設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)建立數(shù)據(jù)庫數(shù)據(jù)分析功能分析功能

5、模型功能說明事務(wù)設(shè)計(jì)程序說明應(yīng)用程序設(shè)計(jì)程序編碼調(diào)試結(jié)構(gòu)和行為的設(shè)計(jì)互相參照,結(jié)合設(shè)計(jì),是一種反復(fù)探尋、逐步完善的過程。107.1.2 數(shù)據(jù)庫設(shè)計(jì)方法 手工與經(jīng)驗(yàn)相結(jié)合方法 設(shè)計(jì)質(zhì)量與設(shè)計(jì)人員的經(jīng)驗(yàn)和水平有直接關(guān)系數(shù)據(jù)庫運(yùn)行一段時間后,常常不同程度地發(fā)現(xiàn)各種問題,增加了維護(hù)代價規(guī)范設(shè)計(jì)法基本思想:過程迭代和逐步求精DBD是一項(xiàng)涉及多學(xué)科的綜合性技術(shù) 1. 數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設(shè)計(jì)技術(shù)2. 計(jì)算機(jī)科學(xué)的基礎(chǔ)知識3. 程序設(shè)計(jì)的方法和技巧4. 軟件工程的原理和方法5. 應(yīng)用領(lǐng)域的知識11數(shù)據(jù)庫設(shè)計(jì)方法(續(xù))新奧爾良(New Orleans)方法將數(shù)據(jù)庫設(shè)計(jì)分為若干階段和步驟 基于E-R模型的數(shù)

6、據(jù)庫設(shè)計(jì)方法概念設(shè)計(jì)階段廣泛采用3NF(第三范式)的設(shè)計(jì)方法邏輯階段可采用的有效方法 ODL(Object Definition Language)方法面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計(jì)方法12數(shù)據(jù)庫設(shè)計(jì)方法(續(xù))計(jì)算機(jī)輔助設(shè)計(jì)ORACLE Designer 2000SYBASE PowerDesigner137.1 數(shù)據(jù)庫設(shè)計(jì)概述7.1.1 數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)7.1.2 數(shù)據(jù)庫設(shè)計(jì)方法7.1.3 數(shù)據(jù)庫設(shè)計(jì)的基本步驟7.1.4 數(shù)據(jù)庫設(shè)計(jì)過程中的各級模式14一、數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作選定參加設(shè)計(jì)的人1.系統(tǒng)分析人員、數(shù)據(jù)庫設(shè)計(jì)人員 自始至終參與數(shù)據(jù)庫設(shè)計(jì)2. 用戶和數(shù)據(jù)庫管理員 主要參加需求分析和數(shù)據(jù)庫的運(yùn)行

7、維護(hù)3.應(yīng)用開發(fā)人員(程序員和操作員) 在系統(tǒng)實(shí)施階段參與進(jìn)來,負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境 157.1.3 數(shù)據(jù)庫設(shè)計(jì)基本步驟DBAS主要是一個軟件系統(tǒng),因此軟件工程的思想、方法、工具也同樣適用于DBAS的開發(fā)和建設(shè)。軟件工程中,軟件生存期(軟件從定義、開發(fā)、運(yùn)行維護(hù),直到停止使用的整個時期)包括:需求分析軟件設(shè)計(jì)程序編碼軟件測試軟件維護(hù)結(jié)構(gòu)設(shè)計(jì)(總體/概要)過程設(shè)計(jì)(詳細(xì)/模塊)DB設(shè)計(jì)也大致對應(yīng)這個過程,數(shù)據(jù)庫的規(guī)范設(shè)計(jì)法就是比照軟件開發(fā)過程,提出各種設(shè)計(jì)準(zhǔn)則和規(guī)程,方法及步驟的。16數(shù)據(jù)庫的規(guī)范設(shè)計(jì)方法規(guī)范設(shè)計(jì)法把DBS的設(shè)計(jì)分為6個階段,稱為DBS生存期 參見P201.P203.1.

8、 需求分析:分析用戶需求2. 概念設(shè)計(jì):信息分析和定義,建立概念模型3. 邏輯設(shè)計(jì):設(shè)計(jì)實(shí)現(xiàn),得到DBMS的數(shù)據(jù)模型4. 物理設(shè)計(jì):為邏輯模型選取合適的物理結(jié)構(gòu)5. 數(shù)據(jù)庫實(shí)施:按設(shè)計(jì)將數(shù)據(jù)裝入數(shù)據(jù)庫6. 數(shù)據(jù)庫運(yùn)行和維護(hù):規(guī)范設(shè)計(jì)法從本質(zhì)上看,仍然是手工設(shè)計(jì)方法,其基本思想是過程迭代和逐步求精。177.1.4 數(shù)據(jù)庫設(shè)計(jì)的基本步驟分析用戶需求(數(shù)據(jù)和操作),最基礎(chǔ)而困難的一步信息分析和定義,建立概念模型,最關(guān)鍵的一步,E-R模型設(shè)計(jì)實(shí)現(xiàn), 將概念模型轉(zhuǎn)換為某個特定的DBMS支持的數(shù)據(jù)模型需求分析概念數(shù)據(jù)庫設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫實(shí)施數(shù)據(jù)庫運(yùn)行和維護(hù)按照規(guī)范設(shè)計(jì)法,數(shù)據(jù)庫設(shè)計(jì)劃分

9、為6個階段為邏輯模型選取合適的物理結(jié)構(gòu)建立數(shù)據(jù)庫,編制調(diào)試應(yīng)用程序,試運(yùn)行 數(shù)據(jù)庫正式運(yùn)行, 不斷修改完善不斷反復(fù)18數(shù)據(jù)庫設(shè)計(jì)的基本步驟(續(xù)) 設(shè)計(jì)一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng),往往是上述六個階段的不斷反復(fù) 把數(shù)據(jù)庫設(shè)計(jì)和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計(jì),緊密結(jié)合起來將這兩個方面的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)在各個階段同時進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計(jì)19數(shù)據(jù)庫設(shè)計(jì)各個階段的設(shè)計(jì)描述207.1 數(shù)據(jù)庫設(shè)計(jì)概述7.1.1 數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)7.1.2 數(shù)據(jù)庫設(shè)計(jì)方法7.1.3 數(shù)據(jù)庫設(shè)計(jì)的基本步驟7.1.4 數(shù)據(jù)庫設(shè)計(jì)過程中的各級模式21不同階段的DB結(jié)構(gòu)設(shè)計(jì)形成DB各級模式參見P205 數(shù)據(jù)需

10、求應(yīng)用1應(yīng)用2數(shù)據(jù)需求應(yīng)用3數(shù)據(jù)需求邏輯模式轉(zhuǎn)換內(nèi)模式映像概念模式綜合外模式外模式外模式應(yīng)用1應(yīng)用3應(yīng)用2映像需求分析 數(shù)據(jù)要求概念設(shè)計(jì)E-R圖描述, 獨(dú)立于機(jī)器和具體DBMS邏輯設(shè)計(jì)需DBMS支持設(shè)計(jì)模式, 外模式(視圖)物理設(shè)計(jì)據(jù)DBMS特點(diǎn),處理需要,確定存儲安排,索引22第七章 數(shù)據(jù)庫設(shè)計(jì)7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.2 需求分析需求分析的任務(wù)和方法7.3 概念結(jié)構(gòu)設(shè)計(jì)7.4 邏輯結(jié)構(gòu)設(shè)計(jì)7.5 數(shù)據(jù)庫的物理設(shè)計(jì)7.6 數(shù)據(jù)庫實(shí)施和維護(hù)7.7 小結(jié)237.2 需求分析7.2.1 需求分析的任務(wù)調(diào)查理解、分析綜合、描述表達(dá)7.2.2 需求分析的方法如何調(diào)查、如何分析、如何表達(dá)結(jié)構(gòu)化分析法(S

11、A法)數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)7.2.3 數(shù)據(jù)字典247.2.1 需求分析的任務(wù)需求分析:就是分析用戶的要求。用戶要求:重點(diǎn)是“數(shù)據(jù)”和“處理”兩個方面。數(shù)據(jù)(信息)要求:用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容和性質(zhì),即數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。處理要求:處理功能、響應(yīng)時間、處理方式。安全性和完整性要求:用戶權(quán)限、事務(wù)處理規(guī)則、規(guī)章制度。25需求分析的任務(wù)、步驟需求分析的任務(wù):由數(shù)據(jù)庫設(shè)計(jì)人員和用戶雙方,共同收集信息需求和處理需求;通過仔細(xì)分析;將這些需求按一定的規(guī)范要求,以用戶和設(shè)計(jì)人員都能理解接受的文檔形式確定下來。需求分析的三個步驟: 需求調(diào)查: 收集需求信息, 調(diào)查清楚用戶的實(shí)際

12、要求, 與用戶達(dá)成共識。 分析、整理和表達(dá)這些需求信息,形成需求說明書(例如,包括DFD和DD等)。 評審:由主管部門和專家評價、審批。26需求調(diào)查的內(nèi)容現(xiàn)狀 現(xiàn)狀, 問題,哪些業(yè)務(wù)適合計(jì)算機(jī)管理,新系統(tǒng)要求 引入計(jì)算機(jī)管理后的業(yè)務(wù)模式、管理模式 功能、性能外部要求:調(diào)查數(shù)據(jù)處理的響應(yīng)時間、頻度和如何發(fā)生的規(guī)則,以及經(jīng)濟(jì)效益的要求,安全性和完整性的要求。 27需求調(diào)查的方式 (1) 跟班作業(yè): 親自參加業(yè)務(wù)工作, 需求準(zhǔn)確, 費(fèi)時 (2) 開調(diào)查會: 座談, 可以互相啟發(fā) (3) 請專人介紹, 個別交談, 詢問 (4) 設(shè)計(jì)調(diào)查表請用戶填寫 (5) 查閱記錄: 現(xiàn)行系統(tǒng)的業(yè)務(wù)記錄, 票據(jù), 報

13、表等28分析整理在調(diào)查研究的同時,著手分析整理用戶需求。(1) 業(yè)務(wù)流程分析和表示目的是獲得業(yè)務(wù)流程及業(yè)務(wù)與數(shù)據(jù)聯(lián)系的形式描述。采用數(shù)據(jù)流層次結(jié)構(gòu)分析法(SA法)。分析結(jié)果以數(shù)據(jù)流圖(data flow diagram, DFD圖)表示, 再輔以數(shù)據(jù)字典(DD)作補(bǔ)充描述。DFD是一種自頂向下、逐步細(xì)化分析描述對象的工具(軟件工程中詳細(xì)介紹)。(2) 需求信息的補(bǔ)充描述(3) 撰寫需求分析說明書29數(shù)據(jù)流圖DFD的基本元素?cái)?shù)據(jù)流(data flow):代表數(shù)據(jù)的流動方向,由一組固定成分的數(shù)據(jù)組成,處理/加工(process):描述了輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換,即將輸入數(shù)據(jù)流加工成輸出數(shù)據(jù)流數(shù)

14、據(jù)存數(shù)/文件(file):表示信息的靜態(tài)存儲,可以代表文件、文件的一部分、數(shù)據(jù)庫的元素等。源或宿(source or sink):代表系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)。 30示例:圖書訂購系統(tǒng)DFD圖書庫存入庫單圖書代理商書庫管理收費(fèi)制作財(cái)務(wù)報表財(cái)務(wù)報表經(jīng)理帳務(wù)數(shù)據(jù)庫制作發(fā)書單圖書訂購核準(zhǔn)的訂購單發(fā)書單訂購單顧客顧客收費(fèi)數(shù)據(jù)帳單31數(shù)據(jù)流圖的層次結(jié)構(gòu)體現(xiàn)了逐步求精327.3 概念結(jié)構(gòu)設(shè)計(jì)7.3.1 概念結(jié)構(gòu)概念結(jié)構(gòu), 特點(diǎn), 描述7.3.2 概念結(jié)構(gòu)設(shè)計(jì)的方法和步驟四種方法, 三個步驟 7.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計(jì)數(shù)據(jù)抽象, 設(shè)計(jì)各個局部應(yīng)用的分E-R圖7.3.4 視圖的集成將

15、各分E-R圖綜合集成為全局總的E-R圖全局總E-R圖的優(yōu)化337.3.1 概念結(jié)構(gòu)需求分析輸出系統(tǒng)的需求說明書DFD+DD概念結(jié)構(gòu)設(shè)計(jì)輸出E-R圖+DD分E-R圖初步E-R圖基本E-R圖抽象轉(zhuǎn)換概念結(jié)構(gòu) .信息世界的信息結(jié)構(gòu) - 用戶信息需求的抽象概念結(jié)構(gòu)設(shè)計(jì):將用戶需求抽象為信息結(jié)構(gòu)的過程34概念結(jié)構(gòu)的特點(diǎn)概念結(jié)構(gòu)的主要特點(diǎn)能真實(shí)地充分地反映現(xiàn)實(shí)世界的事物及其聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求易于理解易于更改易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它獨(dú)立于機(jī)器和DBMS,比數(shù)據(jù)模型更抽象、更穩(wěn)定描述概念模型的有力工具是E-R模型(E-R圖)357.3 概念結(jié)構(gòu)

16、設(shè)計(jì)7.3.1 概念結(jié)構(gòu)7.3.2 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟1. 自頂向下 2. 自底向上 3. 逐步擴(kuò)張 4. 混合策略 7.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計(jì)7.3.4 視圖的集成367.3.2 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟自頂向下 自底向上 逐步擴(kuò)張 混合策略 首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化自頂向下策略377.3.2 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟自頂向下 自底向上 逐步擴(kuò)張 混合策略 首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)自底向上策略38概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))自頂向下 自底向上 逐步擴(kuò)張 混合策略 首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方

17、式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)逐步擴(kuò)張策略39概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))自頂向下 自底向上 逐步擴(kuò)張 混合策略 將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計(jì)一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。40概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))常用策略自頂向下地進(jìn)行需求分析自底向上地設(shè)計(jì)概念結(jié)構(gòu)417.3 概念結(jié)構(gòu)設(shè)計(jì)7.3.1 概念結(jié)構(gòu)7.3.2 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟7.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計(jì)7.3.4 視圖的集成42數(shù)據(jù)抽象- 概念設(shè)計(jì)的第一步數(shù)據(jù)抽象:從現(xiàn)實(shí)世界的對象中抽取人們關(guān)心的特性,忽略非本質(zhì)的細(xì)節(jié),用各種概念精確地描述這些特性,組

18、成某種模型,這就是數(shù)據(jù)抽象。實(shí)體、屬性及實(shí)體聯(lián)系就是對現(xiàn)實(shí)世界的數(shù)據(jù)抽象, 但有些表達(dá)還不太精確,引入三種數(shù)據(jù)抽象,它們精確地描述現(xiàn)實(shí)世界的事物及其聯(lián)系。分類、聚集和概括43數(shù)據(jù)抽象(續(xù))三種常用抽象1. 分類(Classification)定義某一類概念作為現(xiàn)實(shí)世界中一組對象的類型抽象了對象值和型之間的“is member of”的語義44數(shù)據(jù)抽象(續(xù))2. 聚集(Aggregation)定義某一類型的組成成分抽象了對象內(nèi)部類型和成分之間“is part of”的語義45數(shù)據(jù)抽象(續(xù)) 復(fù)雜的聚集,某一類型的成分仍是一個聚集 更復(fù)雜的聚集 46數(shù)據(jù)抽象(續(xù))3. 概括/泛化(Generali

19、zation)定義類型之間的一種子集聯(lián)系抽象了類型之間的“is subset of”的語義繼承性 47局部視圖設(shè)計(jì)設(shè)計(jì)分E-R圖的步驟:1. 確定各分E-R圖的范圍(也稱選擇局部應(yīng)用)2. 定義實(shí)體型3. 定義聯(lián)系確定局部結(jié)構(gòu)范圍需求分析結(jié)果還有局部結(jié)構(gòu)待分析定義實(shí)體型定義聯(lián)系屬性分配有進(jìn)入總的初步E-R圖的設(shè)計(jì) 無48 選擇局部應(yīng)用在多層的數(shù)據(jù)流圖中,選擇一個適當(dāng)層次的數(shù)據(jù)流圖,作為設(shè)計(jì)分E-R圖的出發(fā)點(diǎn) 通常以中層數(shù)據(jù)流圖作為設(shè)計(jì)分E-R圖的依據(jù)49 逐一設(shè)計(jì)分E-R圖任務(wù)將各局部應(yīng)用涉及的數(shù)據(jù),分別從數(shù)據(jù)字典中抽取出來參照數(shù)據(jù)流圖,標(biāo)定各局部應(yīng)用中的實(shí)體、實(shí)體的屬性、標(biāo)識實(shí)體的碼確定實(shí)體

20、之間的聯(lián)系及其類型(1:1,1:n,m:n)兩條準(zhǔn)則:(1)屬性必須是不可分的數(shù)據(jù)項(xiàng),不能再由另一些屬性組成(2)屬性不能與其他實(shí)體具有聯(lián)系。聯(lián)系只發(fā)生在實(shí)體之間50逐一設(shè)計(jì)分E-R圖:實(shí)體or屬性屬性必須是不可分的數(shù)據(jù)項(xiàng)職稱作為一個實(shí)體51逐一設(shè)計(jì)分E-R圖:實(shí)體or屬性病房作為一個實(shí)體屬性不能與其他實(shí)體具有聯(lián)系52逐一設(shè)計(jì)分E-R圖:實(shí)體or屬性一種貨物只存在一個倉庫,則倉庫(號)作為貨物實(shí)體的屬性。如果一種貨物可以存放在多個倉庫,或者倉庫本身又用面積作為屬性,或者與職工發(fā)生管理上的聯(lián)系,那么就應(yīng)把倉庫作為一個實(shí)體。53逐一設(shè)計(jì)分E-R圖:定義聯(lián)系E-R圖中, “聯(lián)系”用于刻畫實(shí)體集之間的

21、關(guān)聯(lián)。聯(lián)系大致可以分為三種: 存在性聯(lián)系。如學(xué)校有教師, 教師教有學(xué)生, 等 功能性聯(lián)系。如教師授課, 教師參與管理學(xué)生, 等 事件聯(lián)系。如學(xué)生借書,學(xué)生打網(wǎng)球,等檢查兩(多)個實(shí)體集之間、實(shí)體集內(nèi)部是否具有聯(lián)系,確定聯(lián)系的類型(1:1, 1:n, m:n)。在定義實(shí)體間的聯(lián)系時要盡量消去冗余的聯(lián)系。為每一個聯(lián)系命名, 確定是否存在聯(lián)系的屬性。54實(shí)例銷售管理子系統(tǒng)分E-R圖的設(shè)計(jì)銷售管理子系統(tǒng)的主要功能:處理顧客和銷售員送來的訂單工廠是根據(jù)訂貨安排生產(chǎn)的交出貨物同時開出發(fā)票收到顧客付款后,根據(jù)發(fā)票存根和信貸情況進(jìn)行應(yīng)收款處理55頂層數(shù)據(jù)流圖應(yīng)收帳、訂單等訂單、結(jié)算生產(chǎn)部顧客銷售管理子系統(tǒng)主管

22、部門生產(chǎn)通知等56實(shí)例銷售管理子系統(tǒng)分E-R圖的設(shè)計(jì)下圖是第一層數(shù)據(jù)流圖,虛線部分劃出了系統(tǒng)邊界 圖7.18 銷售管理子系統(tǒng)第一層數(shù)據(jù)流圖 57實(shí)例銷售管理子系統(tǒng)分E-R圖的設(shè)計(jì)上圖中把系統(tǒng)功能又分為多個子系統(tǒng),下圖是第二層數(shù)據(jù)流圖 圖7.19 接收訂單 58實(shí)例銷售管理子系統(tǒng)分E-R圖的設(shè)計(jì)參照第二層數(shù)據(jù)流圖和數(shù)據(jù)字典,遵循前述兩個準(zhǔn)則,進(jìn)行如下調(diào)整:(1) 訂單與訂單細(xì)節(jié)是1n的聯(lián)系(2) 原訂單和產(chǎn)品的聯(lián)系實(shí)際上是訂單細(xì)節(jié)和產(chǎn)品的聯(lián)系。(3) 圖7.21中“發(fā)票主清單”是一個數(shù)據(jù)存儲,不必作為實(shí)體加入分E-R圖(4) 工廠對大宗訂貨給予優(yōu)惠59實(shí)例銷售管理子系統(tǒng)分E-R圖的設(shè)計(jì)分E-R圖

23、的框架 60實(shí)例銷售管理子系統(tǒng)分E-R圖的設(shè)計(jì)得到分E-R圖如下圖所示 銷售管理子系統(tǒng)的分E-R圖 61實(shí)例銷售管理子系統(tǒng)分E-R圖的設(shè)計(jì)對每個實(shí)體定義的屬性如下:顧客:顧客號,顧客名,地址,電話,信貸狀況,賬目余額訂單:訂單號,顧客號,訂貨項(xiàng)數(shù),訂貨日期,交貨日期,工種號,生產(chǎn)地點(diǎn)訂單細(xì)則:訂單號,細(xì)則號,零件號,訂貨數(shù),金額應(yīng)收賬款:顧客號,訂單號,發(fā)票號,應(yīng)收金額,支付日期,支付金額,當(dāng)前余額,貨款限額產(chǎn)品描述:產(chǎn)品號,產(chǎn)品名,單價,重量折扣規(guī)則:產(chǎn)品號,訂貨量,折扣627.3 概念結(jié)構(gòu)設(shè)計(jì)7.3.1 概念結(jié)構(gòu)7.3.2 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟7.3.3 數(shù)據(jù)抽象與局部視圖設(shè)計(jì)7.3.

24、4 視圖的集成637.3.4 視圖的集成視圖集成:將所有分E-R圖綜合成系統(tǒng)的總的初步E-R圖。兩種集成方式一次集成。 逐步集成,累加方式,一次集成兩個 - 常用。 兩個步驟 合并。解決各個分E-R圖之間的沖突,將各個E-R圖合并起來生成系統(tǒng)總的初步E-R圖。 優(yōu)化。對初步E-R圖進(jìn)行修改、重構(gòu)和優(yōu)化,消除不必要的冗余,生成系統(tǒng)總的基本E-R圖。64兩種集成方式一次集成逐步集成一次集成。 逐步集成,累加方式,一次集成兩個 - 常用65視圖的集成步驟 合并:解決各個分E-R圖之間的沖突。 優(yōu)化:修改、重構(gòu)和優(yōu)化,消除不必要的冗余。66合并合理消除各分E-R圖的沖突屬性沖突命名沖突同名異義、異名同

25、義(一義多名)結(jié)構(gòu)沖突同一對象在不同應(yīng)用中具有不同的抽象同一實(shí)體在不同分E-R圖中所包含的屬性個數(shù)和屬性排列次序不完全相同實(shí)體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類型屬性域沖突屬性值的類型取值范圍取值集合不同屬性取值單位沖突67消除冗余的方法分析方法以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù)根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項(xiàng)之間的邏輯關(guān)系檢查冗余數(shù)據(jù): Q3=Q1Q2 ; Q4=Q5消除冗余數(shù)據(jù)Q3和Q4,并且由于Q3消去,產(chǎn)品和材料之間的m:n的冗余聯(lián)系也應(yīng)消去68消除冗余的方法 效率VS冗余信息并不是所有的冗余數(shù)據(jù)與冗余聯(lián)系都必須加以消除,有時為了提高效率,不得不以冗余信息作為代價。需要根據(jù)用戶的整體需求來確定若人

26、為地保留了一些冗余數(shù)據(jù),則應(yīng)把數(shù)據(jù)字典中數(shù)據(jù)關(guān)聯(lián)的說明,作為完整性約束條件Q4=Q5一旦Q5修改后就應(yīng)當(dāng)觸發(fā)完整性檢查,對Q4進(jìn)行修改69消除冗余的方法規(guī)范化理論消除冗余1. 確定分E-R圖實(shí)體之間的數(shù)據(jù)依賴 ,可用實(shí)體碼之間的函數(shù)依賴表示。部門和職工之間一對多的聯(lián)系: 職工號部門號職工和產(chǎn)品之間多對多的聯(lián)系: (職工號,產(chǎn)品號)工作天數(shù) 得到函數(shù)依賴集FL2. 求FL的最小覆蓋GL ,差集為D = FL-GL。 逐一考察D中的函數(shù)依賴,確定是否是冗余的聯(lián)系,若是,就把它去掉。實(shí)體之間存在多種聯(lián)系時,要將實(shí)體之間的聯(lián)系在形式上加以區(qū)分70實(shí)例 某工廠管理信息系統(tǒng)的視圖集成P19 :圖1.14(

27、c)工廠物資管理E-R圖P219:圖7.24 銷售管理子系統(tǒng)的分E-R圖P223:圖7.29 勞動人事管理的分E-R圖71分E-R圖P19:圖1.14(c) 工廠物資管理E-R圖72分E-R圖圖7.24 銷售管理子系統(tǒng)的分E-R圖73分E-R圖圖7.29 勞動人事管理的分E-R圖74集成基本E-R圖 75集成過程,解決了以下問題: 異名同義,項(xiàng)目和產(chǎn)品含義相同庫存管理中職工與倉庫的工作關(guān)系,已包含在勞動人事管理的部門與職工之間的聯(lián)系之中,所以可以取消職工之間領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)關(guān)系,可由部門與職工(經(jīng)理)之間的領(lǐng)導(dǎo)關(guān)系、部門與職工之間的從屬關(guān)系兩者導(dǎo)出,取消76驗(yàn)證整體概念結(jié)構(gòu)確保它能夠滿足下列條件:

28、整體概念結(jié)構(gòu)內(nèi)部必須具有一致性,不存在互相矛盾的表達(dá)整體概念結(jié)構(gòu)能準(zhǔn)確地反映原來的每個視圖結(jié)構(gòu),包括屬性、實(shí)體及實(shí)體間的聯(lián)系整體概念結(jié)構(gòu)能滿足需要分析階段所確定的所有要求應(yīng)該提交給用戶,征求用戶和有關(guān)人員的意見,進(jìn)行評審、修改和優(yōu)化,然后把它確定下來,作為數(shù)據(jù)庫的概念結(jié)構(gòu),作為進(jìn)一步設(shè)計(jì)數(shù)據(jù)庫的依據(jù)。77概念結(jié)構(gòu)設(shè)計(jì)小結(jié)根據(jù)需求分析,抽象數(shù)據(jù)設(shè)計(jì)局部視圖確定實(shí)體與屬性確定實(shí)體之間的聯(lián)系集成局部視圖,得到全局概念結(jié)構(gòu)合并優(yōu)化驗(yàn)證整體概念結(jié)構(gòu)78第七章 數(shù)據(jù)庫設(shè)計(jì)7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.2 需求分析7.3 概念結(jié)構(gòu)設(shè)計(jì)7.4 邏輯結(jié)構(gòu)設(shè)計(jì)7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換7.4.2 數(shù)據(jù)模型的

29、優(yōu)化7.4.3 設(shè)計(jì)用戶子模式7.5 數(shù)據(jù)庫的物理設(shè)計(jì)7.6 數(shù)據(jù)庫的實(shí)施和維護(hù)7.7 小結(jié)797.4 邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖,轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計(jì)的步驟將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換對數(shù)據(jù)模型進(jìn)行優(yōu)化80 邏輯結(jié)構(gòu)設(shè)計(jì)(續(xù))邏輯結(jié)構(gòu)設(shè)計(jì)時的3個步驟 817.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖向關(guān)系模型的轉(zhuǎn)換要解決的問題 如何將實(shí)體型和實(shí)體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式如何確定這些關(guān)系模式的屬性和碼 一個實(shí)體型 轉(zhuǎn)化為 一個關(guān)系

30、模式;關(guān)系模式的屬性 = 實(shí)體型的屬性;每個聯(lián)系類型 轉(zhuǎn)化為 一個獨(dú)立的關(guān)系模式關(guān)系模式的屬性 = 與該聯(lián)系相連的各實(shí)體型的碼 + 該聯(lián)系自身的屬性例:選修(學(xué)號,課程號,成績)考慮優(yōu)化,聯(lián)系的轉(zhuǎn)換可根據(jù)不同情況作不同的處理82聯(lián)系的轉(zhuǎn)換:不同情況的處理(1)一個1:1聯(lián)系:轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式 與某一端實(shí)體對應(yīng)的關(guān)系模式合并例如:圖7.30中部門和職工的1:1的“領(lǐng)導(dǎo)”聯(lián)系: 部門(部門號, 部門名, 經(jīng)理的職工號, 電話) 職工(職工號,職工姓名,性別,職工任職的部門號)(2)一個1:n聯(lián)系: 轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式與n端對應(yīng)的關(guān)系模式合并圖7.30中部門和職工的1:n的“屬于”聯(lián)系

31、,可合并到職工關(guān)系模式: 職工(職工號, 職工姓名, 性別, 部門號)問:此職工關(guān)系模式中的“部門號”有什么作用?是什么碼?83聯(lián)系的轉(zhuǎn)換:不同情況的處理(3) 一個m:n聯(lián)系必須轉(zhuǎn)換為一個關(guān)系模式。例,“選修”聯(lián)系是一個m:n聯(lián)系,選修(學(xué)號,課程號,成績)(4)三個或以上實(shí)體間的多元聯(lián)系,轉(zhuǎn)換為一個關(guān)系模式。 例:供應(yīng)(供應(yīng)商號, 產(chǎn)品號, 零件號, 供應(yīng)量) 講授(課程號,職工號,書號)(5)具有相同碼的關(guān)系模式可合并減少系統(tǒng)中的關(guān)系個數(shù)合并方法:取屬性的并集847.4 邏輯結(jié)構(gòu)設(shè)計(jì)7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換7.4.2 數(shù)據(jù)模型的優(yōu)化7.4.3 設(shè)計(jì)用戶子模式857.4.2 數(shù)

32、據(jù)模型的優(yōu)化數(shù)據(jù)庫邏輯設(shè)計(jì)的結(jié)果不是唯一的。得到初步數(shù)據(jù)模型后,還應(yīng)該適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進(jìn)一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,這就是數(shù)據(jù)模型的優(yōu)化。關(guān)系數(shù)據(jù)模型的優(yōu)化,通常以規(guī)范化理論為指導(dǎo)規(guī)范化過程分兩步:1) 確定規(guī)范化級別2) 實(shí)施規(guī)范化分解86優(yōu)化數(shù)據(jù)模型的方法確定數(shù)據(jù)依賴按需求分析階段所得到的語義,分別寫出每個關(guān)系模式內(nèi)部,各屬性之間的數(shù)據(jù)依賴,以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴對數(shù)據(jù)依賴進(jìn)行極小化處理,消除 冗余的聯(lián)系。確定所屬范式按照需求的要求,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,是否要對它們進(jìn)行合并或分解。對關(guān)系模式進(jìn)行必要的分解,以提高數(shù)據(jù)操作的效率和存儲空間的利

33、用率水平分解 : 行/元組分為若干子集合垂直分解: 列/屬性分為若干子集合877.4 邏輯結(jié)構(gòu)設(shè)計(jì)7.4.1 E-R圖向關(guān)系模型的轉(zhuǎn)換7.4.2 數(shù)據(jù)模型的優(yōu)化7.4.3 設(shè)計(jì)用戶子模式887.4.3 設(shè)計(jì)用戶子模式根據(jù)局部應(yīng)用的需求, 結(jié)合具體DBMS的特點(diǎn), 設(shè)計(jì)用戶的外(子)模式 。利用視圖(View)功能設(shè)計(jì)。定義用戶外模式時注重考慮用戶的習(xí)慣和方便:(1) 使用更符合用戶習(xí)慣的別名。(2) 對不同級別的用戶定義不同的View, 以保證系統(tǒng)的安全性。(3) 簡化用戶對系統(tǒng)的使用。89邏輯結(jié)構(gòu)設(shè)計(jì)小結(jié)E-R圖向關(guān)系模型的轉(zhuǎn)換原則優(yōu)化數(shù)據(jù)模型的方法 1. 確定數(shù)據(jù)依賴 2. 對于各個關(guān)系模

34、式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。 3. 確定各關(guān)系模式分別屬于第幾范式。 4. 分析對于應(yīng)用環(huán)境這些模式是否合適,確定是否要對它們進(jìn)行合并或分解。 5. 對關(guān)系模式進(jìn)行必要的分解或合并設(shè)計(jì)用戶子模式90第七章 數(shù)據(jù)庫設(shè)計(jì)7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.2 需求分析7.3 概念結(jié)構(gòu)設(shè)計(jì)7.4 邏輯結(jié)構(gòu)設(shè)計(jì)7.5 數(shù)據(jù)庫的物理設(shè)計(jì)7.6 數(shù)據(jù)庫的實(shí)施和維護(hù)7.7 小結(jié)917.5 數(shù)據(jù)庫的物理設(shè)計(jì)數(shù)據(jù)庫的物理結(jié)構(gòu): 數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)和存取方法。數(shù)據(jù)庫的物理設(shè)計(jì): 為一個給定的邏輯數(shù)據(jù)模型,選取一個最適合應(yīng)用要求的物理結(jié)構(gòu)的過程。這也是物理設(shè)計(jì)的目標(biāo)。物理設(shè)計(jì)的步驟:(1) 確定

35、數(shù)據(jù)庫的物理結(jié)構(gòu), 在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu)。(2) 對物理結(jié)構(gòu)進(jìn)行評價, 評價的重點(diǎn)是時間和空間效率。92物理設(shè)計(jì)的步驟數(shù)據(jù)庫物理設(shè)計(jì)確定數(shù)據(jù)庫的物理結(jié)構(gòu)評價數(shù)據(jù)庫的物理結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫實(shí)施物理模型邏輯模型937.5 數(shù)據(jù)庫的物理設(shè)計(jì)7.5.1 數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容和方法7.5.2 關(guān)系模式存取方法選擇7.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.4 評價物理結(jié)構(gòu)947.5.1數(shù)據(jù)庫的物理設(shè)計(jì)的內(nèi)容和方法關(guān)系數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容為關(guān)系模式選擇存取方法(建立存取路徑) 設(shè)計(jì)關(guān)系、索引、日志、備份等數(shù)據(jù)庫文件的物理存儲結(jié)構(gòu)957.5.1 數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容和方法設(shè)計(jì)物理數(shù)據(jù)庫結(jié)構(gòu)

36、的準(zhǔn)備工作對要運(yùn)行的事務(wù)進(jìn)行詳細(xì)分析,獲得選擇物理數(shù)據(jù)庫設(shè)計(jì)所需參數(shù)充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲結(jié)構(gòu)967.5.1 數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容和方法沒有通用的物理設(shè)計(jì)的方法, 只給出一般的設(shè)計(jì)內(nèi)容和設(shè)計(jì)原則。設(shè)計(jì)前的準(zhǔn)備工作1.要充分了解應(yīng)用環(huán)境,詳細(xì)分析要運(yùn)行的事務(wù)。以獲得選擇物理數(shù)據(jù)庫設(shè)計(jì)所需要的參數(shù)。分析數(shù)據(jù)庫查詢事務(wù)需要的信息、數(shù)據(jù)更新事務(wù)需要的信息、每個事務(wù)在各關(guān)系上運(yùn)行的頻率和性能要求等。2. 要充分了解所用的 DBMS的內(nèi)部特征, 特別是系統(tǒng)提供的存取方法和存儲結(jié)構(gòu)。97數(shù)據(jù)庫物理設(shè)計(jì)所需參數(shù) 數(shù)據(jù)庫查詢事務(wù)查詢的關(guān)系查詢條件所涉及的屬性連接條件所涉

37、及的屬性查詢的投影屬性數(shù)據(jù)更新事務(wù)被更新的關(guān)系每個關(guān)系上的更新操作條件所涉及的屬性 修改操作要改變的屬性值 每個事務(wù)在各關(guān)系上運(yùn)行的頻率和性能要求987.5 數(shù)據(jù)庫的物理設(shè)計(jì)7.5.1 數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容和方法7.5.2 關(guān)系模式存取方法選擇索引方法聚簇(Cluster)方法HASH方法7.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.4 評價物理結(jié)構(gòu)99索引存取方法的選擇選擇索引存取方法 就是根據(jù)應(yīng)用要求確定:對哪些屬性列建立索引?建立組合索引、唯一索引?選擇索引存取方法的一般規(guī)則經(jīng)常在查詢條件中出現(xiàn),經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù)常在連接操作的連接條件中出現(xiàn)索引的額外開銷 維護(hù)索引的開銷

38、查找索引的開銷100二、聚簇存取方法的選擇聚簇為了提高某個屬性(或?qū)傩越M)的查詢速度,把這個或這些屬性(稱為聚簇碼)上,具有相同值的元組,集中存放在連續(xù)的物理塊稱為聚簇優(yōu)點(diǎn):1. 大大提高按聚簇碼進(jìn)行查詢的效率2. 節(jié)省存儲空間缺點(diǎn):聚簇只能提高某些特定應(yīng)用的性能建立與維護(hù)聚簇的開銷相當(dāng)大101聚簇存取方法的選擇1. 對經(jīng)常在一起進(jìn)行連接操作的關(guān)系,可以建立組合聚簇;2. 如果一個關(guān)系的一組屬性,經(jīng)常出現(xiàn)在相等比較條件中,則該單個關(guān)系可建立聚簇;3. 如果一個關(guān)系的一個(或一組)屬性上的值重復(fù)率很高,則此單個關(guān)系可建立聚簇。即對應(yīng)每個聚簇碼值的平均元組數(shù)不是太少。太少了,聚簇的效果不明顯。10

39、2三、HASH存取方法的選擇選擇HASH存取方法的規(guī)則該關(guān)系的屬性,主要出現(xiàn)在等值連接條件中,或主要出現(xiàn)在相等比較選擇條件中該關(guān)系的大小可預(yù)知,而且不變; 或 該關(guān)系的大小動態(tài)改變,但所選用的DBMS提供了動態(tài)HASH存取方法1037.5 數(shù)據(jù)庫的物理設(shè)計(jì)7.5.1 數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容和方法7.5.2 關(guān)系模式存取方法選擇索引方法聚簇(Cluster)方法HASH方法7.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)7.5.4 評價物理結(jié)構(gòu)1047.5.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)1. 確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu)。確定關(guān)系(表)、索引、聚簇、日志、備份等數(shù)據(jù)的存儲安排和存儲結(jié)構(gòu)2. 確定系統(tǒng)配置。DBMS提供有

40、一些系統(tǒng)配置變量、存儲分配參數(shù),供設(shè)計(jì)人員和DBA對數(shù)據(jù)庫進(jìn)行物理優(yōu)化。1051. 確定數(shù)據(jù)的存放位置影響數(shù)據(jù)存放位置和存儲結(jié)構(gòu)的因素:硬件環(huán)境應(yīng)用需求要綜合考慮 : 存取時間、 存儲空間利用率、 維護(hù)代價這三個方面常常是相互矛盾的,需權(quán)衡折中。比如:消除一切冗余數(shù)據(jù),雖能夠節(jié)約存儲空間和減少維護(hù)代價,但往往會導(dǎo)致檢索代價的增加。106確定數(shù)據(jù)的存放位置的原則基本原則是根據(jù)應(yīng)用情況將:易變部分與穩(wěn)定部分,存取頻率較高部分與存取頻率較低部分分開存放??梢詫⑷罩疚募c數(shù)據(jù)庫對象(表、索引等)放在不同的磁盤以改進(jìn)系統(tǒng)的性能??梢詫⒈容^大的表分別放在兩個磁盤上,以加快存取速度,這在多用戶環(huán)境下特別有效

41、。數(shù)據(jù)庫數(shù)據(jù)備份、日志文件備份等由于只在故障恢復(fù)時才使用,而且數(shù)據(jù)量很大,可以考慮存放在磁帶上。1072. 確定系統(tǒng)配置DBMS產(chǎn)品一般都提供了一些存儲分配參數(shù) 同時使用數(shù)據(jù)庫的用戶數(shù) 同時打開的數(shù)據(jù)庫對象數(shù) 內(nèi)存分配參數(shù) 使用的緩沖區(qū)長度、個數(shù) 存儲分配參數(shù) .系統(tǒng)為這些變量都賦予了合理的缺省值。但是這些值不一定適合每一種應(yīng)用環(huán)境,在進(jìn)行物理設(shè)計(jì)時,需要根據(jù)應(yīng)用環(huán)境確定這些參數(shù)值,以使系統(tǒng)性能最優(yōu)。1087.5.4 評價物理結(jié)構(gòu)設(shè)計(jì)過程中產(chǎn)生的多種方案,進(jìn)行評價,從中選擇一個較優(yōu)的方案定量估算各種方案 存儲空間 存取時間 維護(hù)代價對估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個較優(yōu)的合理的物理結(jié)構(gòu)如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計(jì)109回顧數(shù)據(jù)需求應(yīng)用1應(yīng)用2數(shù)據(jù)需求應(yīng)用3數(shù)據(jù)需求邏輯模式轉(zhuǎn)換內(nèi)模式映像概念模式綜合外模式外模式外模式應(yīng)用1應(yīng)用3應(yīng)用2映像需求分析 數(shù)據(jù)要求概念設(shè)計(jì)E-R圖描述, 獨(dú)立于機(jī)器和具體DBMS邏輯設(shè)計(jì)需DBMS支持設(shè)計(jì)模式, 外模式(視圖)物理設(shè)計(jì)據(jù)DBMS特點(diǎn),處理需要,確定存儲安排,索引110第七章 數(shù)據(jù)庫設(shè)計(jì)7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.2 需求分析7.3

溫馨提示

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

最新文檔

評論

0/150

提交評論