數據模型(上篇)

前言

本文主要對教材第二章主要知識點進行彙總。若有不足還請見諒。
適用教材:《數據庫原理與SQL Server 2012》(第二版)
點擊此處學習其他章節


隨着科技的發展我們的世界變得越來越多姿多彩,在這樣豐富的世界中信息也成爲了重要的一部分,今天我們就來隨着本文一起來感受一下計算機中的信息世界。
說了這麼多,那麼什麼是信息呢?讓我們用教材中的定義來解釋一下。

信息就是通過各種方式傳播的能被感受的聲音、文字、圖像、符號等。簡單地說,信息就是新的、有用的事實和知識。

信息需要載體才能表示。信息通過加工可以用一系列的數據來表示,而在不同的領域中,數據的描述也有所不同

1.信息的三種世界

1.1 現實世界

現實世界就是人們所能看到的、接觸到的世界。
現實世界中主要涉及以下概念:

  1. 實體(Entity)
    現實世界中可以區分的客觀事物或概念。通常表現爲名詞 例如:人,書,星星,大象…
  2. 實體的特徵(Entity Characteristic)
    特徵可用來區分不同的實體。例如:一個人的年齡,電視的大小,樓房的高低…
  3. 實體集(Entity Set)及實體集間的聯繫(Relation)
    具有相同特徵或能用相同特徵描述的實體的集合稱爲實體集。
    例如:所有的人爲人的實體集,所有的星星爲星星的實體集

1.2 信息世界

  1. 實例(Example)
    實體通過其特徵表示稱爲實例。實例與現實世界中的實體相對應。
  2. 屬性(Attribute)
    實體的特徵在人們的思想意識中形成的知識稱爲屬性。一個實例可擁有多個屬性,能唯一標識一個實體的屬性或屬性集稱爲(Key),每個屬性的範圍稱爲該屬性的域(Domain)
  3. 對象(Object)即對象間的聯繫(Relation)
    與現實世界中第三條類似,此處不做多餘解釋

1.3 計算機世界

計算機世界又稱數據世界,是將信息世界中的信息經過抽象和組織,按照特定的數據結構,即數據模型,將數據存儲在計算機中

  1. 字段
    用來標記實體的一個屬性,它是可以命名的最小信息單元。例如:一個學生有學號、性別、年齡等字段。
  2. 記錄
    與現實世界中的實體對應
  3. 文件
    同一類記錄的集合。與信息世界中的對象對應。文件的存儲形式有:順序文件,鏈接文件,索引文件等
  4. 文件集
    若干個文件的集合,與信息世界中對象集對應

1.4 三種世界的轉換

現實世界
認識抽象
信息世界

(概念模型)
計算機世界

(數據模型)
圖 2-1 信息的三種世界之間的轉換
表 2-1 信息的三種世界之間的對應關係
現實世界 信息世界 計算機世界
實體 實例 記錄
特徵 屬性 數據項
實體集 對象 文件
實體間的聯繫 對象間的聯繫 文件集
  概念模型 數據模型

2.概念模型

在把現實世界抽象爲信息世界的過程中,實際上是抽象出現實系統中有應用價值的元素及其關聯。這時形成的信息結構就是概念模型
概念模型用於信息世界的建模,是對現實世界的抽象和概括。

  1. 實體
    客觀存在並且可以相互區分的事物
  2. 屬性
    實體所具有的某一特徵

  3. 能夠在實體集中唯一標識一個實體的屬性

  4. 某個(些)屬性的取值範圍
  5. 實體性
    具有相同屬性的實體具有共同的特徵和性質。用實體名以及其屬性名集合來抽象和刻畫的同類實體。例如:學生(學號,姓名,性別)是一個實體性
  6. 實體集
    同類型的實體集合
  7. 聯繫
    • 一對一(1:1)
    • 一對多(1:n)
    • 多對多(m:n)

舉個栗子:

1:1
1:n
m:n
m
n
1
n
1
1
校長
管理
學校
學校
屬於
學生
學生
選修
課程
圖 2-2 兩個實體之間的聯繫

概念模型的表示方法很多,常見的有實體-聯繫法、擴充實體-聯繫法、面向對象模型法、謂詞模型法。其中最著名也最常用的是實體-聯繫法。該方法用E-R圖來描述現實世界的概念模型。

在E-R圖中長方形表示實體,橢圓表示屬性,菱形表示聯繫。

3.數據模型

數據模型是嚴格定義的一組概念的集合。精確的描述了系統的靜態和動態特性,是數據庫中用來對現實世界進行抽象的工具,是數據庫系統的核心與基礎,是描述數據的結構以及定義在其上的操作和約束條件

3.1 數據模型的基本概念

  1. 數據結構
    數據結構是相互之間存在一種或多種特定關係的對象元素的集合。
    根據對象元素之間關係的不同性質,通常由五種基本結構:集合、線形結構、樹形結構、圖狀結構和關係結構。
  2. 數據操作
    數據操作是指數據庫中各對象的實例允許執行的操作的集合,包括操作及有關的操作規則。
    數據庫包括檢索和更新(插入、刪除、修改)兩大類操作。
  3. 數據的完整性約束條件
    數據的約束條件是一組完整性規則的集合。

3.2 常用的數據模型

層次模型:

  1. 層次模型的定義及數據結構
    • 有且僅有一個節點,沒有雙親結點,這個節點稱爲根節點
    • 除根結點之外的其他節點有且僅有一個雙親結點
  2. 層次模型的數據操作和完整性約束條件
    • 在進行插入記錄操作時,如果沒有指明相應的父記錄值,則不能插入子記錄值
    • 在進行刪除記錄操作時,如果刪除父記錄值,則相應的子節點值也同時被刪除
    • 進行修改記錄操作時,如果記錄之間有關係,則應修改所有相應記錄,以保證數據的一致性
  3. 層次模型的優點
    • 本身結構簡單、清晰
    • 對於包含大量數據的數據庫來說,採用層次模型來實現,其效率很高
    • 層次數據模型提供了良好的完整性支持
  4. 層次模型的缺點
    • 層次模型表達能力有限,不能表示多對多聯繫
    • 數據冗餘度增加,查詢不靈活,特別是查詢子節點必須通過雙親節點
    • 對插入和刪除操作限制比較多
    • 編寫應用程序比較複雜,開發效率較低

網狀模型:

  1. 網狀模型的定義及數據結構
    • 有一個以上的節點沒有父節點
    • 節點可以有多於一個的父節點
  2. 網狀模型的數據操作和完整性約束條件
    • 支持記錄碼的概念
    • 保證一個聯繫中父節點記錄和子節點記錄是一對多的聯繫
    • 可以支持父節點記錄和子節點記錄之間的某種約束條件
  3. 網狀模型的優點
    • 能夠更直接地描述現實世界,能夠表示實體之間的多種複雜聯繫
    • 具有良好的性能,存取效率高
  4. 網狀模型的缺點
    • 結構比較複雜,不利於數據庫的擴充
    • 操作複雜,不利於用戶掌握
    • 開發效率低

關係模型:

  1. 關係模型術語
    • 關係:一個關係對應通常所說的一張二維表
    • 元組:表中一行稱爲一個元組
    • 屬性:表中一列稱爲一個屬性
    • 主碼:能夠唯一確定一個元組的屬性或屬性組
    • 域:屬性的取值範圍
    • 分量:元組中一個屬性值
    • 關係模式:關係的型。一般表示爲:關係名(屬性1,屬性2,…屬性n)
    • 聯繫:在關係模型中,實體以及實體間的聯繫都用關係來表示
  2. 關係模型的數據操作和完整性約束條件
    • 關係數據模型的操作主要包括查詢、添加、修改和刪除數據。數據之間還存在聯繫
    • 關係中的數據操作可看作是 集合或關係的操作,操作對象和操作結果都是集合(關係)。即操作的結果都是原表中導出的一個新表
    • 關係的完整性約束條件包括三大類:實體完整性、參照完整性和用戶定義的完整性
  3. 關係模型的特點
    • 建立在嚴格的數學基礎上
    • 概念單一,結構清晰,容易理解
    • 關係數據模型的存取路徑對用戶是隱蔽的,但關係數據模型對用戶是通用名的,從而簡化了用戶的工作,提高了效率
  4. 關係模型的優點
    • 使用表的概念來表示實體間的聯繫,簡單直觀
    • 使用結構化查詢語句,存取路徑對用戶透明,從而提高了數據的獨立性,簡化了程序員的工作
    • 建立在嚴格的數學概念的基礎上,具有堅實的理論基礎
  5. 關係模型的缺點
    • 關係模型的連接等查詢操作開銷大,需要較高性能計算機的支持,所以必須提供查詢優化功能

面向對象模型:
主要術語:

  • 對象
    現實世界中任一實體都被稱爲模型化的一個對象,每一個對象有唯一的標識
  • 封裝
    每一個對象都有其狀態,行爲封裝起來,其中狀態就是該對象屬性的集合,行爲就是該對象方法的集合

  • 具有相同屬性和方法的對象的集合。一個對象是某一類的一個實例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章