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