跳轉到內容

資料庫設計/資料建模

來自華夏公益教科書

資料建模是資料庫設計過程的第一步。此步驟有時被認為是高階和抽象的設計階段,也稱為概念設計。此階段的目的是描述

  • 資料庫中包含的資料(例如,實體:學生、講師、課程、科目)
  • 資料項之間的關係(例如,學生由講師監督;講師教授課程)
  • 資料的約束(例如,學號正好有八位數字;科目只有四或六個學分)

在第二步中,資料項、關係和約束都使用高階資料模型提供的概念來表達。由於這些概念不包括實現細節,因此資料建模過程的結果是資料庫結構的(半)正式表示。這個結果很容易理解,因此它被用作參考以確保滿足所有使用者的需求。

第三步是資料庫設計。在此步驟中,我們可能有兩個子步驟:一個稱為資料庫邏輯設計,它在特定 DBMS 的資料模型中定義資料庫,另一個稱為資料庫物理設計,它定義內部資料庫儲存結構、檔案組織或索引技術。這兩個子步驟是資料庫實現和操作/使用者介面構建步驟。

在資料庫設計階段,資料使用特定的資料模型來表示。資料模型是用於描述資料、資料關係、資料語義和資料約束的概念或符號的集合。大多數資料模型還包括一組用於操作資料庫中資料的基本操作。

資料抽象的程度

[編輯 | 編輯原始碼]

在本節中,我們將從特異性的角度來看資料庫設計過程。就像任何設計都從高層開始,並逐步進入越來越詳細的層次一樣,資料庫設計也是如此。例如,在建造房屋時,您首先要考慮房屋有多少臥室和浴室,是單層還是多層等。下一步是請建築師從更結構化的角度設計房屋。這個級別在實際房間大小、房屋的佈線方式、水管裝置的位置等方面變得更加詳細。最後一步是僱用承包商來建造房屋。這就是從高層次抽象到越來越詳細的設計水平。

資料庫設計非常類似。它從使用者識別業務規則開始;然後資料庫設計人員和分析人員建立資料庫設計;然後資料庫管理員使用 DBMS 實現設計。

以下小節按抽象級別遞減的順序總結了模型。

外部模型

[編輯 | 編輯原始碼]
  • 表示使用者對資料庫的檢視
  • 包含多個不同的外部檢視
  • 與每個使用者感知的現實世界密切相關

概念模型

[編輯 | 編輯原始碼]
  • 提供靈活的資料結構能力
  • 呈現“社群檢視”:整個資料庫的邏輯結構
  • 包含儲存在資料庫中的資料
  • 顯示資料之間的關係,包括
    • 約束
    • 語義資訊(例如,業務規則)
    • 安全性和完整性資訊
  • 將資料庫視為各種型別的實體(物件)的集合
  • 是主要資料物件的識別和高階描述的基礎;它們避免細節
  • 與您將使用的資料庫無關

內部模型

[編輯 | 編輯原始碼]

這類模型中最著名的三個是關係資料模型、網路資料模型和層次資料模型。這些內部模型

  • 將資料庫視為固定大小記錄的集合
  • 更接近物理級別或檔案結構
  • 是 DBMS 看待資料庫的表示。
  • 要求設計人員將概念模型的特性和約束與所選實現模型的特性和約束相匹配
  • 涉及將概念模型中的實體對映到關係模型中的表

物理模型

[編輯 | 編輯原始碼]
  • 是資料庫的物理表示
  • 具有最低的抽象級別
  • 是資料的儲存方式;它們處理
    • 執行時效能
    • 儲存利用率和壓縮
    • 檔案組織和訪問方法
    • 資料加密
  • 是物理級別 - 由作業系統 (OS) 管理
  • 提供描述資料如何在計算機記憶體中儲存的細節的概念

資料抽象層

[編輯 | 編輯原始碼]

從圖示的角度來看,您可以看到不同的模型是如何協同工作的。讓我們從最高級別,外部模型,來看這一點。

外部模型是終端使用者對資料的檢視。通常,資料庫是一個企業系統,它滿足多個部門的需求。但是,一個部門並不關心看到其他部門的資料(例如,人力資源 (HR) 部門不關心檢視銷售部門的資料)。因此,一個使用者檢視將不同於另一個使用者檢視。

外部模型要求設計人員將一組需求和約束細分為可在其外部模型框架內檢查的功能模組(例如,人力資源與銷售)。

作為資料設計人員,您需要了解所有資料,以便構建企業範圍的資料庫。根據各個部門的需求,概念模型是第一個建立的模型。

在此階段,概念模型獨立於軟體和硬體。它不依賴於用於實現模型的 DBMS 軟體。它不依賴於用於實現模型的硬體。硬體或 DBMS 軟體的更改不會影響概念級別的資料庫設計。

一旦選擇了一個 DBMS,您就可以實現它。這就是內部模型。在這裡,您建立所有表、約束、鍵、規則等。這通常被稱為邏輯設計

物理模型只是資料在磁碟上的儲存方式。每個資料庫供應商都有自己的資料儲存方式。

圖 5.1. 資料抽象層。

模式是資料庫的總體描述,通常用實體關係圖 (ERD) 表示。有許多子模式代表外部模型,因此顯示資料的外部檢視。以下是資料庫設計過程中需要考慮的一些事項。

  • 外部模式:有多個
  • 多個子模式:這些顯示資料的多個外部檢視
  • 概念模式:只有一個。此模式包括資料項、關係和約束,所有這些都用 ERD 表示。
  • 物理模式:只有一個

邏輯和物理資料獨立性

[編輯 | 編輯原始碼]

資料獨立性是指使用者應用程式不受資料定義和組織更改影響的能力。資料抽象僅公開對使用者重要或相關的項。複雜性對資料庫使用者隱藏。

資料獨立性和操作獨立性共同構成資料抽象的特徵。資料獨立性有兩種型別:邏輯和物理。

邏輯資料獨立性

[編輯 | 編輯原始碼]

邏輯模式是對資料庫進行的概念性設計,在紙上或白板上完成,就像房屋的建築圖紙一樣。能夠在不改變外部模式或使用者檢視的情況下改變邏輯模式的能力被稱為邏輯資料獨立性。例如,在該概念模式中新增或刪除新實體、屬性或關係應該可以在不改變現有外部模式或重寫現有應用程式的情況下實現。 

換句話說,對邏輯模式的更改(例如,對資料庫結構的修改,如新增列或其他表)不應該影響應用程式(外部檢視)的功能。

物理資料獨立性

[編輯 | 編輯原始碼]

物理資料獨立性是指內部模型不受物理模型更改的影響。即使對檔案組織或儲存結構、儲存裝置或索引策略進行了更改,邏輯模式也保持不變。

物理資料獨立性處理的是從使用者應用程式中隱藏儲存結構的細節。應用程式不應該涉及這些問題,因為對資料的操作沒有區別。

關鍵術語

[編輯 | 編輯原始碼]
概念模型
整個資料庫的邏輯結構
概念模式
邏輯模式的另一個術語
資料獨立性
使用者應用程式不受資料定義和組織更改的影響
資料模型
描述資料、資料關係、資料語義和資料約束的概念或符號的集合
資料建模
資料庫設計過程中的第一步
資料庫邏輯設計
  在特定資料庫管理系統的資料庫模型中定義資料庫
資料庫物理設計
定義內部資料庫儲存結構、檔案組織或索引技術
實體關係圖 (ERD)
描述資料庫的資料模型,顯示錶、屬性和關係
外部模型
表示使用者對資料庫的檢視
外部模式
使用者檢視
內部模型
從 DBMS 角度來看資料庫的表示
邏輯資料獨立性
在不改變外部模式的情況下更改邏輯模式的能力
邏輯設計
建立所有表、約束、鍵、規則等的地方
邏輯模式
對資料庫進行的概念性設計,在紙上或白板上完成,就像房屋的建築圖紙一樣
作業系統 (OS)
管理物理模型的物理級別
物理資料獨立性
內部模型不受物理模型更改的影響
物理模型
資料庫的物理表示
模式
對資料庫的總體描述
  1. 描述概念設計的目的。
  2. 概念設計與邏輯設計有何不同?
  3. 什麼是外部模型?
  4. 什麼是概念模型?
  5. 什麼是內部模型?
  6. 什麼是物理模型?
  7. 資料庫管理員使用哪個模型?
  8. 終端使用者使用哪個模型?
  9. 什麼是邏輯資料獨立性?
  10. 什麼是物理資料獨立性?

另見附錄 A:大學註冊資料模型示例

本《資料庫設計》章節是 Nguyen Kim Anh 編寫的《資料庫系統概念》的衍生作品,該作品根據知識共享署名許可 3.0 許可證獲得許可

以下材料由 Adrienne Watt 撰寫

  1. 部分或全部介紹、資料抽象程度、資料抽象層
  2. 關鍵術語
  3. 練習

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書