1、數據庫系統三級模式與二級映像html
層次結構圖程序員
一、若從數據庫管理員(DBA)的視角來看,數據庫系統可分爲內部系統結構和外部體系結構,其中內部體系結構一般採用三級模式結構。數據庫
(1)模式 也稱爲概念模式或邏輯模式,對應於概念級,它是數據庫中全體數據的邏輯結構和特徵的描述,是全部用戶的公共數據視圖。 不只要定義數據的邏輯結構,還要定義數據之間的聯繫,定義與數據相關的安全性、完整性等要求。它是由DBMS描述語言(DataDescription Language,DDL)來描述、定義的,體現、反映了數據庫系統的總體觀。安全
(2)外模式 也稱爲子模式或用戶模式,對應於用戶級,它是數據庫用戶可以看見和使用的局部數據的邏輯結構和特徵的描述,是與某一應用有關的數據的邏輯表示。 外模式其實是用於知足不一樣數據庫用戶需求的數據視圖,即用戶視圖。用戶能夠經過外模式描述語言來描述、定義對應於用戶的數據記錄(外模式),也能夠利用數據操縱語言(DataManipulation Language,DML)對這些數據記錄進行。外模式反映了數據庫的用戶觀。數據結構
(3)內模式 內模式也稱爲存儲模式,對應於物理級,它是對數據庫中數據物理結構和存儲方式的描述,是數據在數據庫內部的表示形式,是數據庫最低一級的邏輯描述,它描述了數據在存儲介質上的存儲方式和物理結構,對應着實際存儲在外存儲介質上的數據庫。 內模式其實是整個數據庫的最底層表示,它不一樣於物理層,是數據庫管理員 (DBA)所見到的,特定的 DBMS 所處理的數據庫的內部結構,即內部視圖或存儲視圖。內模式定義了全部內部記錄類型、索引和文件的組織方式,以及全部數據控制方面的細節。內模式由內模式描述語言來描述、定義,它是數據庫的存儲觀。數據庫設計
二、二級映像工具
一、外模式/模式映像:所謂映像,就是一種對應規則,它指出映像雙方是如何進行轉換的。經過外模式一模式映射,定義和創建某個外模式與模式間的對應關係,將外模式與模式聯繫起來,當模式發生改變時,只要改變其映射,就可使外模式保持不變,對應的應用程序也可保持不變;spa
二、模式/內模式映像:定義了數據庫全局邏輯結構與物理存儲之間的對應關係,模式/內模式映像是惟一的。經過模式一內模式映射,定義創建數據的邏輯結構(模式)與存儲結構(內模式)間的對應關係,當數據的存儲結構發生變化時,只需改變模式一內模式映射,就能保持模式不變,所以應用程序也能夠保持不變。設計
經過外模式-模式映射和模式-內模式映射這兩個映射保證了數據庫系統中的數據具備較高的邏輯獨立性和物理獨立性。3d
當數據庫模式發生變化時,例如關係數據庫系統中增長新的關係、改變關係的屬性數據類型等,能夠調整外模式/模式間的映像關係,保證面向用戶的各個外模式不變。應用程序是依據數據的外模式編寫的,從而應用程序沒必要修改,保證了數據與應用程序的邏輯獨立性,簡稱數據的邏輯獨立性。
當數據庫中數據物理存儲結構改變時,即內模式發生變化,例如定義和選用了另外一種存儲結構,能夠調整模式/內模式映像關係,保持數據庫模式不變,從而使數據庫系統的外模式和各個應用程序沒必要隨之改變。這樣就保證了數據庫中數據與應用程序間的物理獨立性,簡稱數據的物理獨立性。
2、數據模型
一、概念
數據模型:描述的是數據的共性內容,是對現實世界數據特徵的抽象,用於描述一組數據的概念和定義。數據模型是數據庫中數據的存儲方式,是數據庫系統的基礎。在數據庫中,數據的物理結構又稱數據的存儲結構,就是數據元素在計算機存儲器中的表示及其配置;數據的邏輯結構則是指數據元素之間的邏輯關係,它是數據在用戶或程序員面前的表現形式,數據的存儲結構不必定與邏輯結構一致。
· 層次結構圖
二、數據特徵與數據模型組成要素
數據的特徵:
(1)靜態特徵:包括數據的基本結構、數據間的聯繫以及對數據取值範圍的約束;
(2)動態特徵:是指對數據能夠進行符合必定規則的操做。
組成要素:
數據模型一般由數據結構、數據操做和數據約束三個要素組成。數據結構描述的是系統的靜態特性,即數據對象的數據類型、內容、屬性以及數據對象之間的聯繫。數據操做描述的是系統的動態特性,是對各類對象的實例容許執行的操做的集合,包括操做以及有關的操做規則。數據約束描述數據結構中數據間的語法和語義關聯,包括相互制約與依存關係以及數據動態變化規則,以保證數據的正確性、有效性與相容性。
三、數據模型的分類
數據模型是模型化數據和信息的工具,也是數據庫系統的核心和基礎。
(1)概念層數據模型
概念層數據模型也稱爲數據的概念模型或信息模型,它用來描述現實世界的事物,與具體的計算機系統無關,且獨立於任何DBMS,但容易向 DBMS 所支持的邏輯數據模型轉換。
概念模型的表示方法:用 E-R 圖來描述現實世界的概念模型,實體用矩形表 示;屬性用橢圓形表示;聯繫用菱形表示。
(2)邏輯層數據模型
邏輯層是數據抽象的中間層,描述數據總體的邏輯結構。 主要的邏輯數據模型有層次模型、網狀模型、關係模型、面向對象模型。
1)、層次模型:數據庫最先使用的數據模型。特色:有且僅有一個結點沒有父結 點,它稱做根結點;其餘結點有且僅有一個父結點。
2)、網狀模型:以網狀結構表示實體與實體之間的聯繫。
3)、關係模型:用二維表結構來表示實體及實體間聯繫的模型,並以二維表格的形式組織數據庫中的數據。關係模型是創建在嚴格的數學概念基礎上的;關係模型的概念單一,統一用關係來表示實體以及實體之間的聯繫,對數據的檢索和更新結果一樣也是用關係來表示;關係模型的存取路徑對用戶透明,從而具備更高的數據獨立性、更好的安全保密性,也簡化了程序員的工做和數據庫開發創建的工做。
4)、面向對象模型:與數據庫相結合所構成的數據模型稱爲面向對象模型。
(3)物理層數據模型
物理層數據模型,也稱爲數據的物理模型,其描述數據在存儲介質上的組織結構,是邏輯模型的物理實現,即每一種邏輯模型在實現時都有與其相對的物理模型。從現實世界到概念模型的轉換是由數據庫設計人員完成的;從概念模型到邏輯模型的轉換能夠由數據庫設計人員完成,也能夠用數據庫設計工具協助設計人員完成;從邏輯模型到物理模型的轉換是由數據庫管理系統完成的。
3、關係數據模型
關係模型包含三個組成要素,分別是關係數據結構、關係操做集合和關係完整性約束。
關係數據庫系統:支持關係模型的數據庫系統。
一、關係數據結構
關係模型只包含單一的數據結構,即關係。在關係模型中,現實世界的實體以及實體間的各類聯繫,均是使用關係來表示。在用戶看來,關係模型是把數據庫表示爲關係的集合,且關係數據庫是以二維表格的形式組織數據。
表:也稱爲關係,是一個二維的數據結構。
關係:一個關係邏輯上對應一張二維表,能夠爲每一個關係取一個名稱進行標識。關係能夠有三種類型,即基本關係、查詢表和視圖表。
1)基本關係一般又稱爲基本表或基表,是實際存在的表,它是實際存儲數據的邏輯表示;
2)查詢表是查詢結果;
3)視圖表是由基本表或其餘視圖表導出的表,是虛表,不對應實際存儲的數據。
4)參照關係和被參照關係:參照關係也稱爲從關係,被參照關係也稱爲主關係,它們是指之外碼相關聯的兩個關係。之外碼做爲主碼的關係稱爲被參照關係;外碼所在的關係稱爲參照關係。被參照關係與參照關係是經過外碼相聯繫的,這種聯繫一般是一對多的聯繫。
5)關係模式:同數據模型同樣,數據庫也有型和值之分。在關係數據庫中,關係模式是型,關係是值,即關係模式是對關係的描述。關係模式是靜態的、穩定的,而關係是動態的、隨時間不斷變化的。這是由於關係操做在不斷地更新着數據庫中的數據。人們經常會把關係模式和關係都籠統地稱爲關係。
6)關係數據庫
以關係模式做爲數據的邏輯模型,並採用關係做爲數據組織方式的一類數據庫,其數據庫操做創建在關係代數的基礎上。在一個給定的應用領域中,全部關係的集合構成一個關係數據庫。 關係數據庫對關係是有限定的,具體要求以下:
6.1).每個屬性都是不可分解的。
6.2).每個關係僅僅有一種關係模式。
6.3).每個關係模式中的屬性必須命名,在同一個關係模式中,屬性名必須是不一樣的。
6.4).同一個關係中不容許出現候選碼或候選鍵值徹底相同的元組。
6.5).在關係中元組的順序是可有可無的,能夠任意交換。
6.6).在關係中屬性的順序是可有可無的,能夠任意交換。
7)其餘概念,如,列、 屬性、表中的行、元組、份量、主碼或主鍵、全碼或全鍵、主屬性和非主屬性、外碼或外鍵、域、數據類型、碼或鍵、超碼或超鍵、候選碼或候選鍵。
二、 關係的完整性約束
數據庫的數據完整性是指數據庫中數據的正確性、相容性和一致性。
關係模型中有三類完整性約束,分別是實體完整性約束、參照完整性約束和用戶定義完整性約束。
(1)實體完整性約束
實體完整性約束是指關係的主屬性,即主碼的組成不能爲空,也就是關係的主 屬性不能是空值 NULL。
(2)參照完整性約束
參照完整性約束就是定義外碼和主碼之間的引用規則,它是對關係間引用數據的一種限制。描述定義:若屬性 F 是基本關係 R 的外碼,它與基本關係 S 的 主碼 K 相對應,則對 R 中每一個元組在 F 上的值只容許兩種可能,即要麼取空值, 要麼等於 S 中某個元組的主碼值。
(3)用戶定義完整性約束
用戶定義的完整性約束是針對某一應用環境的完整性約束條件,它反映了某一具體應用所涉及的數據應知足的要求。
(4)關係模型完整性約束的檢驗
爲了維護關係數據庫中數據的完整性,在對關係數據庫執行插入、刪除和更新操做時,須要檢驗是否知足上述三類完整性約束。
很是感謝您的閱讀,如需轉載請註明出處,本文連接http://www.javashuo.com/article/p-aunucdfo-dx.html