您好,登錄后才能下訂單哦!
按照規范設計,將數據庫的設計過程分為六個階段:
A、系統需求分析階段
B、概念結構設計階段
C、邏輯結構設計階段
D、物理結構設計階段
E、數據庫實施階段
F、數據庫運行與維護階段
需求分析和概念結構設計獨立于任何數據庫管理系統。
需求分析的任務:對現實世界要處理的對象進行詳細的調查,通過對原系統的了解,收集支持新系統的基礎數據并對其進行處理,在此基礎上確定新系統的功能。
A、調查分析用戶活動
B、收集和分析需求數據,確定系統邊界信息需求,處理需求,安全性和完整性需求
C、編寫系統分析報告
需求分析有兩種方法:自頂向下、自底向上
A、自頂向下
自頂向下方法從最上層的系統組織機構入手,采用逐層分解的方式分析系統。
用數據流圖和數據字典描述系統
數據流圖:描述輸入數據到輸出數據的變換過程
數據流:由一組固定成分的數據組成,代表數據的流動方向
處理:描述了輸入數據到輸出數據的變換
文件:用于存儲數據
源或宿:存在于系統之外的人員或組織,表示系統輸入數據的來源和輸出數據的去向
B、自底向上
教學管理系統
基本需求:
某學校設計學校教學管理系統,學生實體包括學號、姓名、性別、生日、民族、籍貫、簡歷、入學日期,每名學生選擇一個主修專業,專業包括專業編號、名稱、類別,一個專業屬于一個學院,一個學院可以有多個專業。學院信息要存儲學院號、學院名、院長。教學管理要管理課程表、學生成績表。課程包括課程號、課程名、學分,每門課程由一個學院開設。學生選修的每門課程獲得一個成績。
概念結構設計的目標是設計數據庫的E-R模型圖,確認需求信息的正確和完整。具體來說就是從需求分析中找到實體,確認實體的屬性、確認實體的關系,畫出ER圖。
第一步,數據抽象與局部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圖。
冗余數據:可由基本的數據導出的數據。
冗余聯系:可由基本的聯系導出的聯系。
教學管理系統的E-R圖
實體:學生、專業、學院、課程
實體表要記錄的屬性:
學生(學號、姓名、性別、生日、籍貫、民族、簡歷、入學日期)
專業(專業號、專業名稱、類別)
學院(學院號、學院名稱、院長)
課程(課程號、課程名稱、學分)
教學管理ER圖:
邏輯結構設計的任務是將概念結構設計階段完成的實體模型轉換成特定的DBMS所支持的數據模型的過程。邏輯結構設計的目的是將E-R圖中的實體、屬性和聯系轉換成為關系模式。
(1)實體間關系轉換遵循的原則:
一個實體轉換為一個關系模式,實體的屬性就是關系的屬性,實體的鍵就是關系的鍵。
一個聯系轉換為一個關系模式,與該聯系相連的各實體的鍵以及聯系的屬性均轉換為該關系的屬性。
聯系關系的鍵有三種情況:
如果聯系為1:1,則每個實體的鍵都是關系的候選鍵
如果聯系為1:n,zen端實體的見識關系的鍵
如果聯系為n:m,則各實體的鍵的組合是關系的鍵
特殊情況:多元聯系
多元聯系在轉換為關系模式時,與該多元聯系相連的各實體的主鍵及聯系本身的屬性均轉換為關系的屬性,轉換后所得到的的關系的主鍵為各實體鍵的組合
(2)實體間關系的轉換規則:
A、一個1:1關系可以轉換為一個獨立的關系模式,也可以與任意一端所對應的關系模式合并。
原實體對應關系模式分別為:
班級(班號,專業,人數)
班長(學號,姓名,專長)
將關系“管理”合并到實體“班級”對應的模式后為:
班級(班號,專業,人數,班長學號)
班長(學號,姓名,專長)
關系“管理”也可以合并到實體“班長”對應的模式,將關系“管理”合并到實體“班級”對應的模式后為:
班級(班號,專業,人數)
班長(學號,姓名,專長,班號)
B、一個1:n關系可以轉換為一個獨立的關系模式,也可以與n端所對應的關系模式合并。
實體對應的關系模式
系(系號,系名,系主任,電話)
教師(教師號,姓名,專業,職稱,性別,年齡)
關系對應的關系模式
管理(教師號,系號)
合并到實體“教師”后(只能合并到“多”的一端的關系模型):
教師(教師號,姓名,專業,職稱,性別,年齡,系號)
C、一個m:n關系轉換為一個關系模式。轉換的方法為:與該關系相連的各實體的碼以及關系本身的屬性均轉換為關系的屬性,新關系的碼為兩個相連實體碼的組合。
關系只能轉換為獨立模式,模式的屬性由關系本身的屬性及兩個實體的鍵構成;主鍵由兩端實體的鍵組合而成。
課程(課程號,課程名,學時,類別) 實體表
學生(學號,姓名,性別,專業,出生日期,照片) 實體表
選修(學號,課程號,分數) 關系表
D、三個或三個以上實體間的多元關系轉換為一個關系模式。
關系的屬性:與該多元關系相連的各實體的碼以及關系本身的屬性
關系的碼:各實體碼的組合
“講授”關系是一個三元關系,可以轉換為如下關系模式,其中課程號、職工號和書號為關系的組合碼:
講授(課程號,職工號,書號)
應用數據庫設計的范式理論對初始關系模型進行優化。數據庫設計的三大范式如下:
第一范式 每一個分類必須是一個不可分的數據項。屬性不可再分,確保每列的原子性。
第二范式 要求每個表只描述一件事情,每條記錄有唯一標識列。
第三范式 數據庫表中不包含已在其它表中已包含的非主關鍵字信息。
關系模式的規范化過程如下:
A、確定范式級別
考察關系模式的函數依賴關系,確定范式等級。
B、實施規范化處理
利用規范化方法和理論將關系模式規范化。
C、模式改進
合并:
將用于關聯查詢的具有相同主鍵的各表合并可提高查詢效率
分解:
水平分解,將關系的元組分為若干子集,提高查詢效率;垂直分解,把關系中經常一起使用的屬性分解出來,形成一個子關系,提高執行效率。分解時要保持無損連接和函數依賴。
教學管理系統
由ER模型轉化為的關系模型:
學生(學號、姓名、性別、生日、籍貫、民族、入學日期、專業號)實體表
專業(專業號、專業名稱、類別、學院號)實體表
學院(學院號、學院名稱、院長)實體表
課程(課程號、課程名稱、學分、學院號)實體表
成績表(學號、課程號、成績)關系表
在轉換為關系模型時,一對多的聯系都在相應的多方實體的關系中增加一個外鍵。
需求的增加:
如果教學管理系統還要管理教師教學安排,教師包括編號、姓名、年齡、職稱,一個教師只能屬于一個學院,一名教師可以上若干門課程,一門課程可以有多名老師來上,每個教師所上的每門課都有一個課堂號和課時數。
教師實體的ER圖:
教學管理系統ER圖:
關系表 多對多
成績表 (學號,課程號,成績,時間,地點)
物理結構設計:對于給定的邏輯數據模型,選取一個最適合應用環境的物理結構。數據庫的物理結構設計分為兩步:
A、確定物理結構:存取方法和存儲結構
B、評價物理結構:評價重點是時間和空間效率
根據具體的數據庫管理系統所提供的多種存儲結構和存取方法等依賴于具體計算機結構的各項物理設計措施,對具體的應用任務選定最合適的物理存儲結構(數據類型 索引 主鍵)。
(1)存儲結構的設計
物理結構中,數據的基本存取單位是存儲記錄。
某一類型的所有存儲記錄的集合稱為文件。
確定數據庫存儲結構時要綜合考慮存取時間、存儲空間利用率和維護代價三方面的因素。例如消除一切冗余數據雖然能夠節約存儲空間,但往往會導致檢索代價的增加,因此必須進行權衡,選擇一個折中方案。
(2)數據存取路徑的設計
在關系數據庫中,選擇存取路徑主要是指確定如何建立索引。例如,應把哪些域作為次碼建立次索引,建立單碼索引還是組合索引,建立多少個為合適,是否建立聚集索引等。
(3)數據存放位置的設計
為了提高性能,可將數據的易變部分、穩定部分、經常存取部分和存儲頻率較低部分分開存放。
(4)系統配置的設計
DBMS產品一般都提供了一些存儲分配參數,供設計人員和DBA對數據庫進行物理優化。初始情況下,系統都為這些變量賦予了合理的缺省值,但是這些值不一定適合每一種應用環境,在進行物理設計時,需要重新對這些變量賦值以改善系統的性能。
物理結構設計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權衡,其結果可以產生多種方案,數據庫設計人員必須對方案進行細致的評價,從中選擇一個較優的方案作為數據庫的物理結構。
評價物理數據庫的方法完全依賴于所選用的DBMS,主要是從定量估算各種方案的存儲空間、存取時間和維護代價入手,對估算結果進行權衡、比較,選擇出一個較優的合理的物理結構。
教學管理系統
表1-1 學院
表1-2 專業
表1-3 學生
表1-4 課程
表1-5 成績單
數據庫實施:指根據邏輯設計和物理設計的結果,在計算機上建立起實際的數據庫結構、裝入數據、進行測試和試運行的過程。
學生表:
課程表:
專業表:
學院表:
成績表:
數據庫運行與維護的主要任務包括:
A、維護數據庫的安全性與完整性
B、監測并改善數據庫性能
C、重新組織和構造數據庫
只有數據庫系統在運行,就需要不斷地進行修改、調整和維護。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。