數據庫系統原理第三章

第三章 數據庫設計

**大家想一起學習交流的可以加羣,WX:MrCroods。**

第一節 數據庫設計概述

一、數據庫的生命週期

(1)、數據庫的生命週期分爲兩個階段:

1、數據庫分析與設計階段

第一個階段包括需求分析、概念設計、邏輯設計和物理設計。

2、數據庫實現與操作階段

第二個階段包括數據庫的實現、操作與監督、修改與調整。

二、數據庫設計的目標

(1)、數據庫設計的目標:

1、滿足應用功能需求

主要指用戶當前與可預知的將來應用所需要的數據及其聯繫,準確存儲在數據庫中,滿足用戶所需要對數據進行存、取、刪、改等操作。

2、良好的數據庫性能

指對數據的高效率存取和空間的節省,並具有良好的數據共享性、完整性、一致性及安全保密性。

三、數據庫設計的內容

(1)、數據庫結構設計(靜態

針對給定的應用環境進行數據庫的模式或子模式的設計,包括數據庫的概念結構設計、邏輯結構設計和物理結構設計

(2)、數據庫行爲設計(動態

確定數據庫用戶的行爲和動作,而用戶的行爲和動作是對數據庫的操作,通常是通過應用程序來實現的。

四、數據庫設計的方法

(1)、直觀設計法(缺乏科學理論指導

是一類最原始的數據庫設計方法,它利用設計者的經驗和技巧來設計數據庫模式

(2)、規範設計法

是一類較爲普遍、常用的數據庫設計方法

1)、新奧爾良設計方法:較爲完整和權威的一種規範設計方法。
四個階段:需求分析、概念結構設計、邏輯結構設計和物理結構設計。
關注重點:注重數據庫的結構設計,不太考慮數據庫的行爲設計。
2)、基於E-R模型的數據庫設計方法
3)、基於第三範式的設計方法:一類結構化設計方法
在需求分析的基礎上首先確定數據庫的模式、屬性及屬性間的依賴關係。

(3)、計算機輔助設計法

是指在數據庫設計過程中,以領域專家的知識或經驗爲主導,通常通過人機交互的方式來完成設計的某些過程。計算機輔助軟件工具稱爲 CASE工具

五、數據庫設計的方法

在這裏插入圖片描述

第二節 數據庫設計的基本步驟

一、需求分析

需求分析的目標:瞭解與分析用戶的信息及應用處理的要求,並將結果按一定格式整理,形成需求分析報告。報告將作爲後續概念設計、邏輯設計、物理設計、數據庫建立與維護的依據。
需求分析的四個步驟:確定數據庫範圍、分析數據應用過程、收集與分析數據、編寫需求分析報告。

(1)、確定數據庫範圍

確定數據庫應支持哪些應用功能,首先考慮的是支持用戶工作需要所必須的應用要求。

(2)、應用過程分析

指了解並分析數據與數據處理間的關係。應用過程分析的結果是數據庫結構設計的重要依據。
數據應用過程可以藉助數據流程圖或其他信息及應用結構圖形表示。

(3)、收集與分析數據

其任務是瞭解並分析數據的組成格式及操作特徵,每個數據元素的語義及關係等,收集進行歸檔。
數據的收集與分析工作可從數據的靜態結構、動態結構及數據約束三方面展開。

1)、靜態結構:指不施加應用操作於其上時數據的原始狀況,可通過數據分類表和數據元素表繼續說明。

①數據分類表用於數據的總體描述。
②數據元素表指通常意義下的數據項或屬性。

2)、動態結構:指將應用操作施加於數據之上後數據的狀況,通過任務分類表和數據操作特徵表進行說明。

①任務分類表:根據對數據流程圖的分析,將業務處理過程劃分成不同任務。
②數據操作特徵表:用以描述任務和數據之間的關係,包括不同任務對數據執行不同操作的頻率

3)、數據約束:指使用數據是的特殊要求。

①數據的安全保密性:針對各種不同類數據,誰擁有操作的不同授權。
②數據的完整性:指數據正確性的約束範圍和驗證準則,以及一致性保護的要求。
③響應時間:指某些特定應用要求的數據存取時間限制。
④數據恢復:指轉儲及恢復的時機與範圍等要求。

(4)、編寫需求分析報告

要求:可讀性強且無二義性
包含內容
1)、數據庫的應用功能目標

要求:標明數據庫的應用範圍及應達到的應用處理功能。

2)、標明不同用戶視圖範圍

根據機構與職能關係圖和數據流程圖,並參考任務分類表等,確定不同部門或功能的局部視圖範圍。

3)、應用處理過程需求說明(選擇題)

①數據流程圖:反映應用部門原始業務處理的工作流程。
②任務分類表:標明不同任務的功能及使用狀況。
③數據操作特徵表:標明任務和數據間的聯繫及不同數據的不同操作特徵與執行頻率。
④操作過程說明書:根據數據流程圖、任務分類表及數據操作特徵表等,標明主要邏輯執行步驟。

4)、數據字典
是數據庫系統存儲三級結構定義的數據庫,通常指的是數據庫系統中各類數據詳細描述的集合。
功能:存儲和檢索各種數據描述。
包含:數據分類表、數據元素表和各類原始資料。
5)、數據量
根據數據分類表中的靜態數據量和操作特徵表中的動態數據量,進行統計計算,求出總量。
6)、數據約束

二、概念結構設計

任務:在需求分析中產生的需求分析報告的基礎上,按照特定的方法設計滿足應用需求的用戶信息結構(通常稱爲概念模型,將需求分析中得到的用戶需求抽象爲信息結構的過程)。
常用方法:實體分析法和屬性綜合法,又分別稱爲自頂向下法和自底向上法。

三、邏輯結構設計

目標:將概念模型轉換爲等價的、併爲特定DBMS所支持數據模型結構。
數據庫邏輯模型由:層次、網狀、關係數據模型表示。

(1)、邏輯結構設計的輸入信息

1)、獨立於特定DBMS的概念模型
2)、有關響應時間、安全保密性、數據完整性及恢復方面的要求說明,包括保持數據一致性的規則說明。
3)、數據量及使用頻率
4)、特定DBMS特性,包括DBMS支持的數據模型及數據定義語言的說明。

(2)、邏輯結構設計的輸出信息

1)、一個特定DBMS支持的概念模式。
2)、一個或多個外部視圖,稱爲子模式
3)、物理設計說明,其主要包括存入數據庫中的數據量、使用頻率及響應時間要求。
4)、程序設計說明(執行邏輯步、存取數據的名等的說明)

(3)、邏輯結構設計的步驟

1)、模型轉換
概念模型等價地轉換爲特定DBMS支持的關係模型、網狀模型或層次模型
2)、子模式設計
目標:抽取或導出模式的子集,以構造不同用戶使用的局部數據邏輯結構。
3)、編制應用程序設計(選擇題
目的:爲可實際運行的應用程序設計提供依據與指導,並作爲設計評價的基礎。
4)、設計評價
任務:分析並檢驗模式及子模式的正確性與合理性,其方法事通過程序設計指南中提交的程序執行邏輯步驟在子模式上的模擬執行來考覈模式及子模式是否滿足應用需求,並進一步估計數據容量及存取效率,爲物理設計提供參考信息。

四、物理設計

對於一個給定的數據庫邏輯結構,研究並構造物理結構的過程,任務是確定數據庫在存儲設備上的存儲結構及存取方法。

五、數據庫實施

數據庫實施階段的工作:加載數據、應用程序設計、數據庫試運行。

(1)、加載數據

將符合要求的初始數據裝載到數據庫中(數據的收集、分類等過程)。

(2)、應用程序設計

邏輯設計階段和物理設計階段。

(3)、數據庫試運行

按生產環境運行應用程序,進行對數據庫的各種操作,檢驗其功能和性能,如有不當,或錯誤,根據實際情況或修改應用程序,修改數據庫物理模型等。

六、數據庫運行和維護

(1)、數據庫重組與重構

重組:空間利用率和存取效率下降時進行的,它不改變數據庫的邏輯結構和物理結構,只利用DBMS提供的設施調整數據庫中的存儲位置,使有關聯的數據
儘可能靠近放,提高空間利用率和數據存取效率。

重構:修改部分數據的邏輯結構或物理結構。

第三節 關係數據庫設計方法

一、概念結構設計方法

採用自頂向下,通過兩個步驟:首先建立局部信息結構,在將局部信息結構合成全局信息結構並優化,使用E-R圖作爲概念模型的描述工具。

(1)、E-R圖表示方法
實體型,矩形表示
屬性,橢圓表示
聯繫,菱形表示

(2)、局部信息結構設計(選擇題、填空題、簡答題

1)、局部信息結構:根據需求分析報告中標明的不同用戶視圖範圍所建立的滿足該範圍內用戶需求的信息結構

2)、局部信息結構設計:確定局部範圍、選擇實體、選擇實體關鍵字、確定實體間聯繫、確定實體的屬性。

①確定局部範圍
局部範圍主要依據需求分析報告中標明的用戶視圖範圍來確定。
範圍確定的基本準則是部門和功能相對獨立,其他局部範圍相互影響較少,並實體個數適量。

②選擇實體
任務:在確定的局部範圍內選擇一些合適的信息單位作爲局部信息結構的基本實體。

③選擇實體的關鍵字屬性

④確定實體間聯繫
常用分析實體間是否存在聯繫的方法:
將局部範圍內的實體逐一取出來與該範圍內的其他實體試行匹配,考察能否找到與兩個參加試匹配的實體都有關的問題或同一任務同時使用到參與試匹配的兩個實體。

⑤確定實體的屬性
屬性分爲標識屬性和說明屬性兩類。
標識屬性用作實體的關鍵字,說明屬性用作描述實體的一般特徵。
說明屬性的基本原則:說明屬性的存在和使用通常依賴於標識屬性。

(3)、全局信息結構設計(選擇題、填空題、簡答題
全局信息結構必須是所有局部信息結構的全面準確的映像,局部的應用需求,合併後仍能實現。將上述步驟中產生的所有局部信息結構合併成爲一個全局信息結構。
各局部E-R圖之間的衝突主要表現在三個方面:屬性衝突、命名衝突和結構衝突。

1)、屬性衝突
屬性域衝突,即屬性值的類型、取值範圍、取值集合的不同。
屬性取值單位衝突。
2)、命名衝突
同名異義,不同意義的實體類型名或聯繫類型名在不同的局部應用中具體的名字。
異名同義,同一意義的實體類型名或聯繫類型名在不同的局部應用中具有不同的名字。
3)、結構衝突
同一對象在一個局部E-R圖中作爲實體,而在另一個局部E-R圖中作爲屬性。
同一實體在不同的E-R圖中屬性個數和類型不同。
實體之間的聯繫在不同的E-R圖中是不同的類型。

一個好的E全局E-R圖模型,應滿足:實體類型個數儘可能少,實體類型聯繫無餘,優化步驟:相關實體類型的合併、消除不必要的冗餘屬性、消除不必要的冗餘聯繫

二、邏輯結構設計方法

任務:把概念結構設計產生的概念模型轉換爲具體的DBMS所支持的邏輯數據模型。在關係數據庫設計中,就是把概念結構設計階段設計好的E-R圖轉換爲關係數據庫管理系統所支持的關係模型,三項工作:將E-R圖轉換爲關係模型、對關係數據模型進行優化、設計面向用戶的外模式。

(1)、E-R圖向關係模型的轉換
轉換原則:一個實體型轉換爲一個關係模式。
實體額屬性作爲關係的屬性,實體的碼作爲關係的碼。

1)、一個一對一聯繫可以轉換爲一個獨立的關係模式,也可與任意一端進行合併。
2)、一個一對多聯繫可以轉換爲一個獨立的關係模式,也可與N端進行合併。
3)、一個多對多聯繫轉換爲一個關係模式。
4)、三個或三個以上實體間的一個多元聯繫可以轉換爲一個關係模式。
5)、具有相同碼的關係模式可以合併。

(2)、數據模型的優化通常以關係規範化理論爲指導

1)、確定各屬性間的函數依賴關係
2)對於各個關係模式之間的數據依賴進行極小化處理,消除冗餘的聯繫。
3)、判斷每個關係模式的範式,根據實際需要確定最合適的範式。
4)、按照需求分析階段得到的處理要求,分析這些模式對於這樣的應用環境是否合適,確定是否要對模式進行合併或分解。
5)、對關係模式進行必要的分解,提高數據操作的效率和存儲空間的利用率。

(3)、設計用戶子模式

1)、可以通過視圖機制在設計用戶視圖時,重新定義某些屬性的別名,使其更符合用戶的習慣,以方便使用。
2)、可以對不同級別的用戶定義不同視圖,保證系統的安全性。
3)、簡化用戶對系統的使用。

三、物理設計方法

關係數據庫系統的優點是:用戶通常不需要進行數據存儲結構和存取方法的設計。所以物理設計的任務是通過對關係建立索引和聚集來實現與應用相關數據的邏輯連接和物理聚集,以改善對數據庫的存取效率。
(1)、建立索引
建立索引的方式通常有靜態和動態兩種。

靜態建立索引是應用人員預先建立索引,一旦建立,後續的應用程序均可直接使用該索引存取數據,多適合用戶較多且使用週期相對較長的數據。
動態建立索是應用人員在程序內外臨時建立索引,多適合於單獨用戶或臨時性使用要求情況。

(2)、建立聚集
將相關數據集中存放的物理存儲技術,藉以提高I/O的數據命中率而改善存取速度,其功能由具體的DBMS提供。
數據聚集結構的一種有效方式是塊結構方式,塊於塊之間由指針連接,一個塊對應於一個物理分區。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章