資料庫的設計一共分多少個階段呢,嚴格來說,不止三個階段,今天我們僅討論其中的三個階段。概念設計、邏輯設計和實體設計階段。
首先要搞清楚幾個問題,資料庫為什麼要分階段設計?三個階段有什麼聯絡?要說清楚這幾個問題,只有理論是說不清的,我們還是來舉個例子吧。
現在有一個圖書館,需要為讀者資訊、圖書資訊、借閱資訊建立一個資料庫,讀者資訊包括姓名、學號、性別、辦卡日期、家庭住址、聯絡電話、類別等,圖書資訊包括編號、作者、出版資訊、頁數、登記日期等,借閱資訊包括借書證號、圖書編號、書名、借還日期等,這麼多的資訊,如果在沒有進行分析之前就開始設計資料庫是不現實的。所以,首先要把這些資料進行分類、整理(概念性模型),然後畫出圖表或者表格,最後畫出這些資料資訊的關係結構(邏輯模型),甚至制定資料庫的儲存記錄格式、儲存記錄安排、和存取方法(物理模型)使使用者能簡單、方便、容易的存取資料。所以,資料庫設計必須經過這三個設計階段,下面我們來詳細討論這三個設計階段。
一 從上面的例子,我們可以得出以總結出三個階段(模型)各自的特點:
1 概念性模型:首先,概念性模型是一個工具,是資料庫設計人員和客戶進行交流的平台;它獨立於硬體和軟體;概念性模型表達了資料的整體邏輯結構,它是系統使用者對整個應用項目設計的資料的全面描述;概念性模型是從使用者的觀點出發,對資料建模。
2 邏輯模型:邏輯模型首先也是一個工具,它是資料庫設計人員和應用程式員進行交流的平台;邏輯模型獨立於硬體,但是卻依賴於軟體(資料庫系統);邏輯模型表達了資料庫的整體邏輯結構,但它是設計人員對整個項目資料庫的全面描述;邏輯模型是從資料庫實現的觀點出發,對資料建模。
3 物理模型:物理模型(內部模型)是資料庫最底層的抽象,它描述資料在磁碟或磁帶上的儲存方式(檔案的結構)、存取裝置(外存的空間分配)和存取方法(主索引和輔助索引)。
概念性模型和邏輯模型各有不同,用一個表格對比一下。
特點 |
功能 |
出發點 |
獨立性 |
使用者 |
概念性模型 |
表達了資料的整體邏輯結構 |
使用者需求 |
獨立於硬體和軟體 |
設計人員和使用者 |
邏輯模型 |
表達了資料庫的整體邏輯結構 |
資料庫實現 |
獨立於硬體但是依賴於軟體(資料庫系統) |
設計人員和應用程式員 |
二 咱們再從資料描述來探討他們的區別於聯絡。
1 資料庫的概念設計是根據使用者的需求設計資料庫的概念結構,他以規範的形式,表達了使用者需求所涉及事物的理解。這一階段用到四個術語:
實體:客觀存在,可以相互區別的事物就是實體,它可以是具體的對象,一個人,一個房子等等,也可以是一個抽象的對象,馬克思主義,毛澤東思想等等;
實體集:簡單來說就是同類實體的集合,我們都學過集合,這個概念就不深究了;屬性:實體的特性就是屬性,這個概念可以對比vb控制項來學習,每一個屬性都有一個值域,它的類型也是各種各樣。
實體標識符:能唯一標識實體的屬性或屬性集,也稱關鍵碼(key)。
2 資料庫的邏輯設計是根據概念設計的結果設計資料庫的邏輯結構,及表達方式和實現方法。邏輯設計有許多方法,每個方法都有一套術語,下面列舉最常用的一套術語:
欄位:標記實體屬性的命名單位,它是可以命名的最小實體單位,又稱為資料元素或初等項,它的命名WangWang和屬性名稱相同。
記錄:欄位的有序集合成為記錄,一般用一個記錄來描述一個實體。
檔案:同一類記錄的集合。
關鍵碼:能唯一標識檔案中每個記錄的欄位或欄位集。
用一個表格來對比概念和邏輯設計中資料的聯絡:
概念設計 |
實體 |
屬性 |
實體集 |
實體標識符 |
|
…… |
…… |
…… |
…… |
邏輯設計 |
記錄 |
欄位 |
檔案 |
關鍵碼 |
3 資料庫實體設計,它涉及到了硬體知識,咱們這裡只做介紹,不做討論了。高速緩衝儲存空間(Cache):訪問速度最快,最貴的儲存空間;主儲存空間:也就是記憶體;快擦科協儲存空間:介於記憶體和硬碟之間的一種儲存空間;磁碟儲存空間:俗稱硬碟;光儲存空間:光碟片;磁帶等。下面用一張圖來描述他們的儲存層次關係:
三 理論性的東西沒有直觀性,我們還以上面圖書館的例子為基礎,繼續討論三個設計階段的特點和聯絡。
首先應該分析資料資訊,畫出他們的聯絡,下面是讀者和圖書之間的簡單關係圖(ER圖)
這個簡單的ER圖直觀的表達除了讀者和圖書之間的關係,根據這個圖,我們可以列出五個相互聯絡的表格,聯絡如下:
這五個表格就是資料庫邏輯設計的表格的內容了。具體資料庫表格就不畫了。