數據庫的三種模型

前言

數據模型是數據庫系統的核心,本文簡要介紹三種主要的數據庫模型。


一、格式化模型

格式化模型是層次模型和網狀模型的統稱

1.層次模型

① 層次數據模型的概念

層次模型用屬性結構來表示各類實體以及實體間的聯繫

② 層次模型的數據結構

特點:

  1. 結點的雙親是唯一的;
  2. 只能直接處理一對多的實體聯繫;
  3. 每個記錄類型可以定義一個排序段,也稱碼字段;
  4. 任何記錄值只有按其路徑查看時才能顯出它的全部意義;
  5. 沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。

③層次模型的數據操縱

  • 查詢
  • 插入
  • 刪除
  • 更新

④層次模型的完整性約束

  1. 無對應的雙親結點值就不能插入子女結點;
  2. 如果刪除雙親結點則相應的子女節點值也被同時刪除;
  3. 更新操作時,應更新所有相應記錄,以保證數據的一致性。

⑤層次模型的優缺點

  • 優點
    層次模型的數據結構比較簡單清晰;
    查詢效率高,性能優於關係模型,不低於網狀模型;
    層次數據模型提供了良好的完整性支持。


  • 缺點
    結點之間的多對多聯繫表示不自然;
    對插入和刪除操作的限制多,應用程序的編寫比較複雜;
    查詢子女結點必須通過雙親結點;
    層次命令趨於程序化;



2.網狀模型

①網狀模型的概念

網狀數據庫系統採用網狀模型作爲數據的組織方式
✧典型代表是DBTG系統:
■亦稱CODASYL系統
■20世紀70年代由DBTG提出的一個系統方案
必實際系統
■Cullinet Software公司的IDMS
■Univac公司的DMS1100
■Honeywell公司的IDS/2
■HP公司的IMAGE







②網狀模型的數據結構

滿足下面兩個條件的基本層次聯繫的集合:

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

表示方法(與層次數據模型相同)

  • 實體型:用記錄類型描述
    每個結點表示-一個記錄類型(實體)
  • 屬性:用字段描述
    每個記錄類型可包含若千個字段
  • 聯繫:用結點之間的連線表示記錄類型(實體)之間的一對多的父子聯繫

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

網狀數據庫系統(如DBTG)對數據操縱加
了一些限制,提供了–定的完整性約束
■碼:唯一標識記錄的數據項的集合
■一個聯繫中雙親記錄與子女記錄之間是一-對多聯繫
■支持雙親記錄和子女記錄之間某些約束條件



④網狀模型的優缺點

  • 優點
    a.能夠更爲直接地描述現實世界,如一個結點可以有多個雙親
    b.具有良好地性,存取效率較高

  • 缺點
    a.結構比較複雜,而且隨着應用環境地擴大,數據庫就變得越來越複雜,不利於最終用戶掌握
    b.DDL、DML語言複雜,用戶不容易使用
    c.記錄之間聯繫是通過存取路徑實現地,用戶必須瞭解系統結構地細節


3.網狀模型與層次模型的區別

■網狀模型允許多個結點沒有雙親結點
■網狀模型允許結點有多個雙親結點
■網狀模型允許兩個結點之間有多種聯繫(複合聯繫)
■網狀模型可以更直接地描述現實世界
■層次模型實際上是網狀模型的一一個特例



二、關係模型

①關係模型的概念

關係數據庫系統採用關係模型作爲數據的組織方式
心970年美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了數據庫系統的關係模型
計算機廠商新推出的數據庫管理系統幾乎都支持關係模型

②關係模型的數據結構

在用戶觀點下,關係模型中數據的邏輯結構是一張二維表,它由行和列組成。

  • 關係(Relation)
    ●一個關係對應通常說的一張表

  • 元組(Tuple)
    ●表中的一行即爲一個元組

  • 屬性(Attribute )
    ●表中的一列即爲一個屬性,給每–個屬性起一個名稱即屬性名

  • 主碼(Key)
    ●也稱碼鍵。表中的某個屬性組,它可以唯一 確定一個元組

  • 域(Domain )
    ●是一組具有相同數據類型的值的集合。屬性的取值範圍來自某個域。

  • 分量
    ●元組中的一一個屬性值。

  • 關係模式 ●對關係的描述 關係名(屬性1,屬性2,,.屬性n) 學生(學號,姓名,年齡,性別,系名,年級)

關係必須是規範的,滿足一定的約束條件
最基本的約束條件: 關係的每一個分量必須是一個不可分的數據項,不允許表中還有表

一個工資表(表中有表)實例

③關係模型的操縱與完整性約束

  • 數據操作是集合操作,操作對象和操作結果都是關係
    ■查詢
    ■插入
    ■刪除
    ■更新



  • 存取路徑對用戶隱蔽,用戶只要指出“千什麼 ’,不必詳細說明‘ “怎麼幹”
  • 關係的完整性約束條件
    ■實體完整性
    ■參照完整性
    ■用戶定義的完整性


④關係數據庫的優缺點

  • 優點
    1.建立在嚴格的數學概念的基礎上
    2.概念單一
    ●實體和各類聯繫都用關係來表示
    ●對數據的檢索結果也是關係
    3.關係模型的存取路徑對用戶透明
    ●具有更高的數據獨立性,更好的安全保密性
    ●簡化了程序員的工作和數據庫開發建立的工作






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

總結

數據庫領域當前的研究工作都是以關係方法爲基礎,所以大家學習數據庫的時候應該把重點放在關係數據庫上。

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