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

下載本文檔

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

文檔簡介

AnIntroductiontoDatabaseSystem數(shù)據(jù)庫系統(tǒng)原理AnIntroductiontoDatabaseSystem第七章數(shù)據(jù)庫設計AnIntroductiontoDatabaseSystem第七章數(shù)據(jù)庫設計7.1數(shù)據(jù)庫設計概述7.2需求分析7.3概念結構設計7.4邏輯結構設計7.5數(shù)據(jù)庫的物理設計7.6數(shù)據(jù)庫實施7.7數(shù)據(jù)庫運行與維護7.8小結AnIntroductiontoDatabaseSystem數(shù)據(jù)庫設計概述(續(xù))什么是數(shù)據(jù)庫設計數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應用需求(信息要求和處理要求)在數(shù)據(jù)庫領域內,常常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫應用系統(tǒng)。AnIntroductiontoDatabaseSystem7.1.1數(shù)據(jù)庫和信息系統(tǒng)數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來提供存儲、維護、檢索數(shù)據(jù)的功能使信息系統(tǒng)可以方便、及時、準確地從數(shù)據(jù)庫中獲得所需的信息數(shù)據(jù)庫是信息系統(tǒng)的各個部分能否緊密地結合在一起以及如何結合的關鍵所在數(shù)據(jù)庫設計是信息系統(tǒng)開發(fā)和建設的重要組成部分AnIntroductiontoDatabaseSystem數(shù)據(jù)庫設計人員應該具備的技術和知識數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設計技術計算機科學的基礎知識和程序設計的方法和技巧軟件工程的原理和方法應用領域的知識AnIntroductiontoDatabaseSystem數(shù)據(jù)庫設計的基本步驟(續(xù))二、數(shù)據(jù)庫設計的過程(六個階段)

⒈需求分析階段準確了解與分析用戶需求(包括數(shù)據(jù)與處理)是整個設計過程的基礎,是最困難、最耗費時間的一步AnIntroductiontoDatabaseSystem數(shù)據(jù)庫設計的基本步驟(續(xù))

⒉概念結構設計階段是整個數(shù)據(jù)庫設計的關鍵通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型AnIntroductiontoDatabaseSystem數(shù)據(jù)庫設計的基本步驟(續(xù))

⒊邏輯結構設計階段將概念結構轉換為某個DBMS所支持的數(shù)據(jù)模型對其進行優(yōu)化AnIntroductiontoDatabaseSystem數(shù)據(jù)庫設計的基本步驟(續(xù))

⒋數(shù)據(jù)庫物理設計階段為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結構(包括存儲結構和存取方法)AnIntroductiontoDatabaseSystem數(shù)據(jù)庫設計的基本步驟(續(xù))

⒌數(shù)據(jù)庫實施階段運用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設計和物理設計的結果建立數(shù)據(jù)庫編制與調試應用程序組織數(shù)據(jù)入庫并進行試運行AnIntroductiontoDatabaseSystem數(shù)據(jù)庫設計的基本步驟(續(xù))

⒍數(shù)據(jù)庫運行和維護階段數(shù)據(jù)庫應用系統(tǒng)經(jīng)過試運行后即可投入正式運行。在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進行評價、調整與修改。需求搜集和分析設計概念結構設計邏輯結構數(shù)據(jù)模型優(yōu)化設計物理結構評價設計、性能預測使用、維護數(shù)據(jù)庫物理實現(xiàn)試運行需求分析階段概念設計階段邏輯設計階段物理設計階段數(shù)據(jù)庫實施階段數(shù)據(jù)庫運行維護階段AnIntroductiontoDatabaseSystem數(shù)據(jù)庫各級模式的形成過程應用需求應用1應用需求應用2應用需求應用3應用需求應用4邏輯模式內模式綜合概念模式轉換映像映像外模式應用1外模式應用2外模式應用3外模式應用4AnIntroductiontoDatabaseSystem數(shù)據(jù)庫設計的基本步驟(續(xù))邏輯設計階段首先將E-R圖轉換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關系模型,形成數(shù)據(jù)庫邏輯模式然后根據(jù)用戶處理的要求、安全性的考慮,在基本表的基礎上再建立必要的視圖(View),形成數(shù)據(jù)的外模式AnIntroductiontoDatabaseSystem數(shù)據(jù)庫設計的基本步驟(續(xù))物理設計階段根據(jù)DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成數(shù)據(jù)庫內模式AnIntroductiontoDatabaseSystem第七章數(shù)據(jù)庫設計7.1數(shù)據(jù)庫設計概述7.2需求分析7.3概念結構設計7.4邏輯結構設計7.5數(shù)據(jù)庫的物理設計7.6數(shù)據(jù)庫實施7.7數(shù)據(jù)庫運行與維護7.8小結7.3.2概念結構設計的方法與步驟設計概念結構的四類方法自頂向下首先定義全局概念結構的框架,然后逐步細化自底向上首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構概念結構設計的方法與步驟(續(xù))逐步擴張首先定義最重要的核心概念結構,然后向外擴充,以滾雪球的方式逐步生成其他概念結構,直至總體概念結構混合策略將自頂向下和自底向上相結合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。概念結構設計的方法與步驟(續(xù))

自頂向下策略概念結構設計的方法與步驟(續(xù))

自底向上策略概念結構設計的方法與步驟(續(xù))

逐步擴張概念結構設計的方法與步驟(續(xù))常用策略自頂向下地進行需求分析自底向上地設計概念結構需求概念模式1.1概念模式1.2概念模式n.1概念模式n.2概念模式1概念模式n…需求1需求n…需求1.1需求1.2需求n.1需求n.2全局概念模式概念結構設計的方法與步驟(續(xù))自底向上設計概念結構的步驟第1步:抽象數(shù)據(jù)并設計局部視圖第2步:集成局部視圖,得到全局概念結構需求分析DFDDD數(shù)據(jù)抽象、局部視圖的設計分E-R圖視圖集成總E-R圖邏輯結構設計征求用戶意見直到滿意為止7.3.3數(shù)據(jù)抽象與局部視圖設計數(shù)據(jù)抽象局部視圖設計一、數(shù)據(jù)抽象概念結構是對現(xiàn)實世界的一種抽象從實際的人、物、事和概念中抽取所關心的共同特性,忽略非本質的細節(jié)把這些特性用各種概念精確地加以描述這些概念組成了某種模型數(shù)據(jù)抽象(續(xù))數(shù)據(jù)抽象的用途對需求分析階段收集到的數(shù)據(jù)進行分類、組織(聚集),形成實體實體的屬性,標識實體的碼確定實體之間的聯(lián)系類型(1:1,1:n,m:n)一、合并分E-R圖,生成初步E-R圖各分E-R圖存在沖突各個局部應用所面向的問題不同由不同的設計人員進行設計

各個分E-R圖之間必定會存在許多不一致的地方合并分E-R圖的主要工作與關鍵所在:合理消除各分E-R圖的沖突合并分E-R圖,生成初步E-R圖(續(xù))沖突的種類屬性沖突命名沖突結構沖突AnIntroductiontoDatabaseSystem第七章數(shù)據(jù)庫設計7.1數(shù)據(jù)庫設計概述7.2需求分析7.3概念結構設計7.4邏輯結構設計7.5數(shù)據(jù)庫的物理設計7.6數(shù)據(jù)庫實施7.7數(shù)據(jù)庫運行與維護7.8小結AnIntroductiontoDatabaseSystem邏輯結構設計邏輯結構設計具體過程轉化為一般數(shù)據(jù)模型轉化為特定DBMS支持下的據(jù)模型

優(yōu)化模型概念結構設計數(shù)據(jù)庫物理設計基本E-R圖特定DBMS的特點與限制優(yōu)化方法如規(guī)范化理論邏輯模型轉換規(guī)則AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))轉換內容E-R圖由實體、實體的屬性和實體之間的聯(lián)系三個要素組成關系模型的邏輯結構是一組關系模式的集合將E-R圖轉換為關系模型:將實體、實體的屬性和實體之間的聯(lián)系轉化為關系模式。AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))轉換原則⒈一個實體型轉換為一個關系模式。關系的屬性:實體型的屬性關系的碼:實體型的碼例,有一個學生實體AnIntroductiontoDatabaseSystem

學生

學號出生日期年級所在系平均成績姓名學生實體可以轉換為如下關系模式:學生(學號,姓名,出生日期,所在系,年級,平均成績)AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))⒉一個m:n聯(lián)系轉換為一個關系模式。關系的屬性:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性關系的碼:各實體碼的組合 例,“選修”聯(lián)系是一個m:n聯(lián)系,它的E-R圖為:AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))課程選修學生mn成績AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))

按照上面規(guī)則可以將它轉換為如下關系模式,其中學號與課程號為關系的組合碼:選修(學號,課程號,成績)AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))⒊一個1:n聯(lián)系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。1)轉換為一個獨立的關系模式關系的屬性:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性關系的碼:

n端實體的碼AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))⒊一個1:n聯(lián)系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。2)與n端對應的關系模式合并合并后關系的屬性:在n端關系中加入1端關系的碼和聯(lián)系本身的屬性合并后關系的碼:不變可以減少系統(tǒng)中的關系個數(shù),一般情況下更傾向于采用這種方法AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))班級組成學生1nAnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))例,“組成”聯(lián)系為1:n聯(lián)系。 將其轉換為關系模式的兩種方法:

1)使其成為一個獨立的關系模式:

2)將其學生關系模式合并:

組成(學號,班級號)學生(學號,姓名,出生日期,所在系,年級,班級號,平均成績)AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))⒋一個1:1聯(lián)系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。1)轉換為一個獨立的關系模式關系的屬性:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性關系的候選碼:每個實體的碼均是該關系的候選碼AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))⒋一個1:1聯(lián)系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。2)與某一端對應的關系模式合并合并后關系的屬性:加入對應關系的碼和聯(lián)系本身的屬性合并后關系的碼:不變AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))班級管理教師11AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))例,“管理”聯(lián)系為1:1聯(lián)系,可以有三種轉換方法:(1)轉換為一個獨立的關系模式:管理(職工號,班級號)或管理(職工號,班級號)AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))例,“管理”聯(lián)系為1:1聯(lián)系,可以有三種轉換方法:(2)“管理”聯(lián)系與班級關系模式合并,則只需在班級關系中加入教師關系的碼,即職工號:班級:(班級號,學生人數(shù),職工號)AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))例,“管理”聯(lián)系為1:1聯(lián)系,可以有三種轉換方法:(3)“管理”聯(lián)系與教師關系模式合并,則只需在教師關系中加入班級關系的碼,即班級號:教師:(職工號,姓名,性別,職稱,班級號,是否為優(yōu)秀班主任)AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))注意:從理論上講,1:1聯(lián)系可以與任意一端對應的關系模式合并。但在一些情況下,與不同的關系模式合并效率會大不一樣。因此究竟應該與哪端的關系模式合并需要依應用的具體情況而定。由于連接操作是最費時的操作,所以一般應以盡量減少連接操作為目標。例如,如果經(jīng)常要查詢某個班級的班主任姓名,則將管理聯(lián)系與教師關系合并更好些。AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))⒌三個或三個以上實體間的一個多元聯(lián)系轉換為一個關系模式。關系的屬性:與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性關系的碼:各實體碼的組合 例,“講授”聯(lián)系是一個三元聯(lián)系AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))課程教師1m參考書n課時講授AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))“講授”聯(lián)系是一個三元聯(lián)系,可以將它轉換為如下關系模式,其中課程號、職工號和書號為關系的組合碼:講授(課程號,職工號,書號,課時)AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))⒍同一實體集的實體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理。 例,如果教師實體集內部存在領導與被領導的1:n自聯(lián)系AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))職工領導1nAnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))

教師實體集內部存在領導與被領導的1:n自聯(lián)系,我們可以將該聯(lián)系與教師實體合并,這時主碼職工號將多次出現(xiàn),但作用不同,可用不同的屬性名加以區(qū)分:教師:{職工號,姓名,性別,職稱,系主任職工號}AnIntroductiontoDatabaseSystemE-R圖向關系模型的轉換(續(xù))⒎具有相同碼的關系模式可合并。目的:減少系統(tǒng)中的關系個數(shù)。合并方法:將其中一個關系模式的全部屬性加入到另一個關系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當調整屬性的次序。第七章數(shù)據(jù)庫設計7.1數(shù)據(jù)庫設計概述7.2需求分析7.3概念結構設計7.4邏輯結構設計7.5數(shù)據(jù)庫的物理設計7.6數(shù)據(jù)庫實施7.7數(shù)據(jù)庫運行與維護7.8小結7.5數(shù)據(jù)庫的物理設計什么是數(shù)據(jù)庫的物理設計數(shù)據(jù)庫在物理設備上的存儲結構與存取方法稱為數(shù)據(jù)庫的物理結構,它依賴于給定的計算機系統(tǒng)。為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結構的過程,就是數(shù)據(jù)庫的物理設計。7.5數(shù)據(jù)庫的物理設計數(shù)據(jù)庫物理設計的步驟確定數(shù)據(jù)庫的物理結構對物理結構進行評價,評價的重點是時間和空間效率如果評價結果滿足原設計要求則可進入到物理實施階段,否則,就需要重新設計或修改物理結構,有時甚至要返回邏輯設計階段修改數(shù)據(jù)模型。物理設計過程

數(shù)據(jù)庫物理設計確定數(shù)據(jù)庫的物理結構評價數(shù)據(jù)庫的物理結構邏輯結構設計數(shù)據(jù)庫實施物理模型邏輯模型7.5.2關系模式存取方法選擇數(shù)據(jù)庫系統(tǒng)是多用戶共享的系統(tǒng),對同一個關系要建立多條存取路徑才能滿足多用戶的多種應用要求。物理設計的第一個任務就是要確定選擇哪些存取方法,即建立哪些存取路徑。關系模式存取方法選擇(續(xù))DBMS常用存取方法索引方法,目前主要是B+樹索引方法聚簇(Cluster)方法HASH方法一、索引存取方法的選擇選擇索引存取方法的主要內容

根據(jù)應用要求確定對哪些屬性列建立索引對哪些屬性列建立組合索引對哪些索引要設計為唯一索引索引存取方法的選擇(續(xù))選擇索引存取方法的一般規(guī)則如果一個(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(或這組)屬性上建立索引(或組合索引)如果一個屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引如果一個(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(或這組)屬性上建立索引索引存取方法的選擇(續(xù))關系上定義的索引數(shù)過多會帶來較多的額外開銷維護索引的開銷查找索引的開銷建立聚簇索引聚簇索引建立聚簇索引后,基表中數(shù)據(jù)也需要按指定的聚簇屬性值的升序或降序存放。也即聚簇索引的索引項順序與表中元組的物理順序一致。例:CREATECLUSTERINDEXStusnameONStudent(Sname);在Student表的Sname(姓名)列上建立一個聚簇索引,而且Student表中的記錄將按照Sname值的升序存放建立聚簇索引在一個基本表上最多只能建立一個聚簇索引聚簇索引的用途:對于某些類型的查詢,可以提高查詢效率聚簇索引的適用范圍

很少對基表進行增刪操作很少對其中的變長列進行修改操作第七章數(shù)據(jù)庫設計7.1數(shù)據(jù)庫設計

溫馨提示

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

評論

0/150

提交評論