(数据库系统概论|王珊)第一章绪论-第二节:数据模型
文章目錄
- 一:什么是數據模型
- 二:兩類數據模型
- (1)概念模型(信息模型)
- A:定義
- B:相關術語
- C:概念模型的一種表示方法:實體-聯系方法
- (2)邏輯模型和物理模型
- 三:數據模型的組成要素
- 四:層次模型、網狀模型和關系模型
- (1)層次模型
- A:層次模型的數據結構(二叉樹)
- B:層次模型優缺點(了解)
- (2)網狀模型
- A:網狀模型的數據結構(圖)
- B:網狀模型的優缺點(了解)
- (3)關系模型
- A:關系模型的數據結構
- B:關系模型的優缺點
一:什么是數據模型
數據模型:計算機是不可能直接處理現實世界中的具體事物的,所以人們必須事先把具體事物轉化為計算機能夠處理的數據。因此數據模型是對現實世界數據特征的抽象,也即數據模型是用來描述數據、組織數據和對數據進行操作的。它應該滿足下面三點要求
- 比較真實地模擬現實世界
- 容易被人理解
- 便于在計算機上實現
二:兩類數據模型
就像在建筑設計和施工的不同階段需要不同圖紙一樣,在開發實施數據庫應用系統中也需要使用不同的數據模型,根據模型應用的不同目的,可分為兩大類
- 概念模型(信息模型)
- 邏輯模型和物理模型
為了把現實世界中的具體事物抽象、組織為某一數據庫管理系統支持的數據模型,人們常常首先將現實世界抽象為信息世界,然后將信息世界轉換為機器世界。也就是說,首先把現實世界中的客觀對象抽象為某一種信息結構,這種信息結構并不依賴于具體的計算機系統,不是某一個數據庫管理系統支持的數據模型,而是概念級的模型:然后再把概念模型轉換為計算機上某一數據庫管理系統支持的數據模型
- 從現實世界到概念模型的轉換是由數據庫設計人員完成的
- 從概念模型到邏輯模型的轉換可由數據庫設計人員完成
- 從邏輯模型到物理模型的轉換主要是由數據庫管理系統完成
(1)概念模型(信息模型)
A:定義
概念模型:是按用戶的觀點來對數據和信息建模,用于數據庫設計
B:相關術語
實體: 客觀存在并可以相互區別的事物。實體可以是具體的人、事、物,也可以是抽象的概念或聯系
- 比如職工、學生、學生的一次選課、教師與院系的工作關系
屬性: 實體所具有的某一特性。一個實體可以由若干屬性刻畫
- 比如(201315121, 張山,男,199505, 計算機系,2013) 即表征了一個學生
碼: 唯一標識實體的屬性
- 比如人的身份證號
實體型:用實體名及其屬性集合來抽象和刻畫同類實體
- 比如學生(學號,姓名,性別,出生年月,所在院系)就是一個實體型
實體集:同一類型實體的集合
- 例如全體學生就是一個實體集
聯系:在現實世界中,事物內部以及事物之間是有聯系的,這些聯系在信息世界中反映為實體(型)內部的聯系和實體(型)之間的聯系。實體內部的聯系通常是指組成實體的各屬性之間的聯系,實體之間的聯系通常是指不同實體集之間的聯系
- 實體之間的聯系有一一對一、-對多和多對多 等多種類型
C:概念模型的一種表示方法:實體-聯系方法
實體聯系方法用E-R圖來描述現實世界的概念模型,所刻畫的某些也稱為E-R模型
(2)邏輯模型和物理模型
邏輯模型:是按計算機系統的觀點對數據建模,主要用于數據庫管理系統的實現。主要包括
- 層次模型
- 網狀模型
- 關系模型
- 面向對象數據模型
- 對象關系數據模型
- 半結構化數據模型
物理模型:是對數據最底層的抽象,它描述數據在系統內部的表示方式和存取方法,或在磁盤或磁帶上的存儲方式和存取方法,是面向計算機系統的。數據庫設計人員需要了解和選擇物理模型,但用戶不需要考慮物理細節
三:數據模型的組成要素
數據結構:數據結構是所研究的對象類型的集合
數據操作:是指對數據庫中各種對象(型)的實例(值)允許執行的操作及有關的操作規則
- 查詢
- 更新
數據的完整性約束條件:數據的完整性約束條件是一組完整性規則的集合,規定數據庫狀態及狀態變化所應滿足的條件,以保證數據的正確性、有效性和相容性
- 實體完整性
- 參照完整性
四:層次模型、網狀模型和關系模型
層次模型和網狀模型逐漸已被關系模型取代,所以對于前兩個重點掌握概念即可,關系模型是重點,同時關系模型對應的關系數據庫將在第二章重點介紹
(1)層次模型
A:層次模型的數據結構(二叉樹)
在數據庫中定義滿足下面兩個條件的基本層次聯系的集合就為層次模型
- 有且只有一個結點沒有雙親結點,此結點為根節點
- 根結點以外的所有結點有且只有一個雙親結點
在層次模型中每個結點表示一個記錄類型,記錄類型之間的聯系用結點之間的連線(有向邊)表示,這種聯系是父子之間的一對多的聯系
例如
B:層次模型優缺點(了解)
優點
- 層次模型的數據結構較為簡單清晰
- 層次模型的查詢效率高
- 層次模型提供了良好的完整性支持
缺點
- 層次模型不能很好的表示多對多聯系
- 插入,刪除麻煩,編寫程序復雜
- 查詢子女結點必須通過雙親結點
- 由于結構嚴密,層次命令趨于程序化
(2)網狀模型
A:網狀模型的數據結構(圖)
在數據庫中定義滿足下面兩個條件的基本層次聯系的集合就為網狀模型
- 允許一個以上的結點無雙親
- 一個結點可以有多于一個的雙親
例如
B:網狀模型的優缺點(了解)
優點
- 能夠更為直接地描述現實世界
- 具有良好的性能,存取效率較高
缺點
- 結構復雜,不利于用戶掌握
- 其DDL、DML復雜,嵌入高級語言中也難以讓用戶掌握
- 用戶需要了解結構細節,加重了編寫程序的負擔
(3)關系模型
A:關系模型的數據結構
關系不同于上面的兩種模型,它是建立在嚴格的數學概念上的(更嚴格的定義在二章給出)。
從用戶的角度看,關系模型由一組關系組成,每個關系的數據結構是一張規范化的二維表
涉及術語如下
關系:一個關系對應一張表
元組:表中一行或者是一條記錄叫做一個元組
屬性:表中一列叫做一個屬性,給每一個屬性起一個名稱叫做屬性名
碼:用于唯一確定一個元組
域:屬性的取值范圍
分量:元組的每一個屬性值,關系的每一個分量都不可以再分
關系模式:對關系的描述,必須是規范化的
- 關系名(屬性1,屬性2,… ,屬性n)
B:關系模型的優缺點
優點
- 建立在嚴格的數學概念的基礎上
- 關系模型的概念單一,無論實體還是聯系都用關系表示,對數據的檢索和更新結果也是關系。因此簡單、清晰,易用
- 關系模型的存取路徑對用戶透明
缺點
- 查詢效率往往不如格式化數據模型
- 開發相應數據庫管理系統難度大
總結
以上是生活随笔為你收集整理的(数据库系统概论|王珊)第一章绪论-第二节:数据模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TOJ 4105
- 下一篇: (王道408考研数据结构)第八章排序-第