数据库系统为什么使用三级模式结构
一、模式(Schema)
定義:也稱邏輯模式,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。
理解:
① 一個數據庫只有一個模式;
② 是數據庫數據在邏輯級上的視圖;
③ 數據庫模式以某一種數據模型為基礎;
④ 定義模式時不僅要定義數據的邏輯結構(如數據記錄由哪些數據項構成,數據項的名字、類型、取值范圍等),而且要定義與數據有關的安全性、完整性要求,定義這些數據之間的聯系。
二、外模式(External Schema)
定義:也稱子模式(Subschema)或用戶模式,是數據庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。
理解:
① 一個數據庫可以有多個外模式;
② 外模式就是用戶視圖;
③ 外模式是保證數據安全性的一個有力措施。
三、內模式(Internal Schema)
定義:也稱存儲模式(Storage Schema),它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式(例如,記錄的存儲方式是順序存儲、按照B樹結構存儲還是按hash方法存儲;索引按照什么方式組織;數據是否壓縮存儲,是否加密;數據的存儲記錄結構有何規定)。
理解:
① 一個數據庫只有一個內模式;
② 一個表可能由多個文件組成,如:數據文件、索引文件。
它是數據庫管理系統(DBMS)對數據庫中數據進行有效組織和管理的方法
其目的有:
① 為了減少數據冗余,實現數據共享;
② 為了提高存取效率,改善性能。
據庫的三級模式結構是對數據的三個抽象級別。在這三個抽象級別之間,為了實現數據的轉換,數據庫管理系統必須提供兩層映射功能,即外模式和概念模式的映射,概念模式和內部模式的映射。
外模式又稱用戶模式, 在傳統的數據庫系統中定義為子模式,子模式是概念模式的子集。外模式按用戶視圖定義數據,也可以從概念模式中導出。
概念模式又稱邏輯模式, 是現實世界和數據存儲之間的扭帶。概念模式是為了實現數據庫數據的共享進行數據庫設計之后,得到的全局性數據邏輯關系的抽象和描述,它獨立于數據的物理存儲結構,是所有用戶的共同的邏輯數據視圖。
內模式又稱物理模式,用以描述數據在數據庫中的存儲和存取方式。
DBMS?提供內模式描述語言(內模式 DDL)來定義內模式。
在數據庫系統中,外模式可有多個,而概念模式、內模式只能各有一個。
內模式是整個數據庫實際存儲的表示,而概念模式是整個數據庫實際存儲的抽象表示.外模式是概念模式的某一部分的抽象表示。
所有的這些模式都必須在使用數據庫之前進行定義。數據庫管理系統提供模式描述語言 DDL,用以嚴格地描述一個數據庫中所有實體的定義,經編譯之后存儲在數據庫中。外模式是與每個具體的應用程序和它使用的高級編程語言相關聯的。內模式與數據的物理存儲(操作系統)和硬件有關。概念模式是獨立于具體應用和物理環境的,是數據庫中全體數據的邏輯表示。
數據庫設計的過程就是綜合外模式, 產生概念模式,根據使用的DBMS產生物理模式。再由概念模式導出用戶視圖, 就是用戶看到的邏輯數據。
三級結構的優點
(1)保證數據的獨立性。將模式和內模式分開,保證了數據的物理獨立性;將外模式和模式分開,保證了數據的邏輯獨立性。
(2)簡化了用戶接口。按照外模式編寫應用程序或敲入命令,而不需了解數據庫內部的存儲結構,方便用戶使用系統。
(3)有利于數據共享。在不同的外模式下可有多個用戶共享系統中數據,減少了數據冗余。
(4)利于數據的安全保密。在外模式下根據要求進行操作,不能對限定的數據操作,保證了其他數據的安全。
外模式和概念模式的映射,定義了外模式和概念模式之間的對應關系,通常在外模式中給出描述。這層映射的作用是實現邏輯數據的獨立性。當數據的整體邏輯結構改變時,如果某個外模式保持不變,相應的外模式和概念模式的映射關系需要改變,因而該外模式對應的應用程序不用改變。
概念模式和內部模式的映射,存在于概念層,由DBMS建立兩者之間的逐一對應關系。這層映射的作用是實現物理數據的獨立性。當數據庫的物理存儲模式修改時,如改變存儲設備和存取方法時,概念模式可以保持不變,相應的內模式和概念模式的映射關系需要改變,應用程序也不用改變。
?
總結
以上是生活随笔為你收集整理的数据库系统为什么使用三级模式结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学之美系列十七 -- 谈谈搜索引擎作弊
- 下一篇: [转载] 中华典故故事(孙刚)——13