天天看點

資料庫結構設計

1、層次資料庫結構

層次資料庫結構将資料通過一對多或父結點對子結點的方式組織起來。一個層次資料庫中,根表或父表位于一個類似于樹形結構的最上方,它的子表中包含相關資料。層次資料庫模型的結構就像是一棵倒轉的樹。

優點:

  • 快速的資料查詢
  • 便于管理資料的完整性

缺點:

  • 使用者必須十分熟悉資料庫結構
  • 需要存儲備援資料

2、網狀資料庫結構

網狀資料庫結構是用連接配接指令或指針來組織資料的方式。資料間為多對多的關系。矢量資料描述時多用這種資料結構。

優點:

  • 快速的資料通路
  • 使用者可以從任何表開始通路其他表資料
  • 便于開發更複雜的查詢來檢索資料

缺點:

  • 不便于資料庫結構的修改
  • 資料庫結構的修改将直接影響通路資料庫的應用程式
  • 使用者必須掌握資料庫結構

3、關系資料庫結構

這就目前最流行的資料庫結構了。資料存儲的主要載體是表,或相關資料組。有一對一、一對多、多對多三種表關系。表關聯是通過引用完整性定義的,這是通過主碼和外碼(主鍵或外鍵)限制條件實作的。

優點:

  • 資料通路非常快
  • 便于修改資料庫結構
  • 邏輯化表示資料,是以使用者不需要知道資料是如何存儲的
  • 容易設計複雜的資料查詢來檢索資料
  • 容易實作資料完整性
  • 資料通常具有更高的準确性
  • 支援标準SQL語言

缺點:

  • 很多情況下,必須将多個表的不同資料關聯起來實作資料查詢
  • 使用者必須熟悉表之間的關聯關系
  • 使用者必須掌握SQL語言

4、面向對象資料庫結構

它允許用對象的概念來定義與關系資料庫互動。值得注意的是面向對象資料庫設計思想與面向對象資料庫管理系統理論不能混為一談。前者是資料庫使用者定義資料庫模式的思路,後者是資料庫管理程式的思路。

面向對象資料庫中有兩個基本的結構:對象和字面量。對象是一種具有辨別的資料結構,這些資料結構可以用來辨別對象之間的互相關系。字面量是與對象相關的值,它沒有辨別符。

優點:

  • 程式員隻需要掌握面向對象的概念,而不要掌握與面向對象概念以及關系資料庫有關的存儲
  • 對象具有繼承性,可以從其他對象繼承屬性集
  • 大量應用軟體的處理工作可以自動完成
  • 從理論上說,更容易管理對象
  • 面向對象資料模型與面向對象程式設計工具更相容

缺點:

  • 由于面向對象資料庫不支援傳統的程式設計方法,是以使用者必須了解面向對象概念
  • 目前面向對象資料庫模型還沒有統一的标準
  • 由于面向對象資料庫出現的時間還不長,穩定性還是一個值得關注的焦點

5、另外

還有兩種:古老的平面檔案資料庫結構和較新的對象關系資料庫結構。當然現在還有人用純XML文檔作資料庫。