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