13.1 數據庫設計概述
13.1.1 數據庫系統設計內容
數據庫設計包含兩方面的內容。
1. 結構特性設計
結構特性設計通常是指數據庫模式或數據庫結構設計,它應該具有最小冗余的、能滿足不同用戶數據需求的、能實現數據***享的系統。數據庫結構特性是靜態的,應留有擴充余地,使系統容易改變。
2. 行為特性設計
行為特性設計是指應用程序、事物處理的設計。
13.1.2 數據庫設計特點
數據庫設計是壹項綜合性技術。“三分技術,七分管理,十二分基礎數據”是數據庫建設的基本規律。數據庫設計的特點是:
硬件、軟件和管理界面相結合。
結構設計和行為設計相結合。
13.2 數據庫設計步驟
見圖。
13.3 數據庫結構設計
13.3.1 需求分析
需求分析的目標是準確了解系統的應用環境,了解並分析用戶對數據及數據處理的需求。
1. 收集需求信息
壹般來講,用戶對數據庫的要求如下:
(1)信息需求
(2)處理需求
(3)安全性與完整性要求
2. 分析整理
分析的過程是對所收集到的數據進行抽象的過程。下面是“高校收費管理系統”的用戶需求分析:
每年新生入學時學費基本信息的輸入
每年老生離校時學生基本信息的刪除
查詢、打印學生的交費情況
查詢、打印降級生的交費情況
進入學費管理系統的安全性條件設計
3. 數據流圖
數據庫設計中采用數據流圖(DFD:Data Flow Diagram)來描述系統的功能。DFD壹般由下面圖素構成。
:數據及其流動方向,直線上方標明數據流名稱
:數據處理,圓圈內標明處理名稱
:數據流的終點和源點,方框內標明相應的名稱
:文件和數據存儲,在其內標明相應名稱
例如:高校收費管理系統
4.數據字典
數據字典(DD:Data Dictionary)用於記載系統中的各種數據、數據元素以及它們的名字、性質、意義及各類約束條件,記錄系統中用到的常量、變量、數組及其他數據單位,是系統開發與維護中不可缺少的重要文件。數據字典是關於數據庫中數據的壹種描述,而不是數據本身。數據字典是在需求分析階段建立,在數據庫設計過程中不斷修改、充實、完善的。
數據字典產生於數據流圖,是對數據流圖中的四個成分(數據流、數據項、文件和處理)描述的結果。其中:
數據流描述:定義數據流的組成,壹般包含若幹數據項,通常在數據流圖的下方通過“說明”定義。
文件描述:定義文件的組成以及文件的組織方式,如學生交費數據可用下面方法描述:
交費數據=學號+姓名+收費標準+應交學費+待交學費+本次交款
數據項描述:定義數據項,壹般包括名稱、類型長度、允許範圍等。如學生交費數據文件中的數據項。
數據項名稱 類型 長度(字節) 範圍
學號 字符 8 H、G和數字
姓名 字符 8 任何字母
收費標準 正整數 5 0-99999
應交學費 正整數 5 0-99999
待交學費 正整數 5 0-99999
本次交款 正整數 5 0-99999
數據處理的描述:說明數據處理的邏輯關系,即輸入與輸出之間的邏輯關系。同時,也要說明數據處理的觸發條件、錯誤處理等問題。
13.3.2 概念結構設計
概念結構的目標是將需求分析得到的用戶需求抽象為數據庫的概念結構,即概念模式。概念結構設計形成壹個獨立於具體DBMS的概念模型。描述概念模式的是E―R圖。
1. 局部E-R模型設計
局部E―R模型設計是從數據流圖出發確定實體和屬性,並根據數據流圖中表示的對數據的處理、確定實體之間的聯系。
2. 總體E-R模型設計
將各個局部E―R圖加以綜合,使同壹個實體只出現壹次,便可產生總體E―R圖。
13.3.3 邏輯結構設計
數據庫的邏輯結構設計的目標就是將概念結構轉換成特定的DBMS所支持的數據模型,並對其優化的過程。邏輯設計階段壹般分三個過程進行:
將概念結構轉換為壹般的關系、網狀、層次模型;
將由概念結構轉換來的模型向所選用DBMS支持的數據模型轉換;
對數據模型進行優化
13.3.4 物理設計
數據庫的物理設計目標是在選定的DBMS上建立起邏輯設計結構確立的數據庫的結構。這項工作壹般由系統程序員完成。數據庫的物理設計通常分為兩步進行。
1. 確定數據庫的物理結構
在關系數據庫中,確定數據庫的物理結構主要指確定數據存放位置和存儲結構,包括確定關系、索引、日誌、備份等數據的存儲分配合存儲結構,確定系統配置等工作。
2. 對所確定的物理結構進行評價
13.4 應用程序設計
數據庫的應用程序設計和壹般的應用程序設計方法基本相同。
應用程序的設計方法可以采用壹般的程序設計方法。
13.5 運行和維護
13.5.1 數據載入數據庫
13.5.2 數據庫系統試運行
在試運行階段應當註意:
1. 數據的加載過程應先輸入小部分數據進行試運行
2. 應註意數據庫的轉儲和恢復工作
13.5.3 數據庫系統的運行和維護
在數據庫系統正式運行階段,對數據庫的經常性維護工作是由DBA來實施的,他的工作主要包括:
1. 數據庫的轉儲和恢復
2. 數據庫的安全性和完整性控制
3. 數據庫性能的監督、分析和改造
4. 數據庫的重組與重構
(1)數據庫的重組
(2)數據庫的重構
13.6 小結
本章通過高校收費管理系統數據庫的構建與設計過程的詳細描述,學習了數據庫設計的基本方法,數據庫設計的基本流程,E-R圖的建立和到關系模式的轉換,學習了軟件工程的基本思想,為後續課程數據庫開發技術打好基礎。