一、數據庫系統三級模式與二級映像
層次結構圖
1、若從數據庫管理員(DBA)的視角來看,數據庫系統可分為內部系統結構和外部體系結構,其中內部體系結構通常采用三級模式結構。
(1)模式 也稱為概念模式或邏輯模式,對應於概念級,它是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。 不僅要定義數據的邏輯結構,還要定義數據之間的聯系,定義與數據相關的安全性、完整性等要求。它是由DBMS描述語言(DataDescription Language,DDL)來描述、定義的,體現、反映了數據庫系統的整體觀。
(2)外模式 也稱為子模式或用戶模式,對應於用戶級,它是數據庫用戶能夠看見和使用的局部數據的邏輯結構和特征的描述,是與某一應用有關的數據的邏輯表示。 外模式實際上是用於滿足不同數據庫用戶需求的數據視圖,即用戶視圖。用戶可以通過外模式描述語言來描述、定義對應於用戶的數據記錄(外模式),也可以利用數據操縱語言(DataManipulation Language,DML)對這些數據記錄進行。外模式反映了數據庫的用戶觀。
(3)內模式 內模式也稱為存儲模式,對應於物理級,它是對數據庫中數據物理結構和存儲方式的描述,是數據在數據庫內部的表示形式,是數據庫最低一級的邏輯描述,它描述了數據在存儲介質上的存儲方式和物理結構,對應着實際存儲在外存儲介質上的數據庫。 內模式實際上是整個數據庫的最底層表示,它不同於物理層,是數據庫管理員 (DBA)所見到的,特定的 DBMS 所處理的數據庫的內部結構,即內部視圖或存儲視圖。內模式定義了所有內部記錄類型、索引和文件的組織方式,以及所有數據控制方面的細節。內模式由內模式描述語言來描述、定義,它是數據庫的存儲觀。
2、二級映像
1、外模式/模式映像:所謂映像,就是一種對應規則,它指出映像雙方是如何進行轉換的。通過外模式一模式映射,定義和建立某個外模式與模式間的對應關系,將外模式與模式聯系起來,當模式發生改變時,只要改變其映射,就可以使外模式保持不變,對應的應用程序也可保持不變;
2、模式/內模式映像:定義了數據庫全局邏輯結構與物理存儲之間的對應關系,模式/內模式映像是唯一的。通過模式一內模式映射,定義建立數據的邏輯結構(模式)與存儲結構(內模式)間的對應關系,當數據的存儲結構發生變化時,只需改變模式一內模式映射,就能保持模式不變,因此應用程序也可以保持不變。
通過外模式-模式映射和模式-內模式映射這兩個映射保證了數據庫系統中的數據具有較高的邏輯獨立性和物理獨立性。
當數據庫模式發生變化時,例如關系數據庫系統中增加新的關系、改變關系的屬性數據類型等,可以調整外模式/模式間的映像關系,保證面向用戶的各個外模式不變。應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與應用程序的邏輯獨立性,簡稱數據的邏輯獨立性。
當數據庫中數據物理存儲結構改變時,即內模式發生變化,例如定義和選用了另一種存儲結構,可以調整模式/內模式映像關系,保持數據庫模式不變,從而使數據庫系統的外模式和各個應用程序不必隨之改變。這樣就保證了數據庫中數據與應用程序間的物理獨立性,簡稱數據的物理獨立性。
二、數據模型
1、概念
數據模型:描述的是數據的共性內容,是對現實世界數據特征的抽象,用於描述一組數據的概念和定義。數據模型是數據庫中數據的存儲方式,是數據庫系統的基礎。在數據庫中,數據的物理結構又稱數據的存儲結構,就是數據元素在計算機存儲器中的表示及其配置;數據的邏輯結構則是指數據元素之間的邏輯關系,它是數據在用戶或程序員面前的表現形式,數據的存儲結構不一定與邏輯結構一致。

· 層次結構圖
2、數據特征與數據模型組成要素
數據的特征:
(1)靜態特征:包括數據的基本結構、數據間的聯系以及對數據取值范圍的約束;
(2)動態特征:是指對數據可以進行符合一定規則的操作。
組成要素:
數據模型通常由數據結構、數據操作和數據約束三個要素組成。數據結構描述的是系統的靜態特性,即數據對象的數據類型、內容、屬性以及數據對象之間的聯系。數據操作描述的是系統的動態特性,是對各種對象的實例允許執行的操作的集合,包括操作以及有關的操作規則。數據約束描述數據結構中數據間的語法和語義關聯,包括相互制約與依存關系以及數據動態變化規則,以保證數據的正確性、有效性與相容性。
3、數據模型的分類
數據模型是模型化數據和信息的工具,也是數據庫系統的核心和基礎。
(1)概念層數據模型
概念層數據模型也稱為數據的概念模型或信息模型,它用來描述現實世界的事物,與具體的計算機系統無關,且獨立於任何DBMS,但容易向 DBMS 所支持的邏輯數據模型轉換。
概念模型的表示方法:用 E-R 圖來描述現實世界的概念模型,實體用矩形表 示;屬性用橢圓形表示;聯系用菱形表示。
(2)邏輯層數據模型
邏輯層是數據抽象的中間層,描述數據整體的邏輯結構。 主要的邏輯數據模型有層次模型、網狀模型、關系模型、面向對象模型。
1)、層次模型:數據庫最早使用的數據模型。特點:有且僅有一個結點沒有父結 點,它稱作根結點;其他結點有且僅有一個父結點。
2)、網狀模型:以網狀結構表示實體與實體之間的聯系。
3)、關系模型:用二維表結構來表示實體及實體間聯系的模型,並以二維表格的形式組織數據庫中的數據。關系模型是建立在嚴格的數學概念基礎上的;關系模型的概念單一,統一用關系來表示實體以及實體之間的聯系,對數據的檢索和更新結果同樣也是用關系來表示;關系模型的存取路徑對用戶透明,從而具有更高的數據獨立性、更好的安全保密性,也簡化了程序員的工作和數據庫開發建立的工作。
4)、面向對象模型:與數據庫相結合所構成的數據模型稱為面向對象模型。
(3)物理層數據模型
物理層數據模型,也稱為數據的物理模型,其描述數據在存儲介質上的組織結構,是邏輯模型的物理實現,即每一種邏輯模型在實現時都有與其相對的物理模型。從現實世界到概念模型的轉換是由數據庫設計人員完成的;從概念模型到邏輯模型的轉換可以由數據庫設計人員完成,也可以用數據庫設計工具協助設計人員完成;從邏輯模型到物理模型的轉換是由數據庫管理系統完成的。
三、關系數據模型
關系模型包含三個組成要素,分別是關系數據結構、關系操作集合和關系完整性約束。
關系數據庫系統:支持關系模型的數據庫系統。
1、關系數據結構
關系模型只包含單一的數據結構,即關系。在關系模型中,現實世界的實體以及實體間的各種聯系,均是使用關系來表示。在用戶看來,關系模型是把數據庫表示為關系的集合,且關系數據庫是以二維表格的形式組織數據。
表:也稱為關系,是一個二維的數據結構。
關系:一個關系邏輯上對應一張二維表,可以為每個關系取一個名稱進行標識。關系可以有三種類型,即基本關系、查詢表和視圖表。
1)基本關系通常又稱為基本表或基表,是實際存在的表,它是實際存儲數據的邏輯表示;
2)查詢表是查詢結果;
3)視圖表是由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數據。
4)參照關系和被參照關系:參照關系也稱為從關系,被參照關系也稱為主關系,它們是指以外碼相關聯的兩個關系。以外碼作為主碼的關系稱為被參照關系;外碼所在的關系稱為參照關系。被參照關系與參照關系是通過外碼相聯系的,這種聯系通常是一對多的聯系。
5)關系模式:同數據模型一樣,數據庫也有型和值之分。在關系數據庫中,關系模式是型,關系是值,即關系模式是對關系的描述。關系模式是靜態的、穩定的,而關系是動態的、隨時間不斷變化的。這是因為關系操作在不斷地更新着數據庫中的數據。人們常常會把關系模式和關系都籠統地稱為關系。
6)關系數據庫
以關系模式作為數據的邏輯模型,並采用關系作為數據組織方式的一類數據庫,其數據庫操作建立在關系代數的基礎上。在一個給定的應用領域中,所有關系的集合構成一個關系數據庫。 關系數據庫對關系是有限定的,具體要求如下:
6.1).每一個屬性都是不可分解的。
6.2).每一個關系僅僅有一種關系模式。
6.3).每一個關系模式中的屬性必須命名,在同一個關系模式中,屬性名必須是不同的。
6.4).同一個關系中不允許出現候選碼或候選鍵值完全相同的元組。
6.5).在關系中元組的順序是無關緊要的,可以任意交換。
6.6).在關系中屬性的順序是無關緊要的,可以任意交換。
7)其他概念,如,列、 屬性、表中的行、元組、分量、主碼或主鍵、全碼或全鍵、主屬性和非主屬性、外碼或外鍵、域、數據類型、碼或鍵、超碼或超鍵、候選碼或候選鍵。
2、 關系的完整性約束
數據庫的數據完整性是指數據庫中數據的正確性、相容性和一致性。
關系模型中有三類完整性約束,分別是實體完整性約束、參照完整性約束和用戶定義完整性約束。
(1)實體完整性約束
實體完整性約束是指關系的主屬性,即主碼的組成不能為空,也就是關系的主 屬性不能是空值 NULL。
(2)參照完整性約束
參照完整性約束就是定義外碼和主碼之間的引用規則,它是對關系間引用數據的一種限制。描述定義:若屬性 F 是基本關系 R 的外碼,它與基本關系 S 的 主碼 K 相對應,則對 R 中每個元組在 F 上的值只允許兩種可能,即要么取空值, 要么等於 S 中某個元組的主碼值。
(3)用戶定義完整性約束
用戶定義的完整性約束是針對某一應用環境的完整性約束條件,它反映了某一具體應用所涉及的數據應滿足的要求。
(4)關系模型完整性約束的檢驗
為了維護關系數據庫中數據的完整性,在對關系數據庫執行插入、刪除和更新操作時,需要檢驗是否滿足上述三類完整性約束。
非常感謝您的閱讀,如需轉載請注明出處,本文鏈接https://www.cnblogs.com/huyangshu-fs/p/11620600.html