第七章 數據庫設計—概念、邏輯、物理_第1頁
第七章 數據庫設計—概念、邏輯、物理_第2頁
第七章 數據庫設計—概念、邏輯、物理_第3頁
第七章 數據庫設計—概念、邏輯、物理_第4頁
第七章 數據庫設計—概念、邏輯、物理_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

.,AnIntroductiontoDatabaseSystem,數據庫系統原理AnIntroductiontoDatabaseSystem第七章數據庫設計,.,AnIntroductiontoDatabaseSystem,第七章數據庫設計,7.1數據庫設計概述7.2需求分析7.3概念結構設計7.4邏輯結構設計7.5數據庫的物理設計7.6數據庫實施7.7數據庫運行與維護7.8小結,.,AnIntroductiontoDatabaseSystem,數據庫設計概述(續(xù)),什么是數據庫設計數據庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數據庫模式,建立數據庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息要求和處理要求)在數據庫領域內,常常把使用數據庫的各類系統統稱為數據庫應用系統。,.,AnIntroductiontoDatabaseSystem,7.1.1數據庫和信息系統,數據庫是信息系統的核心和基礎把信息系統中大量的數據按一定的模型組織起來提供存儲、維護、檢索數據的功能使信息系統可以方便、及時、準確地從數據庫中獲得所需的信息數據庫是信息系統的各個部分能否緊密地結合在一起以及如何結合的關鍵所在數據庫設計是信息系統開發(fā)和建設的重要組成部分,.,AnIntroductiontoDatabaseSystem,數據庫設計人員應該具備的技術和知識,數據庫的基本知識和數據庫設計技術計算機科學的基礎知識和程序設計的方法和技巧軟件工程的原理和方法應用領域的知識,.,AnIntroductiontoDatabaseSystem,數據庫設計的基本步驟(續(xù)),二、數據庫設計的過程(六個階段)需求分析階段準確了解與分析用戶需求(包括數據與處理)是整個設計過程的基礎,是最困難、最耗費時間的一步,.,AnIntroductiontoDatabaseSystem,數據庫設計的基本步驟(續(xù)),概念結構設計階段是整個數據庫設計的關鍵通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,.,AnIntroductiontoDatabaseSystem,數據庫設計的基本步驟(續(xù)),邏輯結構設計階段將概念結構轉換為某個DBMS所支持的數據模型對其進行優(yōu)化,.,AnIntroductiontoDatabaseSystem,數據庫設計的基本步驟(續(xù)),數據庫物理設計階段為邏輯數據模型選取一個最適合應用環(huán)境的物理結構(包括存儲結構和存取方法),.,AnIntroductiontoDatabaseSystem,數據庫設計的基本步驟(續(xù)),數據庫實施階段運用DBMS提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果建立數據庫編制與調試應用程序組織數據入庫并進行試運行,.,AnIntroductiontoDatabaseSystem,數據庫設計的基本步驟(續(xù)),數據庫運行和維護階段數據庫應用系統經過試運行后即可投入正式運行。在數據庫系統運行過程中必須不斷地對其進行評價、調整與修改。,.,AnIntroductiontoDatabaseSystem,數據庫各級模式的形成過程,邏輯模式,內模式,.,AnIntroductiontoDatabaseSystem,數據庫設計的基本步驟(續(xù)),邏輯設計階段首先將E-R圖轉換成具體的數據庫產品支持的數據模型,如關系模型,形成數據庫邏輯模式然后根據用戶處理的要求、安全性的考慮,在基本表的基礎上再建立必要的視圖(View),形成數據的外模式,.,AnIntroductiontoDatabaseSystem,數據庫設計的基本步驟(續(xù)),物理設計階段根據DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成數據庫內模式,.,AnIntroductiontoDatabaseSystem,第七章數據庫設計,7.1數據庫設計概述7.2需求分析7.3概念結構設計7.4邏輯結構設計7.5數據庫的物理設計7.6數據庫實施7.7數據庫運行與維護7.8小結,.,7.3.2概念結構設計的方法與步驟,設計概念結構的四類方法自頂向下首先定義全局概念結構的框架,然后逐步細化自底向上首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構,.,概念結構設計的方法與步驟(續(xù)),逐步擴張首先定義最重要的核心概念結構,然后向外擴充,以滾雪球的方式逐步生成其他概念結構,直至總體概念結構混合策略將自頂向下和自底向上相結合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。,.,概念結構設計的方法與步驟(續(xù)),自頂向下策略,.,概念結構設計的方法與步驟(續(xù)),自底向上策略,.,概念結構設計的方法與步驟(續(xù)),逐步擴張,.,概念結構設計的方法與步驟(續(xù)),常用策略自頂向下地進行需求分析自底向上地設計概念結構,需求,全局概念模式,.,概念結構設計的方法與步驟(續(xù)),自底向上設計概念結構的步驟第1步:抽象數據并設計局部視圖第2步:集成局部視圖,得到全局概念結構,.,需求分析,DFDDD,數據抽象、局部視圖的設計,分E-R圖,視圖集成,總E-R圖,邏輯結構設計,.,7.3.3數據抽象與局部視圖設計,數據抽象局部視圖設計,.,一、數據抽象,概念結構是對現實世界的一種抽象從實際的人、物、事和概念中抽取所關心的共同特性,忽略非本質的細節(jié)把這些特性用各種概念精確地加以描述這些概念組成了某種模型,.,數據抽象(續(xù)),數據抽象的用途對需求分析階段收集到的數據進行分類、組織(聚集),形成實體實體的屬性,標識實體的碼確定實體之間的聯系類型(1:1,1:n,m:n),.,一、合并分E-R圖,生成初步E-R圖,各分圖存在沖突各個局部應用所面向的問題不同由不同的設計人員進行設計,各個分E-R圖之間必定會存在許多不一致的地方合并分E-R圖的主要工作與關鍵所在:合理消除各分E-R圖的沖突,.,合并分E-R圖,生成初步E-R圖(續(xù)),沖突的種類屬性沖突命名沖突結構沖突,.,AnIntroductiontoDatabaseSystem,第七章數據庫設計,7.1數據庫設計概述7.2需求分析7.3概念結構設計7.4邏輯結構設計7.5數據庫的物理設計7.6數據庫實施7.7數據庫運行與維護7.8小結,.,AnIntroductiontoDatabaseSystem,邏輯結構設計,邏輯結構設計具體過程,轉化為一般數據模型,轉化為特定DBMS支持下的據模型,優(yōu)化模型,概念結構設計,數據庫物理設計,基本E-R圖,邏輯模型,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),轉換內容E-R圖由實體、實體的屬性和實體之間的聯系三個要素組成關系模型的邏輯結構是一組關系模式的集合將E-R圖轉換為關系模型:將實體、實體的屬性和實體之間的聯系轉化為關系模式。,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),轉換原則一個實體型轉換為一個關系模式。關系的屬性:實體型的屬性關系的碼:實體型的碼例,有一個學生實體,.,AnIntroductiontoDatabaseSystem,學生實體可以轉換為如下關系模式:學生(學號,姓名,出生日期,所在系,年級,平均成績),.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),一個m:n聯系轉換為一個關系模式。關系的屬性:與該聯系相連的各實體的碼以及聯系本身的屬性關系的碼:各實體碼的組合例,“選修”聯系是一個m:n聯系,它的E-R圖為:,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),按照上面規(guī)則可以將它轉換為如下關系模式,其中學號與課程號為關系的組合碼:,選修(學號,課程號,成績),.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。1)轉換為一個獨立的關系模式關系的屬性:與該聯系相連的各實體的碼以及聯系本身的屬性關系的碼:n端實體的碼,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。2)與n端對應的關系模式合并合并后關系的屬性:在n端關系中加入1端關系的碼和聯系本身的屬性合并后關系的碼:不變可以減少系統中的關系個數,一般情況下更傾向于采用這種方法,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),班級,組成,學生,1,n,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),例,“組成”聯系為1:n聯系。將其轉換為關系模式的兩種方法:1)使其成為一個獨立的關系模式:2)將其學生關系模式合并:,組成(學號,班級號),學生(學號,姓名,出生日期,所在系,年級,班級號,平均成績),.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。1)轉換為一個獨立的關系模式關系的屬性:與該聯系相連的各實體的碼以及聯系本身的屬性關系的候選碼:每個實體的碼均是該關系的候選碼,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。2)與某一端對應的關系模式合并合并后關系的屬性:加入對應關系的碼和聯系本身的屬性合并后關系的碼:不變,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),班級,管理,教師,1,1,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),例,“管理”聯系為1:1聯系,可以有三種轉換方法:(1)轉換為一個獨立的關系模式:,管理(職工號,班級號)或管理(職工號,班級號),.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),例,“管理”聯系為1:1聯系,可以有三種轉換方法:(2)“管理”聯系與班級關系模式合并,則只需在班級關系中加入教師關系的碼,即職工號:,班級:(班級號,學生人數,職工號),.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),例,“管理”聯系為1:1聯系,可以有三種轉換方法:(3)“管理”聯系與教師關系模式合并,則只需在教師關系中加入班級關系的碼,即班級號:,教師:(職工號,姓名,性別,職稱,班級號,是否為優(yōu)秀班主任),.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),注意:從理論上講,1:1聯系可以與任意一端對應的關系模式合并。但在一些情況下,與不同的關系模式合并效率會大不一樣。因此究竟應該與哪端的關系模式合并需要依應用的具體情況而定。由于連接操作是最費時的操作,所以一般應以盡量減少連接操作為目標。例如,如果經常要查詢某個班級的班主任姓名,則將管理聯系與教師關系合并更好些。,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),三個或三個以上實體間的一個多元聯系轉換為一個關系模式。關系的屬性:與該多元聯系相連的各實體的碼以及聯系本身的屬性關系的碼:各實體碼的組合例,“講授”聯系是一個三元聯系,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),課程,教師,1,m,參考書,n,課時,講授,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),“講授”聯系是一個三元聯系,可以將它轉換為如下關系模式,其中課程號、職工號和書號為關系的組合碼:講授(課程號,職工號,書號,課時),.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),同一實體集的實體間的聯系,即自聯系,也可按上述1:1、1:n和m:n三種情況分別處理。例,如果教師實體集內部存在領導與被領導的1:n自聯系,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),職工,領導,1,n,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),教師實體集內部存在領導與被領導的1:n自聯系,我們可以將該聯系與教師實體合并,這時主碼職工號將多次出現,但作用不同,可用不同的屬性名加以區(qū)分:教師:職工號,姓名,性別,職稱,系主任職工號,.,AnIntroductiontoDatabaseSystem,E-R圖向關系模型的轉換(續(xù)),具有相同碼的關系模式可合并。目的:減少系統中的關系個數。合并方法:將其中一個關系模式的全部屬性加入到另一個關系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當調整屬性的次序。,.,第七章數據庫設計,7.1數據庫設計概述7.2需求分析7.3概念結構設計7.4邏輯結構設計7.5數據庫的物理設計7.6數據庫實施7.7數據庫運行與維護7.8小結,.,7.5數據庫的物理設計,什么是數據庫的物理設計數據庫在物理設備上的存儲結構與存取方法稱為數據庫的物理結構,它依賴于給定的計算機系統。為一個給定的邏輯數據模型選取一個最適合應用環(huán)境的物理結構的過程,就是數據庫的物理設計。,.,7.5數據庫的物理設計,數據庫物理設計的步驟確定數據庫的物理結構對物理結構進行評價,評價的重點是時間和空間效率如果評價結果滿足原設計要求則可進入到物理實施階段,否則,就需要重新設計或修改物理結構,有時甚至要返回邏輯設計階段修改數據模型。,.,物理設計過程,數據庫物理設計,確定數據庫的物理結構,評價數據庫的物理結構,邏輯結構設計,數據庫實施,物理模型,邏輯模型,.,7.5.2關系模式存取方法選擇,數據庫系統是多用戶共享的系統,對同一個關系要建立多條存取路徑才能滿足多用戶的多種應用要求。物理設計的第一個任務就是要確定選擇哪些存取方法,即建立哪些存取路徑。,.,關系模式存取方法選擇(續(xù)),DBMS常用存取方法索引方法,目前主要是B+樹索引方法聚簇(Cluster)方法HASH方法,.,一、索引存取方法的選擇,選擇索引存取方法的主要內容根據應用要求確定對哪些屬性列建立索引對哪些屬性列建立組合索引對哪些索引要設計為唯一索引,.,索引存取方法的選擇(續(xù)),選擇索引存取方法的一般規(guī)則如果一個(或一組)屬性經常在查詢條件中出現,則考慮在這個(或這組)屬性上建立索引(或組合索引)如果一個屬性經常作為最大值和最小值等聚集函數的參數,則考慮在這個屬性上建立索引如果一個(或一組)屬性經常在連接操作的連接條件中出現,則考慮在這個(或這組)屬性上建立索引,.,索引存取方法的選擇(續(xù)),關系上定義的索引數過多會帶來較多的額外開銷維護索引的開銷查找索引的開銷,.,建立聚簇索引,聚簇索引建立聚簇索引后,基表中數據也需要按指定的聚簇屬性值的升序或降序存放。也即聚簇索引的索引項順序與表中元組的物理順序一致。例:CREATECLUSTERINDEXStusnameONStudent(Sname);在Student表的Sname(姓名)列上建立一個聚簇索引,而且Student表中的記錄將按照Sname值的升序存放,.,建立聚簇索引,在一個基本表上最多只能建立一個聚簇索引聚簇索引的用途:對于某些類型的查詢,可以提高查詢效率聚簇索引的適用范圍很少對基表進行增刪操作很少對其中的變長列進行修改操作,.,第七章數據庫設計,7.1數據庫設計概述7.2需求分析7.3概念結構設計7

溫馨提示

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

評論

0/150

提交評論