資料庫設計與管理的公共基礎學習教程
(四)資料庫設計與管理
1.資料庫設計概述
資料庫設計的基本任務是根據使用者物件的資訊需求、處理需求和資料庫的支援環境(包括硬體、作業系統與DBMS)設計出資料模式。
資料庫設計的兩種方法:
面向資料的方法:以資訊需求為主,兼顧處理需求。
面向過程的方法:以處理需求為主,兼顧資訊需求。
目前,面向資料的設計方法是資料庫設計的主流方法。
資料庫設計一般採用生命週期法,分為如下幾個階段:
需求分析階段
概念設計階段
邏輯設計階段
物理設計階段
編碼階段
測試階段
執行階段
進一步修改階段
前四個階段是資料庫設計的主要階段,重點以資料結構與模型的設計為主線。
2.資料庫設計的需求分析
第一階段:需求收集和分析,收集基本資料和資料流圖。
主要的任務是:透過詳細調查現實世界要處理的物件(組織、部門、企業等),充分了解原系統的工作概況,明確使用者的各種需求,在此基礎上確定新系統的功能。
對資料庫的要求:
資訊要求
處理要求
安全性和完整性的要求
資料字典是各類資料的集合,它包括五個部分:
資料項,即資料的最小單位
資料結構,是若干資料項有意義的集合
資料流,可以是資料項,也可以是資料結構,用來表示某一處理過程的輸入或輸出
資料儲存,處理過程中存取的資料,通常是手工憑證、手工文件或計算機檔案
處理過程
3.資料庫概念設計
1)概念設計概述
(1)集中式模式設計法
根據需求由一個統一的機構或人員設計一個綜合的全域性模式。適合於小型或並不複雜的單位或部門。
(2)檢視整合設計法
將系統分解成若干個部分,對每個部分進行區域性模式設計,建立各個部分的檢視,再以各檢視為基礎進行整合。比較適合於大型與複雜的單位,是現在使用較多的方法。
2)資料庫概念設計的過程
(1)選擇區域性應用
根據系統情況,在多層的資料流圖中選擇一個適當層次的資料流圖,將這組圖中每一部分對應一個區域性應用,以該層資料流圖為出發點,設計各自的E-R圖。
(2)檢視設計
檢視設計的三種次序:
自頂向下:先從抽象級別高且普遍性強的物件開始逐步細化、具體化和特殊化。
由底向上:先從具體的物件開始,逐步抽象,普遍化和一般化,最後形成一個完整的檢視設計
由內向外:先從最基本與最明顯的物件開始,逐步擴充至非基本、不明顯的物件。
例:某大學由一名校長主管,學校下設多個學院,每個學院又的多個系;每個繫有一名系主任,負責聘任教師;每個教師可以承擔多門課,同一門課又可由多個教師承擔;每個繫有多個班級,每個班級有一定數量的學生;學生在校期間要學習多門課程,學習結束後,每門課程對應一個成績。要求設計該大學的教學管理系統。
需求分析階段,得到該學校的機構組織結構圖如下圖所示:
E-R圖設計
首先,設計“院長”、“學院”和“系”之間的聯絡。一個學院有一個院長,一個院長主管一個學校;一個系屬於一個學院,一個學院有多個系。院長與學院的.關係是一對一的聯絡,學院和系之間是一對多的聯絡。
在系裡在,一個系會聘用多個教師,而一個教師只屬於一個系,所以,系和教師之間的關係是一對多的聯絡;一門課可由多個教師講授,同時,一個教師可講授多門課,課程和教師之間的關係是多對多的聯絡。
在系裡,學生和課程之間的聯絡有,一個繫有多個班,一個班只能屬於一個系,它們之間的聯絡是一對多的聯絡;一個班有多個學生,同時,一個學生只屬於一個班,所以,班級和學生之間的聯絡是一對多的聯絡;系和課程之間的聯絡,一個系可開設多門課,同時,一門課可被多個系開設,因此,課程和系之間的關係是多對多的聯絡;學生與課程之間,一個學生會選多門課,同時,一門課可被多個學生選取,因此,課程和學生之間的關係是多對多的聯絡。
邏輯設計
學院(學院編號,學院名,學院地址,院長編號)
院長(院長編號,院長姓名,聯絡電話,辦公地址)
系(系編號,系名,聯絡電話,系地址,學院編號,系主任職工號)
教師(職工號,姓名,性別,學歷,職稱,工資,聯絡電話,系編號)
班級(班級編號,班級名稱,學生人數,系名)
學生(學號,身份證號,姓名,性別,出生日期,民族,籍貫,班級名)
課程(課程編號,課程名稱,學分)
開課(系編號,課程號)
授課(職工號,課程號)
選課(學號,課程號,成績)
(3)檢視整合
檢視整合是將所有區域性檢視統一與合併成一個完整的資料模式。
檢視整合的重點是解決區域性設計中的衝突,常見的衝突主要有如下幾種:
命名衝突:有同名異義或同義異名
概念衝突:同一概念在一處為實體而在另一處為屬性或聯絡
域衝突:相同的屬性在不同檢視中有不同的域
約束衝突:不同的檢視可能有不同的約束
檢視經過合併生成E-R圖時,其中還可能存在冗餘的資料和冗餘的實體間聯絡。