概念數據模型、邏輯數據模型、物理數據模型

  最近在系統的學習數據庫存儲方面的知識加上在公司經常聽同事們說起CDM,結合前段時間對MySQL的使用的心得將概念數據模型(Concept Data Model,CDM)、邏輯數據模型(Logical Data Model,LDM)、物理數據模型(Physical Data Model,PDM)做個簡單的介紹。本文將介紹這三種模型的基本概念以及他們之間的不同。

  在討論三種數據模型之前,我們首先學習一下所謂的數據模型。數據模型由三部分組成:數據結構、數據操作和數據約束。

  1. 數據結構:數據結構主要描述數據的類型、內容、性質、以及數據之間的聯繫,是整個數據模型的基礎,而針對數據的操作和數據之間的約束都是建立在數據結構的基礎上的;
  2. 數據操作:主要定義了在相應的數據結構上的操作類型和操作方式(數據庫中的增刪改查等);
  3. 數據約束:數據約束主要用來描述數據庫中數據結構之間的語法、詞義聯繫以及彼此之間的相互約束和制約關係(如MySQL中使用外鍵保證數據之間的數據完整性);

  1.概念數據模型(CDM)

  概念數據模型是現實世界到信息世界的第一層抽象,主要是在高水平和麪向業務的角度對信息的一種描述,通常作爲業務人員和技術人員之間溝通的橋樑。作爲現實世界的概念化結構,這種數據模型使得數據庫的設計人員在最初的數據庫設計階段將精力集中在數據之間的聯繫上,而不用同時關注數據的底層細節(如所用的計算機系統的特性以及數據庫管理系統---DBMS的特性)。

  概念數據模型主要的貢獻在於分析數據之間的聯繫,它是用戶對數據存儲的一種高度抽象,反應的是用戶的一種業務層面的綜合信息需求。

  在這個階段一般會形成整個數據模型或者是軟件系統中的實體的概念以及實體之間的聯繫,爲構建邏輯數據模型奠定基礎。下圖中描述了現實世界和信息世界以及最終轉換成計算機世界信息的轉換流程。

  

圖 1    數據的抽象以及轉換流程圖

  設計概念數據模型的主要工具是E-R圖,擴展的E-R圖。

  2.邏輯數據模型(LDM)

  邏輯數據模型是對概念數據模型進一步具體化,在概念數據模型定義實體的基礎上定義了各個實體的屬性,是用戶數據庫的角度能夠看到的數據的模型,是所使用的數據庫管理系統(Database Management System,DBMS)所支持的數據類型(網狀數據模型、層次數據模型、關係數據模型)。這種數據模型架起了用戶系統之間的橋樑,既要面向用戶,同時也考慮到了所用的DBMS所支持的特性。

  邏輯數據模型反映了系統分析設計人員針對數據在特定的存儲系統(如MySQL)的觀點,是對概念數據模型的進一步細化和劃分。邏輯數據模型是根據業務之間的規則產生的,是關於業務對象、業務對象數據以及業務對象彼此之間關係的藍圖。

  邏輯數據模型的內容包括所有的實體、實體的屬性、實體之間的關係以及每個實體的主鍵、實體的外鍵(用於維護數據完整性)。其主要目標是儘可能詳細的描述數據,但是並不涉及這些數據的具體物理實現。邏輯數據模型不僅會最終影響數據庫的設計方向,並最終會影響到數據庫的性能(如主鍵設計、外鍵等都會最終影響數據庫的查詢性能)。

  邏輯數據模型是開發物理數據庫的完整文檔,邏輯數據模型主要採用的是層次模型、網狀模型、關係模型,其中最常用的是關係模型,對應的數據庫稱之爲關係型數據庫,如MySQL。

  3.物理數據模型(PDM)

  物理數據模型,又稱爲物理模型,是概念數據模型和邏輯數據模型在計算機中的具體表示。該模型描述了數據在物理存儲介質上的具體組織結構,不但與具體的數據庫管理系統相關,同時還與具體的操作系統以及硬件有關,但是很多工作都是由DBMS自動完成的,用戶所要做的工作其實就是添加自己的索引等結構即可。

  物理數據模型是在邏輯數據模型的基礎上,綜合考慮各種存儲條件的限制,進行數據庫的設計,從而真正實現數據在數據庫中的存放。其主要的工作是根據邏輯數據模型中的實體、屬性、聯繫轉換成對應的物理模型中的元素,包括定義所有的表和列,定義外鍵以維持表之間的聯繫等,具體例子如下:

圖2 邏輯數據模型到對應的數據庫之間的轉換示例

   小結:

  本篇文章只是針對剛接觸的幾種數據模型做一個簡單的解釋,接下來會詳細介紹邏輯數據模型中幾種數據模型、實體之間的聯繫、以及概念數據模型到邏輯數據模型之間的轉化等內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章