文章目錄
一、兩類數據模型
- 模型:實現世界特徵的模擬和抽象。
- 數據模型(Data Model):是現實世界數據特徵的抽象。(數據的表現形式)
- 數據模型的作用:提供給我們模型化數據和信息的工具。表示事物本身以及事物與事物之間的關係。(數據以什麼樣的形式存入數據庫)
- 數據模型應滿足三方面要求:
- 能比較真實地模擬現實世界;
- 容易爲人所理解;
- 便於在計算機上實現。
- 數據模型地分類:根據模型應用地不同目的,可以將模型分爲兩類(兩個不同層次)。
1. 概念模型(信息模型)
·按照用戶地觀點對數據和信息建模;
·獨立於計算機系統;
·主要用於數據庫基本結構(框架)的設計,是數據庫設計人員進行數據庫設計的依據。
2.邏輯模型和物理模型(數據模型)
-
邏輯(結構)模型
- 按計算機系統的觀點對數據建模;
- 決定了DBMS的類型。
-
物理模型
- 對數據最低層的抽象;
- 描述數據在系統內部的表示方式和存取方法。
邏輯模型決定物理模型
二、概念模型
1.概念模型中的基本概念
- 實體(Entity):客觀存在並可相互區別的事物。
- 屬性(Attribute):實體所具備的某一特性稱爲屬性。一個實體可以由若干個屬性來刻畫。
- 域(Domain):屬性的取值範圍稱爲該屬性的域。
- 實體集(Entity Set):所用屬性名完全相同的實體的集合。
- 實體型(Entity Type):實體集的名及所用屬性名的集合。
- 聯繫(Relationship)
(1)實體內部的聯繫:組成實體的各屬性之間的聯繫。
(2)實體之間的聯繫:不同實體集之間的聯繫。※
①一對一聯繫(1:1)
②一對多聯繫(1:n)
③多對多聯繫(m:n)
2.概念模型的表示方法
P.P.S.Chen 1976
實體—聯繫方法(Entity-Relationship Approach)E-R方法
或稱爲實體-聯繫模型,簡稱爲E-R模型或E-R圖
E-R圖它在描述客觀世界中實體、實體屬性及實體間的聯繫時採用不同的圖形記號:
實體型:用矩形表示,矩形中寫明實體名;
屬性:用橢圓表示,用無向邊鏈接實體;
聯繫:用菱形表示,用無向邊連接相應的實體,並在無向邊上標明聯繫的類型。
注意:
- E-R圖可以表示兩個以上實體間的聯繫
- 某些聯繫也具有屬性;
- 一個實體內部的一部分成員可以和另一部分成員有聯繫(is part of),稱爲自迴路(自迴路不是實體)。
3.概念模型的設計
分析E-R圖的方法:找實體和聯繫
設計E-R圖的方法:自底向上設計
- 需求分析
(1)任務:收集數據庫所有用戶的信息內容和處理需求,加以規格化和分析。
需求分析是整個設計過程的基礎,是最困難、最費時的一步。
(2)成果:數據字典(DD)
(3)建立數據字典
(4)建立數據流圖
- 設計分E-R圖(某幾個實體之間的E-R圖)
- 由分E-R圖合併成總E-R圖
說明:ER圖的結果不一定唯一:
- 本身就有多種實現解決方案
- 因爲需求描述不夠精確,不同的理解方式會產生不同的正確結果。
三、數據模型
數據模型通常由數據結構、數據造作和完整性約束三部分組成
1.數據結構
是所研究的對象類型的集合
作用:
- 數據結構是對系統靜態特性的描述;
- 數據結構是刻畫模型性質最基本的描述(數據模型的核心)。通常按照數據結構的類型來命名數據模型。
2.數據操作
指對數據庫中各種對象的實例允許執行的操作的集合,包括操作及有關的操作規則。
- 數據庫的兩大類操作:
- 檢索
- 更新(包括插入、刪除和修改)
數據操作是對系統動態特性的描述。
3.數據的完整性約束條件
是一組完整性規則的集合
- 完整性規則:是指數據模型中數據及其聯繫所具有的制約和依存規則,用以限定符合數據模型的數據庫狀態及狀態的變化,以保證數據的正確、有效、相容。
*
四、最常用的數據模型
數據模型根據採用的數據結構的類型,可劃分爲一下幾種類型:
1.層次模型——樹
- 數據結構:樹型
- 限制條件:
- 只有一個結點沒有雙親結點——根結點、
- 根以外的其他結點有且只有一個雙親結點
- 層次模型的數據操縱與完善性約束
層次模型的數據操縱主要有查詢、插入刪除和更新。進行插入、刪除、更新操作時要滿足層次模型的完整性約束條件。 - 層次模型的優缺點:
優點:
(1)其數據結構比較簡單清晰;
(2)查詢效率高;
(3)層次模型提供了良好的完整性支持。
缺點:
(1)現實世界中跟多聯繫時非層次性的,如結點之間具有多對多聯繫,不適合用層次模型表示;
(2)如果一個結點育有多個雙親結點等,用層次模型表示這類聯繫就根笨拙,只能通過引入冗餘數據(易產生不一致性)或創建非自然的數據結構(引入虛擬結點)來解決。
(3)查詢子女結點必須通過雙親結點;
(4)由於結構嚴密,層次命令趨於程序化。
2.網狀模型
典型代表:DBTG系統
- 網狀數據模型的數據結構
限制條件:
(1)允許一個以上的結點無雙親;
(2)一個結點可以有多餘一個的雙親。
- 網狀模型的數據操縱與完善性約束
網狀模型一般來說沒有層次模型那樣嚴格的完整性約束條件,但具體的網狀數據庫系統對數據操縱都加了一些限制,提供了一定的完整性約束。 - 網狀模型的優缺點:
優點:
(1)能夠更爲直接地描述現實世界,如一個結點可以有多個雙親,結點之間可以有多種聯繫。
(2)具有良好的性能,存取效率較高;
缺點:
(1)結構比較複雜,而且隨着應用環境地擴大,數據庫的結構就變得越來越複雜,不利於用戶的掌握;
(2)網狀模型的DDL、DML複雜,並且要嵌入某一種高級語言。用戶不容易掌握,不容易使用
(3)由於記錄之間的聯繫是通過存取路徑實現的,應用程序在訪問數據時必須算則適當的存取路徑,因此用戶必須瞭解系統結構的細節,加重了編寫應用程序的負擔。
3. 關係模型——二維表
關係數據庫系統採用關係模型作爲數據的組織方式由1970年IBM公司E.F.Codd首先提出。
- 關係數據模型的數據結構——二維表
- 相關概念:
- 關係(Relation):二維表;
- 元組(Tuple):表中的一行即爲一個元組(記錄);
- 屬性(Attribute):表中的一列即爲一個屬性(字段);
- 屬性名:一個屬性的名字(字段名);
- 域(Domain):屬性的取值範圍;
- 分量:元組中的一個屬性值(關係的每一個分分量須是一個不可分割的數據項,既不能存在表表結構)(單元格);
- 關係模式:對關係的描述,一般表示爲:關係名(屬性1,屬性2,…,屬性n)
- 碼(或關鍵字,簡稱鍵,Key)
(1)鍵:在一個關係中,能唯一標識一元組的屬性集
①候選鍵:不含多餘屬性的鍵。
②主鍵:關係模式中正在使用的候選鍵。
(2)外鍵:關係模式R中的某屬性集A(A不是R的主鍵)是另一關係模式S的主鍵,則A是R的外鍵。
-
關係模型的數據操縱與完善性約束
關係模型的數據操縱主要包括查詢、插入、刪除和更新數據。這些操作必須滿足關係的完整性約束條件。關係的完整性約束條件包括三大類:實體完整性、參照完整性和用戶定義的完整性。 -
關係模型的優缺點:
優點:
(1)關係模型與格式化模型不同,它是建立在嚴格的數學概念的基礎上的。
(2)關係模型的概念單一。無論實體還是實體之間的聯繫都用關係來表示。對數據的檢索和更新結果也是關係(即表)。所以其數據結構簡單、清晰,用戶易懂易用。
(3)關係模型的存取路徑對用戶透明,從而具有更高的數據獨立性、更好的安全保密性,也簡化了程序元的工作和數據庫開發建立的工作。
缺點:由於存取路徑對用戶是隱蔽的,查詢效率往往不如格式化數據模型。爲了提高性能,數據庫管理系統必須對用戶的查詢請求進行優化,因此增加了開發數據庫管理系統的難度。