【資料庫設計】資料庫的設計

Alearn_發表於2018-06-21

轉載51CTO資料庫設計

資料庫設計(一)——資料庫設計

一、資料庫設計簡介

按照規範設計,將資料庫的設計過程分為六個階段:
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、重新組織和構造資料庫
只有資料庫系統在執行,就需要不斷地進行修改、調整和維護。

相關文章