第9章 數據庫設計_第1頁
第9章 數據庫設計_第2頁
第9章 數據庫設計_第3頁
第9章 數據庫設計_第4頁
第9章 數據庫設計_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數據庫原理與應用高等院校計算機教材系列第9章數據庫設計9.1數據庫設計概述9.2數據庫需求分析9.3數據庫結構設計9.4數據庫行為設計9.5數據庫的實施和維護9.1數據庫設計概述9.1.1數據庫設計的特點9.1.2數據庫設計方法概述9.1.3數據庫設計的基本步驟

數據庫設計面臨的主要問題同時具備數據庫與應用業(yè)務知識的人很少。應用業(yè)務的數據庫系統的目標是什么在一開始往往不能很明確。缺乏完善的設計工具和設計方法。用戶的要求往往并不是一開始就能完全說清楚。應用業(yè)務系統千差萬別,很難找到一種適合所有應用業(yè)務的工具和方法。成功的數據庫系統應具備的特點功能強大。能準確地表示業(yè)務數據。容易使用和維護。對最終用戶操作的響應時間合理。便于數據庫結構的改進。便于數據的檢索和修改。較少的數據庫維護工作。有效的安全機制能確保數據安全。冗余數據最少或不存在。便于數據的備份和恢復。數據庫結構對最終用戶透明。

9.1.1數據庫設計的特點(1)綜合性

涉及面廣,需包含計算機專業(yè)知識及業(yè)務系統專業(yè)知識;要解決技術及非技術兩方面的問題;(2)靜態(tài)結構設計與動態(tài)行為設計是分離的

靜態(tài)結構設計是指數據庫的模式框架設計(包括語義結構(概念)、數據結構(邏輯)、存儲結構(物理));動態(tài)行為設計是指應用程序設計(動作操縱:功能組織、流程控制)結構和行為設計相互分離

部門數據分析功能分析概念模型設計邏輯模型設計物理數據庫設計加載數據庫功能模型功能說明事務設計程序設計調試運行9.1.2數據庫設計方法概述

新奧爾良(NewOrleans)方法

需求說明需求分析概念結構概念結構設計邏輯結構邏輯結構設計物理結構結構物理設計數據庫設計方法從本質上看仍然是手工設計方法,其基本思想是過程迭代和逐步求精。

9.1.3數據庫設計的基本步驟需求分析概念結構設計邏輯結構設計物理設計數據庫實施數據庫運行和維護9.2數據庫需求分析

分析用戶的要求;是數據庫設計的起點;其結果將直接影響到后面各階段的設計;并影響到最終的數據庫系統能否被合理地使用。

9.2.1需求分析的任務

信息需求。處理需求。安全性與完整性要求。數據存儲數據源數據輸出處理9.2.2需求調查需求調查:調研現行系統的業(yè)務活動規(guī)則,提取描述系統業(yè)務的RS模型。系統調查通常包括三方面內容:業(yè)務現狀信息資源外部要求調查方式:①檢查文檔

②面談③觀察操作中的業(yè)務④研究和問卷調查

9.3數據庫結構設計

數據庫設計分為:數據庫結構設計和數據庫行為設計。結構設計包括設計數據庫的概念結構、邏輯結構和存儲結構。行為設計包括設計數據庫的功能組織和流程控制。

9.3.1概念結構設計

著重信息結構的設計;是整個數據庫系統設計的關鍵;獨立于邏輯結構設計;獨立于DBMS。

概念模型的特點

有豐富的語義表達能力。

易于交流和理解。

易于更改。易于向各種數據模型轉換。概念結構設計的策略

自底向上。先定義局部應用的概念結構,然后按一定的規(guī)則把它們集成起來,從而得到全局概念模型。自頂向下:先定義全局概念模型,然后再逐步細化。由里向外:先定義最重要的核心結構,然后再逐步向外擴展?;旌喜呗?。將自頂向下和自底向上結合起來使用。

采用E-R模型方法的概念結構設計

設計局部E-R模型E-R模型的設計內容包括確定局部E-R模型的范圍、定義實體、聯系以及它們的屬性。設計全局E-R模型將所有局部E-R圖集成為一個全局E-R圖,即全局E-R模型。優(yōu)化全局E-R模型設計局部E-R模型

概念結構是對現實世界的一種抽象。所謂抽象是對實際的人、物、事和概念進行人為處理,抽取所關心的共同特性,忽略非本質細節(jié),并把這些特性用各種概念準確的加以描述。一般有三種抽象方法:

分類概括聚集分類學生張三李四王五…classIsamumberof概括學生本科生研究生超類子類Isasubsetof聚集學生…實體型屬性學號姓名性別Isapartof設計全局E-R模型

將局部E-R圖集成為全局E-R圖;需消除各分E-R圖合并時產生的沖突;解決沖突是合并E-R圖的主要工作和關鍵所在。沖突主要有三類:屬性沖突:屬性域沖突、屬性取值單位沖突命名沖突:同名異義和異名同義

結構沖突:同一對象在不同應用中具有不同的抽象、同一實體在不同的局部E-R圖中所包含的屬性個數和屬性的排列次序不完全相同。

優(yōu)化全局E-R模型

實體個數盡可能少;實體所包含的屬性盡可能少;實體間聯系無冗余。局部ER圖nm產品產品號性能參數零件零件號價格組成零件個數nm材料材料號材料類型產品零件號規(guī)格使用使用量庫存量合并示例nnm產品產品號性能參數零件零件號規(guī)格組成零件個數價格使用使用量材料號材料類型庫存量材料9.3.2邏輯結構設計

步驟:將概念模型轉換為某種組織層數據模型;對數據模型進行優(yōu)化。E-R模型向關系模型的轉換

一個實體轉換為一個關系模式。實體的屬性就是關系的屬性,實體的標識符就是關系的碼。對于實體間的聯系有以下不同的情況:一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端所對應的關系模式合并。一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端所對應的關系模式合并。一個m:n聯系轉換為一個關系模式。

三個或三個以上實體間的一個多元聯系可以轉換為一個關系模式。

具有相同碼的關系模式可以合并。

1:1轉換示例部門表(部門號,部門名,經理號)經理表(經理號,經理名,電話)或者:部門表(部門號,部門名)經理表(經理號,部門號,經理名,電話)11經理部門管理部門名部門號經理號經理名電話1:n轉換示例部門表(部門號,部門名)職工表(職工號,部門號,職工名,工資)

n1職工部門工作部門名部門號職工號職工名工資m:n轉換示例教師表(教師號,教師名,職稱)課程表(課程號,課程名,學分)授課表(教師號,課程號,授課時數)nm課程教師授課教師名教師號課程號課程名學分職稱授課時數

數據模型的優(yōu)化

關系數據模型的優(yōu)化通常以規(guī)范化理論為指導,并考慮系統的性能。具體方法為:確定各屬性間的數據依賴。消除冗余的聯系。確定最合適的范式。確定是否要對某些模式進行分解或合并。對關系模式進行必要的分解,以提高數據的操作效率和存儲空間的利用率。

水平分解以時間、空間、類型等范疇屬性取值為條件,滿足相同條件的數據行為一個子表。分解的依據一般以范疇屬性取值范圍劃分數據行。這樣在操作同表數據時,時空范圍相對集中,便于管理。

K#A1…AmK#A1…AmK#A1…Am垂直分解以非主屬性所描述的應用對象生命歷程的先后為條件,對應相同歷程的屬性為一個子表。分解的依據是將非主屬性按其數據生成的時間段劃分,描述相同時間段的屬性劃分在一個組中。使操作同表數據時時空范圍相對集中,便于管理。K#A11…A1mA21…A2nK#A11…A1mK#A21…A2n

設計外模式

將概念模型轉換為邏輯數據模型之后,還應該根據局部應用需求,并結合具體的數據庫管理系統的特點,設計用戶的外模式。外模式概念對應關系數據庫的視圖概念,設計外模式是為了更好地滿足局部用戶的需求。定義數據庫的模式主要是從系統的時間效率、空間效率、易維護等角度出發(fā)。定義外模式考慮事項使用更符合用戶習慣的別名。對不同級別的用戶定義不同的視圖,以保證數據的安全。簡化用戶對系統的使用。

9.3.3物理結構設計

對已確定的邏輯數據結構,利用DBMS提供的方法、技術,以較優(yōu)的存儲結構、數據存取路徑、合理的數據存儲位置以及存儲分配,設計出一個高效的、可實現的物理數據庫結構。

數據庫的物理設計通常分為兩步:確定數據庫的物理結構;對物理結構進行時間和空間效率的評價。物理結構設計的內容和方法

對于數據查詢,需要得到如下信息:查詢所涉及的關系;查詢條件所涉及的屬性;連接條件所涉及的屬性;查詢列表中涉及的屬性。對于更新數據的事務,需要得到如下信息:更新所涉及的關系;每個關系上的更新條件所涉及的屬性;更新操作所涉及的屬性。

確定存取方法

一般用戶可以通過建立索引的方法來加快數據的查詢效率。

建立索引的一般原則為:在經常作為查詢條件的屬性上建立索引。在經常作為連接條件的屬性上建立索引。在經常作為分組依據列的屬性上建立索引。對經常進行連接操作的表可以建立索引。一個表可以建立多個索引,但只能建立一個聚簇索引。

確定存儲結構一般的存儲方式有:順序存儲散列存儲聚簇存儲一般情況下系統都會為數據選擇一種最合適的存儲方式。

物理結構設計的評價

評價物理結構設計的方法完全依賴于具體的DBMS,主要考慮的是操作開銷,即為使用戶獲得及時、準確的數據所需的開銷和計算機的資源的開銷。具體可分為如下幾類:查詢和響應時間更新事務的開銷生成報告的開銷主存儲空間的開銷輔助存儲空間的開銷

9.4數據庫行為設計

9.4.1功能需求分析9.4.2功能設計9.4.3事務設計9.4.1功能需求分析在進行需求分析時,我們實際上進行了兩項工作,一項是“數據流”的調查分析,另一項是“事務處理”過程的調查分析。數據流的調查分析為數據庫的信息結構提供了最原始的依據,事務處理的調查分析是行為設計的基礎。

對行為特性要進行的分析標識所有的查詢、報表、事務及動態(tài)特性,指出對數據庫所要進行的各種處理;指出對每個實體所進行的操作(增、刪、改、查);給出每個操作的語義,包括結構約束和操作約束;給出每個操作(針對某一對象)的頻率;給出每個操作(針對某一應用)的響應時間;給出該系統總的目標。9.4.2功能設計

¨¨目標功能2功能n功能1功能22功能23功能21例:“學籍管理”的功能結構圖

學籍管理錄取分班入學報到…錄入修改查詢修課管理9.4.3事務設計

事務處理是計算機模擬人處理事務的過程,包括:輸入設計輸出設計功能設計等等

輸入設計

原始單據的設計格式制成輸入一覽表制作輸入數據描述文檔輸出設計用途。區(qū)分輸出結果是給客戶的還是用于內部或報送上級領導的。輸出設備的選擇。是僅僅顯示出來,還是要打印出來或需要永久保存。輸出量。輸出格式。9.5數據庫的實施和維護

9.5.1數據庫數據的加載和試運行9.5.2數據庫的運行和維護9.5.1數據庫數據的加載和試運行數據加載在數據庫系統中,一般數據量都很大,各應用環(huán)境差異也很大。為了保證數據庫中的數據正確、無誤,必須十分重視數據的校驗工作。在將數據輸入系統進行數據轉換過程中,應該進行多次的校驗。

對于重要的數據的校驗更應該反復多次,確認無誤后再進入到數據庫中。

9.5.1數據庫數據的加載和試運行數據庫的試運行在有一部分數據加載到數據庫之后,就可以開始對數據庫系統進行聯合調試了,這個過程又稱為數據庫試運行。這一階段要實際運行數據庫應用程序,執(zhí)行對數

溫馨提示

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

評論

0/150

提交評論