数据库系统原理(第三章数据库设计 )
一、數(shù)據(jù)庫設(shè)計概述
數(shù)據(jù)庫的生命周期
?
?
?數(shù)據(jù)庫設(shè)計的目標(biāo):
- 滿足應(yīng)用功能需求(存、取、刪、改),
- 良好的數(shù) 據(jù)庫性能(數(shù)據(jù)的高效率存取和空間的節(jié)省 共享性、完整性、一致性、安全保密性)
數(shù)據(jù)庫設(shè)計的內(nèi)容
?
?
?數(shù)據(jù)庫設(shè)計的方法
- 直觀設(shè)計法(?最原始的數(shù)據(jù)庫設(shè)計方法)
- 規(guī)范設(shè)計法:(新奧爾良設(shè)計方法:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計 ;?基于E-R模型的數(shù)據(jù)庫設(shè)計方法?;基于第三范式的設(shè)計方法,是一類結(jié)構(gòu)化設(shè)計方法)
- 計算機(jī)輔助設(shè)計法( 輔助軟件工程工具)
數(shù)據(jù)庫設(shè)計的過程
?
?
二、數(shù)據(jù)庫設(shè)計的基本步驟
需求分析(數(shù)據(jù)庫設(shè)計的起點(diǎn))
- 目標(biāo):是了解與分析用戶的信息及應(yīng)用處理的要求,并將結(jié)果按一定格式整理 而形成需求分析報告。
- 作用:該分析報告是后續(xù)概念設(shè)計、邏輯設(shè)計、物理設(shè)計、數(shù)據(jù)庫建立與維護(hù)的依據(jù)。
需求分析的步驟:
- 確定數(shù)據(jù)庫范圍(數(shù)據(jù)庫的第一項工作)
- 應(yīng)用過程分析---了解并分析數(shù)據(jù)與數(shù)據(jù)處理間的關(guān)系
- 收集與分析數(shù)據(jù)
- 編寫需求分析報告
********************確定數(shù)據(jù)庫范圍(數(shù)據(jù)庫的第一項工作)**************
(1)有效地利用計算機(jī)設(shè)備及數(shù)據(jù)庫系統(tǒng)的潛在能力; (2)提高數(shù)據(jù)庫的應(yīng)變能力; (3)避免應(yīng)用過程中對數(shù)據(jù)庫做太多或太大的修改; (4)延長數(shù)據(jù)庫的生命周期。
********************應(yīng)用過程分析********************************************
應(yīng)用過程分析的結(jié)果是數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的重要依據(jù)
(1)用到哪些數(shù)據(jù); (2)數(shù)據(jù)使用的順序; (3)對數(shù)據(jù)作何處理和處理的策略以及結(jié)果;
******************************收集與分析數(shù)據(jù)*******************************
數(shù)據(jù)收集與分析的任務(wù)是了解并分析數(shù)據(jù)的組成格式及操作特征,每個數(shù) 據(jù)元素的語義及關(guān)系等,并將它們收集起來整理歸檔。
?
分析內(nèi)容:
靜態(tài)結(jié)構(gòu) --- 不施加應(yīng)用操作于其上時數(shù)據(jù)的原始狀況(數(shù)據(jù)的( 靜態(tài)結(jié)構(gòu) )是指不施加應(yīng)用操作于其上時數(shù)據(jù)的原始狀況, 這可通過數(shù)據(jù)分類表和數(shù)據(jù)元素表進(jìn)行說明)
- 數(shù)據(jù)分類表:用于數(shù)據(jù)的總體描述
- 數(shù)據(jù)元素表:指通常意義下的數(shù)據(jù)項或?qū)傩?/li>
動態(tài)結(jié)構(gòu) ---將應(yīng)用操作施加于數(shù)據(jù)之上后數(shù)據(jù)的狀況
?
- 任務(wù)分類表:一個任務(wù)指為完成某一特定處理功能的相對獨(dú)立的操作序列
- 數(shù)據(jù)特征操作表:用以描述任務(wù)和數(shù)據(jù)之間的關(guān)系,它包括不同任務(wù)對數(shù)據(jù)執(zhí)行不 同操作的頻率
數(shù)據(jù)約束 ---使用數(shù)據(jù)時的特殊要求
- 1)數(shù)據(jù)的安全保密性
- 2)數(shù)據(jù)的完整性
- 3)響應(yīng)時間
- 4)數(shù)據(jù)恢復(fù)
**************************編寫需求分析報告*****************************
?
?
概念結(jié)構(gòu)設(shè)計(概念模型):獨(dú)立于任何軟件與硬件? 主要目標(biāo):最大限度的滿足應(yīng)用需求;關(guān)系的規(guī)范化理論主要用于概念設(shè)計階段。
- 實體分析法 (自頂向下法)
- 屬性綜合法 (自底向上法)
- 概念模型 (自頂向下)?
邏輯結(jié)構(gòu)設(shè)計:目標(biāo)將概念模型轉(zhuǎn)換為等價的、并為特定DBMS所支持?jǐn)?shù)據(jù)模 型的結(jié)構(gòu);在基本表的基礎(chǔ)上再建立必要的視圖,形成數(shù)據(jù)的外模式
?
?
物理設(shè)計:具體任務(wù)主要是確定數(shù)據(jù)庫在存儲設(shè)備上的存儲結(jié)構(gòu)及存取方法, 因DBMS的不同還可能包括建立索引和聚集,以及物理塊大小、緩沖區(qū)個 數(shù)和大小、數(shù)據(jù)壓縮的選擇等。
數(shù)據(jù)庫實施:
- 加載數(shù)據(jù)(收集、分類、整理、校驗、輸入等)? 輸入與校驗?不是由人工完成
- 應(yīng)用程序 設(shè)計
- 數(shù)據(jù)庫試 運(yùn)行:有利于工作人員掌握并熟悉系統(tǒng); 有利于正式運(yùn)行時避免人為的操作不當(dāng)?shù)葥p害。
數(shù)據(jù)庫運(yùn)行與維護(hù):保證數(shù)據(jù)庫的正常運(yùn)行;系統(tǒng)維護(hù)中最困難的工作是 數(shù)據(jù)庫重組與重構(gòu)。
?三、關(guān)系數(shù)據(jù)庫設(shè)計方法
關(guān)系數(shù)據(jù)庫設(shè)計過程與各級模式
?
?
?
?*************************E-R圖的表示方法*********************************
?
?
?
?
?
概念結(jié)構(gòu)設(shè)計方法:
1、局部信息結(jié)構(gòu)設(shè)計? ?
- 確定局部范圍:局部范圍主要依據(jù)需求分析報告中標(biāo)明的用戶視圖范圍來確定;往往與子模式范圍相對應(yīng)。
- ? ? ? ?選擇實體:數(shù)據(jù)分類表是選擇實體的直接依據(jù)。 實體選擇的最大困難是如何區(qū)別實體與屬性
- 選擇實體 的關(guān)鍵字 屬性:實體的存在依賴于其關(guān)鍵字的存在。
- 確定實體 間聯(lián)系:數(shù)據(jù)間的聯(lián)系必須在概念設(shè)計時確定。
- 確定實體 的屬性:屬性分為標(biāo)識屬性和說明屬性
2、全局信息結(jié)構(gòu)設(shè)計
3、邏輯結(jié)構(gòu)設(shè)計方法
- 將E-R圖轉(zhuǎn)換為關(guān)系模型
- 對關(guān)系數(shù)據(jù)模型進(jìn)行優(yōu)化
- 設(shè)計面向用戶的外 模式
?
E-R圖向關(guān)系模型的轉(zhuǎn)換
- 一個實體型轉(zhuǎn)換為一個關(guān)系模式,實體的屬性作為關(guān)系的屬性,實體的碼作為關(guān)系的碼
- 一個一對一聯(lián)系可以轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并
- 一個一對多聯(lián)系可以轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式,也可以與N端對應(yīng)的關(guān)系模式合并
- 一個多對多聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為 關(guān)系的屬性
- 三個或以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式
- 具有相同碼的關(guān)系模式可合并
數(shù)據(jù)模型的優(yōu)化:
數(shù)據(jù)庫邏輯設(shè)計的結(jié)果,不是唯一的。
- 1)確定各屬性間的函數(shù)依賴關(guān)系
- 2)對于各個關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。
- 3)判斷每個關(guān)系模式的范式,根據(jù)實際需要確定最合適的范式。
- 4)按照需求分析階段得到的處理要求,分析這些模式對于這樣的應(yīng)用環(huán)境 是否合適,確定是否要對某些模式進(jìn)行合并或分解。
- 5)對關(guān)系模式進(jìn)行必要的分解,提高數(shù)據(jù)操作的效率和存儲空間的利用率
設(shè)計用戶子模式
- 1)可以通過視圖機(jī)制在設(shè)計用戶視圖時,重新定義某些屬性的別名,使 其更符合用戶的習(xí)慣,以方便使用。
- 2)可以對不同級別的用戶定義不同的視圖,以保證系統(tǒng)的安全性。
- 3)簡化用戶對系統(tǒng)的使用。
物理設(shè)計方法
- 建立索引(邏輯連接??):靜態(tài)建立 索引 、? 動態(tài)建立 索引
- 建立聚集(物理聚集:聚集是將相關(guān)數(shù)據(jù)集中存放的物理存儲技術(shù)。 數(shù)據(jù)聚集結(jié)構(gòu)的一種有效方式是塊結(jié)構(gòu)方式。 數(shù)據(jù)聚集可在一個或多個關(guān)系上建立。
各個局部ER圖的沖突
?
轉(zhuǎn)載于:https://www.cnblogs.com/jalja/p/11595375.html
總結(jié)
以上是生活随笔為你收集整理的数据库系统原理(第三章数据库设计 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vim下更省心地用中文
- 下一篇: 数据库系统原理(第四章:SQL与关系数据