數據庫設計(一)——數據庫設計

數據庫設計(一)——數據庫設計

一、數據庫設計簡介

按照規範設計,將數據庫的設計過程分爲六個階段:
A、系統需求分析階段
B、概念結構設計階段
C、邏輯結構設計階段
D、物理結構設計階段
E、數據庫實施階段
F、數據庫運行與維護階段
需求分析和概念結構設計獨立於任何數據庫管理系統。

二、系統需求分析

1、需求分析的任務

需求分析的任務:對現實世界要處理的對象進行詳細的調查,通過對原系統的瞭解,收集支持新系統的基礎數據並對其進行處理,在此基礎上確定新系統的功能。
A、調查分析用戶活動
B、收集和分析需求數據,確定系統邊界信息需求,處理需求,安全性和完整性需求
C、編寫系統分析報告

2、需求分析的方法

需求分析有兩種方法:自頂向下、自底向上
A、自頂向下
自頂向下方法從最上層的系統組織機構入手,採用逐層分解的方式分析系統。
用數據流圖和數據字典描述系統
數據流圖:描述輸入數據到輸出數據的變換過程
數據流:由一組固定成分的數據組成,代表數據的流動方向
處理:描述了輸入數據到輸出數據的變換
文件:用於存儲數據
源或宿:存在於系統之外的人員或組織,表示系統輸入數據的來源和輸出數據的去向
B、自底向上

3、實例

教學管理系統
基本需求:
某學校設計學校教學管理系統,學生實體包括學號、姓名、性別、生日、民族、籍貫、簡歷、入學日期,每名學生選擇一個主修專業,專業包括專業編號、名稱、類別,一個專業屬於一個學院,一個學院可以有多個專業。學院信息要存儲學院號、學院名、院長。教學管理要管理課程表、學生成績表。課程包括課程號、課程名、學分,每門課程由一個學院開設。學生選修的每門課程獲得一個成績。

三、概念結構設計

1、概念結構設計簡介

概念結構設計的目標是設計數據庫的E-R模型圖,確認需求信息的正確和完整。具體來說就是從需求分析中找到實體,確認實體的屬性、確認實體的關係,畫出ER圖。

2、概念結構設計的步驟

數據庫設計(一)——數據庫設計
數據庫設計(一)——數據庫設計
第一步,數據抽象與局部E-R模型設計
A、數據抽象
在多層數據流中選擇一個適當層次作爲設計E-R圖的出發點。
確定每個局部應用包含哪些實體,實體包含哪些屬性,實體之間的聯繫
劃分實體和屬性的方法
分類:將一組具有某些共同特性和行爲的對象抽象爲一個實體。
聚合:將對象類型的組成成分抽象爲屬性。
B、局部E-R模型設計
局部E-R模型設計的原則是屬性必須是不可分的數據項,不能再由放棄其他屬性組成;屬性不能與其他實體具有聯繫,聯繫只能發生在實體之間。
爲簡化E-R圖,凡是能作爲屬性對待的,儘量作爲屬性。
第二步,全局E-R模型設計
集成各局部E-R模型,形成全局模型。視圖集成的方法有兩種:
A、多元集成法:一次性將多個局部E-R圖合併爲一個全局E-R圖。
B、二元集成法:首先集成兩個重要的局部E-R圖,然後用累加的方法逐步將一個新的E-R圖集成進來。
合併:
合併局部E-R圖,消除衝突,初步生成E-R圖。合併的關鍵是合理消除各局部E-R圖的衝突。
衝突分類如下:
數據庫設計(一)——數據庫設計
優化:
消除初步E-R圖中不必要的冗餘,生成基本的E-R圖。
冗餘數據:可由基本的數據導出的數據。
冗餘聯繫:可由基本的聯繫導出的聯繫。
數據庫設計(一)——數據庫設計

3、實例

教學管理系統的E-R圖
實體:學生、專業、學院、課程
實體表要記錄的屬性:
學生(學號、姓名、性別、生日、籍貫、民族、簡歷、入學日期)
數據庫設計(一)——數據庫設計
專業(專業號、專業名稱、類別)
學院(學院號、學院名稱、院長)
課程(課程號、課程名稱、學分)
數據庫設計(一)——數據庫設計
教學管理ER圖:
數據庫設計(一)——數據庫設計

四、邏輯結構設計

1、邏輯結構設計簡介

邏輯結構設計的任務是將概念結構設計階段完成的實體模型轉換成特定的DBMS所支持的數據模型的過程。邏輯結構設計的目的是將E-R圖中的實體、屬性和聯繫轉換成爲關係模式。
數據庫設計(一)——數據庫設計

2、初始關係模型設計

(1)實體間關係轉換遵循的原則:
一個實體轉換爲一個關係模式,實體的屬性就是關係的屬性,實體的鍵就是關係的鍵。
一個聯繫轉換爲一個關係模式,與該聯繫相連的各實體的鍵以及聯繫的屬性均轉換爲該關係的屬性。
聯繫關係的鍵有三種情況:
如果聯繫爲1:1,則每個實體的鍵都是關係的候選鍵
如果聯繫爲1:n,zen端實體的見識關係的鍵
如果聯繫爲n:m,則各實體的鍵的組合是關係的鍵
特殊情況:多元聯繫
多元聯繫在轉換爲關係模式時,與該多元聯繫相連的各實體的主鍵及聯繫本身的屬性均轉換爲關係的屬性,轉換後所得到的的關係的主鍵爲各實體鍵的組合
(2)實體間關係的轉換規則:
A、一個1:1關係可以轉換爲一個獨立的關係模式,也可以與任意一端所對應的關係模式合併。
數據庫設計(一)——數據庫設計
原實體對應關係模式分別爲:
班級(班號,專業,人數)
班長(學號,姓名,專長)
將關係“管理”合併到實體“班級”對應的模式後爲:
班級(班號,專業,人數,班長學號)
班長(學號,姓名,專長)
關係“管理”也可以合併到實體“班長”對應的模式,將關係“管理”合併到實體“班級”對應的模式後爲:
班級(班號,專業,人數)
班長(學號,姓名,專長,班號)
B、一個1:n關係可以轉換爲一個獨立的關係模式,也可以與n端所對應的關係模式合併。
數據庫設計(一)——數據庫設計
實體對應的關係模式
系(系號,系名,系主任,電話)
教師(教師號,姓名,專業,職稱,性別,年齡)
關係對應的關係模式
管理(教師號,系號)
合併到實體“教師”後(只能合併到“多”的一端的關係模型):
教師(教師號,姓名,專業,職稱,性別,年齡,系號)
C、一個m:n關係轉換爲一個關係模式。轉換的方法爲:與該關係相連的各實體的碼以及關係本身的屬性均轉換爲關係的屬性,新關係的碼爲兩個相連實體碼的組合。
關係只能轉換爲獨立模式,模式的屬性由關係本身的屬性及兩個實體的鍵構成;主鍵由兩端實體的鍵組合而成。
數據庫設計(一)——數據庫設計
課程(課程號,課程名,學時,類別) 實體表
學生(學號,姓名,性別,專業,出生日期,照片) 實體表
選修(學號,課程號,分數) 關係表
D、三個或三個以上實體間的多元關係轉換爲一個關係模式。
關係的屬性:與該多元關係相連的各實體的碼以及關係本身的屬性
關係的碼:各實體碼的組合
“講授”關係是一個三元關係,可以轉換爲如下關係模式,其中課程號、職工號和書號爲關係的組合碼:
  講授(課程號,職工號,書號)

3、關係模式規範化

應用數據庫設計的範式理論對初始關係模型進行優化。數據庫設計的三大範式如下:
第一範式 每一個分類必須是一個不可分的數據項。屬性不可再分,確保每列的原子性。
第二範式 要求每個表只描述一件事情,每條記錄有唯一標識列。
第三範式 數據庫表中不包含已在其它表中已包含的非主關鍵字信息。
關係模式的規範化過程如下:
A、確定範式級別
考察關係模式的函數依賴關係,確定範式等級。
B、實施規範化處理
利用規範化方法和理論將關係模式規範化。
C、模式改進
合併:
將用於關聯查詢的具有相同主鍵的各表合併可提高查詢效率
分解:
水平分解,將關係的元組分爲若干子集,提高查詢效率;垂直分解,把關係中經常一起使用的屬性分解出來,形成一個子關係,提高執行效率。分解時要保持無損連接和函數依賴。

4、實例

教學管理系統
由ER模型轉化爲的關係模型:
學生(學號、姓名、性別、生日、籍貫、民族、入學日期、專業號)實體表
專業(專業號、專業名稱、類別、學院號)實體表
學院(學院號、學院名稱、院長)實體表
課程(課程號、課程名稱、學分、學院號)實體表
成績表(學號、課程號、成績)關係表
在轉換爲關係模型時,一對多的聯繫都在相應的多方實體的關係中增加一個外鍵。
需求的增加:
如果教學管理系統還要管理教師教學安排,教師包括編號、姓名、年齡、職稱,一個教師只能屬於一個學院,一名教師可以上若干門課程,一門課程可以有多名老師來上,每個教師所上的每門課都有一個課堂號和課時數。
教師實體的ER圖:
數據庫設計(一)——數據庫設計
教學管理系統ER圖:
數據庫設計(一)——數據庫設計
關係表 多對多
成績表 (學號,課程號,成績,時間,地點)

五、物理結構設計

1、物理結構設計簡介

物理結構設計:對於給定的邏輯數據模型,選取一個最適合應用環境的物理結構。數據庫的物理結構設計分爲兩步:
A、確定物理結構:存取方法和存儲結構
B、評價物理結構:評價重點是時間和空間效率
根據具體的數據庫管理系統所提供的多種存儲結構和存取方法等依賴於具體計算機結構的各項物理設計措施,對具體的應用任務選定最合適的物理存儲結構(數據類型 索引 主鍵)。

2、確定物理結構

(1)存儲結構的設計
物理結構中,數據的基本存取單位是存儲記錄。
某一類型的所有存儲記錄的集合稱爲文件。
確定數據庫存儲結構時要綜合考慮存取時間、存儲空間利用率和維護代價三方面的因素。例如消除一切冗餘數據雖然能夠節約存儲空間,但往往會導致檢索代價的增加,因此必須進行權衡,選擇一個折中方案。
(2)數據存取路徑的設計
在關係數據庫中,選擇存取路徑主要是指確定如何建立索引。例如,應把哪些域作爲次碼建立次索引,建立單碼索引還是組合索引,建立多少個爲合適,是否建立聚集索引等。
(3)數據存放位置的設計
爲了提高性能,可將數據的易變部分、穩定部分、經常存取部分和存儲頻率較低部分分開存放。
(4)系統配置的設計
DBMS產品一般都提供了一些存儲分配參數,供設計人員和DBA對數據庫進行物理優化。初始情況下,系統都爲這些變量賦予了合理的缺省值,但是這些值不一定適合每一種應用環境,在進行物理設計時,需要重新對這些變量賦值以改善系統的性能。

3、評價物理結構

物理結構設計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權衡,其結果可以產生多種方案,數據庫設計人員必須對方案進行細緻的評價,從中選擇一個較優的方案作爲數據庫的物理結構。
評價物理數據庫的方法完全依賴於所選用的DBMS,主要是從定量估算各種方案的存儲空間、存取時間和維護代價入手,對估算結果進行權衡、比較,選擇出一個較優的合理的物理結構。

4、實例

教學管理系統
表1-1 學院
數據庫設計(一)——數據庫設計
表1-2 專業
數據庫設計(一)——數據庫設計
表1-3 學生
數據庫設計(一)——數據庫設計
表1-4 課程
數據庫設計(一)——數據庫設計
表1-5 成績單
數據庫設計(一)——數據庫設計

六、數據庫實施

1、數據庫實施的過程

數據庫實施:指根據邏輯設計和物理設計的結果,在計算機上建立起實際的數據庫結構、裝入數據、進行測試和試運行的過程。
數據庫設計(一)——數據庫設計

2、實例

學生表:
數據庫設計(一)——數據庫設計
課程表:
數據庫設計(一)——數據庫設計
專業表:
數據庫設計(一)——數據庫設計
學院表:
數據庫設計(一)——數據庫設計
成績表:
數據庫設計(一)——數據庫設計

七、數據庫運行與維護

數據庫運行與維護的主要任務包括:
A、維護數據庫的安全性與完整性
B、監測並改善數據庫性能
C、重新組織和構造數據庫
只有數據庫系統在運行,就需要不斷地進行修改、調整和維護。

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