張橋珍
【摘 要】數據庫技術是現代信息科學與技術的重要組成部分,是計算機數據處理與信息管理系統的核心。數據庫技術研究和解決了計算機信息處理過程中大量數據有效地組織和存儲的問題。本文主要論述規范數據庫設計的必要性和數據庫設計的流程。
【關鍵詞】數據庫應用 數據庫設計規范 數據庫設計流程
引言
隨著計算機技術與網絡通信技術的發展,數據庫技術已成為信息社會中對大量數據進行組織與管理的重要技術手段及軟件技術。數據庫的應用領域非常廣泛,不管是家庭、公司或大型企業,還是政府部門,都需要使用數據庫來存儲數據信息。目前關系型數據庫已成為主流,下面也是針對關系型數據庫進行論述的。
一、規范數據庫設計的必要性
數據庫設計,簡單地說就是規劃和結構化數據庫中數據對象以及這些對象之間關系的過程。良好的數據設計能夠節省數據庫的存儲空間,能夠保證數據的完整性,方便進行數據庫應用系統的開發。無論是SQL Server還是Oracle數據庫,通過進行規范化的數據庫設計,都可以使你的程序更具有可讀性,更容易擴展,從而也會提升項目的應用性能。
二、數據庫設計的流程
目前設計數據庫系統主要采用的是以邏輯數據庫設計和物理數據庫設計為核心的規范設計方法。其中邏輯數據庫設計是根據用戶要求和特定數據庫管理系統的具體特點,以數據庫設計理論為依據,設計數據庫的全局邏輯結構和每個用戶的局部邏輯結構。物理數據庫設計是在邏輯結構確定之后,設計數據庫的存儲結構及其他實現細節。一般將數據庫設計分為以下六個階段:需求分析階段、概要設計階段、邏輯設計階段、物理設計階段、數據庫實施階段、數據庫運行維護階段。這里重點討論在各個階段的數據庫設計過程。
1.需求分析階段
主要是分析客戶的業務和數據處理需求。
需求分析階段的重點是調查、收集并分析客戶業務數據需求、處理需求、安全性與完整性需求等。
常用的需求調查方法有:在客戶的單位跟班實習、組織召開調查會、邀請專人介紹、設計調查表并請用戶填寫、查閱業務相關記錄等。
常用的需求分析方法有:調查客戶的單位組織情況、各部門的業務需求情況、協助客戶分析系統的各種業務需求、確定新系統的邊界。無論數據庫的大小和復雜程序如何,在進行數據庫的系統分析時,都可以參考下列基本步驟:收集信息、標識實體、標識每個對象需要存儲的詳細信息、標識對象之間的關系。
2.概要設計階段
主要是繪制E-R圖,用于在項目團隊內部、設計人員和客戶之間進行溝通,確認需求信息的正確和完整。
在需求階段解決了客戶的業務和數據處理需求后,就進入了概要設計階段,此時需要和項目團隊的其他成員以及客戶溝通,討論數據庫的設計是否滿足客戶的業務和數據處理需求。與機械行業需要機械制圖、建筑行業需要施工圖紙一樣,數據庫設計也需要圖形化的表達式——E-R實體關系圖,它也包括一些具有特定含義的圖形符號,分兩個步驟完成:
◆確定“實體-關系”模型;
◆繪制E-R圖。
3.邏輯設計階段
將E-R圖轉換為多張表,進行邏輯設計,確認各表的主外鍵,并應用數據數據庫的3大規范進行審核。
(1)將E-R圖轉換為表。
◆將各實體轉換為對應的表,將各屬性轉換為各表的對應的列。
◆標識每個表的主鍵列,需要注意的是:對沒有主鍵的表添加ID編號列,它沒有實際含義,只用作主健或外鍵。
◆在表之間體現實體之間的映射關系。
(2)規范設計要求
◆第一范式(1NF)。第一范式的目標是確保每列的原子性,即每個列都是不可分的最小數據單元。
◆第二范式(2NF)。第二范式在第一范式的基本上,更進一層,其目標是確保表中的每列都和主鍵相關:如果一個關系滿足了第一范式(1NF),并且除了主鍵以外的其他列,都依賴于該主鍵,則滿足第二范式(2NF)。
◆第三范式(3NF)。第三范式在第二范式的基礎上,更進一層,第三范式的目標是確保每列都和主鍵直接相關,而不是間接相關;如果一個關系滿足不了第二范式(2NF),并且除了主鍵(或組合鍵)以外的其他列都不依賴于主鍵(或組合鍵),則滿足第三范式(3NF)。
4.物理設計階段
邏輯數據模型要選取一個具體的工作環境,這個工作環境提供了數據存儲結構與存取方法,這個過程就是數據庫的物理設計。物理結構依賴于給定的DBMS和和硬件系統,因此設計人員必須充分了解所用RDBMS的內部特征、存儲結構、存取方法。數據庫的物理設計通常分為兩步,第一,確定數據庫的物理結構,第二,評價實施空間效率和時間效率。數據庫物理設計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權衡,選擇一個優化方案作為數據庫物理結構。在數據庫物理設計中,最有效的方式是集中地存儲和檢索對象。物理設計完成之后,就應該得到詳細的磁盤分配方案、存儲方案、各種基表的詳細信息等。根據這些信息就可以建立數據庫了。
5.數據庫實施階段
數據庫的實施,就是組織數據入庫、編制應用程序、試運行。包括建立數據庫、創建數據表、增加約束和創建視圖、觸發器和存儲過程等。為了完成相應的操作和檢索,需要編制很多程序,形成一個程序系統來使用該數據庫,這部分是程序設計的任務。一切就緒之后,就可以試運行數據庫了。
6.系統管理和維護
數據庫試運行結果符合設計目標后就可以真正投入運行了。數據庫投入運行標志著開發任務基本完成和維護工作開始,并不意味著設計過程的終結。由于應用環境在不斷地變化,數據庫運行過程中物理存儲也不會不斷變化。對數據庫設計進行評價、調整、修改等維護工作是一項長期的任務,也是設計工作的繼續和改進。
結論
總之,我們在進行數據庫設計時,每個階段都要認真、全面的分析。設計的結果既能滿足應用系統的業務需求,準確的表達數據間關系,又能保證數據的準確性和一致性,提高數據的查詢效率,有好的擴展性,在必要時能根據需求擴展數據結構。