數據庫原理(二)- 數據模型

數據模型是什麼?

數據模型(Data Model)是一種模型,它是對現實世界數據特徵的抽象。可以說數據模型是用來描述數據、組織數據和對數據進行操作的,是數據庫系統的核心和基礎

數據模型的分類

數據模型應滿足三方面要求,一是能比較真實地模擬現實世界,二是容易爲人所理解,三是便於在計算機上實現,分別對應概念模型邏輯模型物理模型。通常分爲兩類數據模型,第一類是概念模型,第二類是邏輯模型和物理模型。
在這裏插入圖片描述

物理模型

物理模型是對數據最底層的抽象,它描述數據在系統內部的表示方式和存取方法,或在磁盤或磁帶上的存儲方式和存儲方法,是面向計算機系統的

概念模型

由上圖可以概念模型實際上是現實世界到機器世界的一箇中間層次,用於信息世界的建模,是現實世界到信息世界的第一層抽象,在概念模型中有一些基本概念,如圖所示:
在這裏插入圖片描述

邏輯模型

邏輯模型是按計算機系統的觀點對數據建模,主要用於數據庫管理系統的實現。常用的邏輯模型主要有層次模型網狀模型關係模型面向對象數據模型對象關係數據模型半結構化數據模型,這裏詳細說一下前三種。

層次模型

層次模型是用樹形結構來表示各類實體以及實體間的聯繫,如公司的行政系統、家族族譜等

在這裏插入圖片描述
層次模型的數據結構

  1. 有且只有一個結點沒有雙親結點,這個結點稱爲根節點
  2. 根以外的其他結點有且只有一個雙親結點

層次模型的數據操縱與完整性約束

  1. 插入時,如果沒有相應的雙親結點值就不能插入它的子女節點值
  2. 刪除時,如果刪除雙親結點值,則相應的子女結點值也將同時被刪除

層次模型的優缺點

優點:

  1. 層次模型的數據結構比較簡單清晰
  2. 層次模型庫的查詢效率高
  3. 層次數據模型提供了良好的完整性支持

缺點:

  1. 現實世界中很多聯繫是非層次性的,如節點之間具有多對多聯繫
  2. 查詢子女結點必須通過雙親結點
  3. 層次模型中對插入、刪除操作的限制比較多,因此應用程序的編寫比較複雜
  4. 由於結構嚴密,層次命令趨於程序化
網狀模型

層次模型是用圖來表示各類實體以及實體間的聯繫,如公司的拓撲網絡
在這裏插入圖片描述
網狀模型的數據結構

  1. 允許一個以上的結點無雙親
  2. 一個結點可以有多於一個的雙親

網狀模型的數據操縱與完整性約束

  1. 支持記錄碼的概念,碼即唯一標識記錄的數據項的集合
  2. 保證一個聯繫中雙親記錄和子女記錄之間是一對多的聯繫
  3. 可以支持雙親記錄和子女記錄之間的某些約束條件,例如層次模型中的約束

網狀模型的優缺點

優點:

  1. 能夠更爲直接地描述現實世界,如多對多關係
  2. 具有良好的性能,存取效率較高

缺點:

  1. 結構比較複雜,不利於最終用戶掌握
  2. 網狀模型的DDL、DML複雜,並且要嵌入某一種高級語言(如COBOL、C)中
  3. 由於記錄之間的聯繫是通過存取路徑實現,增加了編寫應用程序的負擔
關係模型

關係模型是基於謂詞邏輯和集合論的一種數據模型,可以如一張二維表一樣

no name sex Birthdate site Admission Date
1 李明 199505 江蘇省南京市 2013

關係模型的數據結構

  1. 關係,一個關係對應通常說的一張表,如上
  2. 元組,表中的一行即爲一個元組
(1,李明,男,199505,江蘇省南京市,2013)
  1. 屬性,表中的一列即爲一個屬性
如no、name、sex、Birthdate、site、Admissiondate皆是屬性
  1. 碼,也稱碼鍵,是表的唯一標識符
如表中學號(no)即使唯一標識符
  1. 域,一組具有相同數據類型的值的集合
如性別字段的佔用字符爲1
  1. 分量,元組中的一個屬性值
每一個分量都是一個不可再分的數據項
  1. 關係模式,對關係的描述
學生(學號,學生姓名,性別,出生年月,地址,入學年份)

關係模型的數據操縱和完整性約束

關係模型中的數據操縱有增刪改查等操作,完整性約束包括實體完整性、參照完整性和用戶自定義的完整性

關係模型的優缺點

優點:

  1. 關係模型與格式化模型不同,它是建立在嚴格的數據概念的基礎上的
  2. 關係模型的概念單一,無論實體還是實體之間的聯繫都用關係來表示,操作對象和操作結構都是關係
  3. 關係模型的存取路徑對用戶透明,從而具有更高的數據獨立性、更好的安全保密性,也簡化了程序員的工作和數據庫開發建立的工作

缺點:

  1. 由於存取路徑對用戶是透明的,查詢效率往往不如格式化數據模型
  2. 爲了提高性能,數據庫管理系統必須對用戶的查詢請求進行優化,因此增加了開發數據庫管理系統的難度

數據模型的組成要素

數據模型的組成要素主要包括數據結構、數據操作和數據的完整性約束條件

數據結構
數據結構描述數據庫的組成對象以及對象之間的聯繫,是所描述的對象類型的集合,是對系統靜態特性的描述

數據操作
數據操作是指數據庫中各種對象(型)的實例(值)允許執行的操作的集合,包括操作及有關的操作規則,是對系統動態特性的描述

數據的完整性約束條件
數據的完整性約束條件是一組完整性規則,包括實體完整性、參照完整性和用戶自定義完整性

借鑑

王珊,薩師煊.數據庫系統概論(第五版)[M].北京:高等教育出版社,2014:14-27.

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