更新時間:2022年12月20日15時38分 來源:傳智教育 瀏覽次數(shù):
美國國家標準學(xué)會(American National Standards Institute,ANSI)所屬的標準計劃與需求委員會(Standards Planning and Requirements Committee,SPARC)在1971年公布的研究報告中提出了ANSI-SPARC體系結(jié)構(gòu),即三級模式結(jié)構(gòu)(或稱為三層體系結(jié)構(gòu))。ANSI-SPARC最終沒有成為正式標準,但它仍然是理解數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)。三級模式是指數(shù)據(jù)庫管理系統(tǒng)從三個層次來管理數(shù)據(jù),分別是外部層(ExternalLevel)、概念層(Conceptual Level)和內(nèi)部層(Internal Level)。這三個層次分別對應(yīng)三種不同類型的模式,分別是外模式(External Schema)、概念模式(Conceptual Schema)和內(nèi)模式(Internal Schema)。在外模式與概念模式之間,以及概念模式與內(nèi)模式之間,還存在映像,即二級映像,具體如圖所示。
三級模式和二級映像
在圖1-2中,外模式面向應(yīng)用程序,描述用戶的數(shù)據(jù)視圖(View);內(nèi)模式(又稱為物理模式、存儲模式)面向物理上的數(shù)據(jù)庫,描述數(shù)據(jù)在磁盤中如何存儲;概念模式(又稱為模式、邏輯模式)面向數(shù)據(jù)庫設(shè)計人員,描述數(shù)據(jù)的整體邏輯結(jié)構(gòu)。
由于三級模式比較抽象,為了更好地理解,下面將計算機中常用的Excel電子表格類比成數(shù)據(jù)庫,并假設(shè)有一個商城使用電子表格來保存商品信息。
(1)概念模式。概念模式類似于表格的列標題,它描述了商品表中包含哪些信息,如圖所示。
商品信息表格
上圖中,表的橫向稱為行,縱向稱為列,第一行就是列標題,用來描述該列的數(shù)據(jù)表示什么含義。實際上,概念模式在數(shù)據(jù)庫中描述的信息還有很多,如多張表之間的聯(lián)系、表中每一列的數(shù)據(jù)類型和長度等,讀者在后面的學(xué)習(xí)中就會接觸到這些內(nèi)容。
(2)內(nèi)模式。在將Excel表格另存為文件時,可以選擇保存的文件路徑、保存類型(如XLS、XLSX、CSV等格式)等,這些與存儲相關(guān)的描述信息相當于內(nèi)模式。在數(shù)據(jù)庫中,內(nèi)模式描述數(shù)據(jù)的物理結(jié)構(gòu)和存儲方式,如堆文件、索引文件、散列(Hash)文件等。
(3)外模式。在打開一個電子表格后,默認會顯示表格中所有的數(shù)據(jù),這個表格稱為基本表。在將數(shù)據(jù)提供給其他用戶時,出于權(quán)限、安全控制等因素的考慮,只允許用戶看到一部分數(shù)據(jù),或不同用戶看到不同的數(shù)據(jù),這樣的需求就可以用視圖來實現(xiàn)。下圖是視圖和基本表的關(guān)系。
視圖與基本表
在上圖中,基本表中的數(shù)據(jù)是實際存儲在數(shù)據(jù)庫中的,而視圖中的數(shù)據(jù)是查詢或計算出來的。由此可見,外模式可以為不同用戶的需求創(chuàng)建不同的視圖,且由于不同用戶的需求不同,數(shù)據(jù)的顯示方式也會多種多樣。因此,一個數(shù)據(jù)庫中會有多個外模式,而概念模式和內(nèi)模式則只有一個。
通過前面的分析可知,三級模式是數(shù)據(jù)的三個抽象級別,每個級別關(guān)心的重點不同。為了使三級模式之間產(chǎn)生關(guān)聯(lián),數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供了二級映像功能。二級映像是一種規(guī)則,它規(guī)定了映像雙方如何進行轉(zhuǎn)換。通過二級映像,體現(xiàn)了邏輯和物理兩個層面的數(shù)據(jù)獨立性。具體解釋如下。
(1)邏輯獨立性。外模式/概念模式映像體現(xiàn)了邏輯獨立性。邏輯獨立性是指當修改了概念模式,不影響其上一層的外模式。例如,將圖1-4中基本表的“庫存”和“銷量”拆分到另一張表中,此時概念模式發(fā)生了更改,但可以通過改變外模式/概念模式的映像,繼續(xù)為用戶提供原有的視圖,如圖所示。
視圖與基本表
由此可見,邏輯獨立性能夠讓使用視圖的用戶感覺不到基本表的改變。其實,邏輯獨立性帶來的好處還有很多,隨著后面的學(xué)習(xí),讀者會有更深入的體會。
(2)物理獨立性。概念模式/內(nèi)模式映像體現(xiàn)了物理獨立性。物理獨立性是指修改了內(nèi)模式,不影響其上層的概念模式和外模式。例如,在Excel中將.xls文件另存為.xlsx文件,雖然更換了文件格式,但是打開文件后顯示的表格內(nèi)容一般不會發(fā)生改變。在數(shù)據(jù)庫中,更換更先進的存儲結(jié)構(gòu),或者創(chuàng)建索引以加快查詢速度,內(nèi)模式會發(fā)生改變。此時,只需改變概念模式/內(nèi)模式映像,就不會影響到原有的概念模式。
另外,物理獨立性使得用戶不必了解數(shù)據(jù)庫內(nèi)部的存儲原理,即可正常使用數(shù)據(jù)庫來保存數(shù)據(jù)。數(shù)據(jù)庫管理系統(tǒng)會自動將用戶的操作轉(zhuǎn)換成物理級數(shù)據(jù)庫的操作。
多學(xué)一招:數(shù)據(jù)庫相關(guān)的人員
數(shù)據(jù)庫系統(tǒng)涉及一些人員,主要包括數(shù)據(jù)庫管理員(Database Administrator,DBA)、應(yīng)MySQL數(shù)據(jù)庫原理、設(shè)計與應(yīng)用用程序員(Application Programmer)和最終用戶(End User)。關(guān)于這些人員的具體解釋如下。
(1)數(shù)據(jù)庫管理員。負責(zé)管理和維護數(shù)據(jù)庫,參與數(shù)據(jù)庫的設(shè)計、測試和部署。數(shù)據(jù)庫管理員需要對數(shù)據(jù)庫系統(tǒng)非常精通,且應(yīng)具有較高的技術(shù)水平和較深的資歷。
(2)應(yīng)用程序員。負責(zé)為最終用戶設(shè)計和編寫程序,并進行調(diào)試和安裝,以便最終用戶利用應(yīng)用程序來對數(shù)據(jù)庫進行存取操作。
(3)最終用戶。一般為非計算機專業(yè)人員,通過應(yīng)用程序訪問數(shù)據(jù)庫。例如,在12306網(wǎng)站訂票的用戶、在一些購物網(wǎng)站購買商品的用戶,他們可能對數(shù)據(jù)庫完全不了解,在使用瀏覽器、客戶端等應(yīng)用程序時,間接地訪問了數(shù)據(jù)庫。