首頁技術(shù)文章正文

MySQL中三級模式和二級映像指的是什么?

更新時(shí)間:2022-06-09 來源:黑馬程序員 瀏覽量:

美國國家標(biāo)準(zhǔn)學(xué)會(huì)(American National Standards Institute,ANSI)所屬的標(biāo)準(zhǔn)計(jì)劃與需求委員會(huì)(Standards Planning and Requirements Committee,SPARC)在1971年公布的研究報(bào)告中提出了ANSI-SPARC體系結(jié)構(gòu),即三級模式結(jié)構(gòu)(或稱為三層體系結(jié)構(gòu))。ANSI-SPARC最終沒有成為正式標(biāo)準(zhǔn),但它仍然是理解數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)。三級模式是指數(shù)據(jù)庫管理系統(tǒng)從三個(gè)層次來管理數(shù)據(jù),分別是外部層(ExternalLevel)、概念層(Conceptual Level)和內(nèi)部層(Internal Level)。這三個(gè)層次分別對應(yīng)三種不同類型的模式,分別是外模式(External Schema)、概念模式(Conceptual Schema)和內(nèi)模式(Internal Schema)。在外模式與概念模式之間,以及概念模式與內(nèi)模式之間,還存在映像,即二級映像,具體如圖所示。

1654684980985_333333333333.jpg

三級模式和二級映像

在圖1-2中,外模式面向應(yīng)用程序,描述用戶的數(shù)據(jù)視圖(View);內(nèi)模式(又稱為物理模式、存儲(chǔ)模式)面向物理上的數(shù)據(jù)庫,描述數(shù)據(jù)在磁盤中如何存儲(chǔ);概念模式(又稱為模式、邏輯模式)面向數(shù)據(jù)庫設(shè)計(jì)人員,描述數(shù)據(jù)的整體邏輯結(jié)構(gòu)。
由于三級模式比較抽象,為了更好地理解,下面將計(jì)算機(jī)中常用的Excel電子表格類比成數(shù)據(jù)庫,并假設(shè)有一個(gè)商城使用電子表格來保存商品信息。

(1)概念模式。概念模式類似于表格的列標(biāo)題,它描述了商品表中包含哪些信息,如圖所示。

1654739272236_44.jpg

商品信息表格

上圖中,表的橫向稱為行,縱向稱為列,第一行就是列標(biāo)題,用來描述該列的數(shù)據(jù)表示什么含義。實(shí)際上,概念模式在數(shù)據(jù)庫中描述的信息還有很多,如多張表之間的聯(lián)系、表中每一列的數(shù)據(jù)類型和長度等,讀者在后面的學(xué)習(xí)中就會(huì)接觸到這些內(nèi)容。

(2)內(nèi)模式。在將Excel表格另存為文件時(shí),可以選擇保存的文件路徑、保存類型(如XLS、XLSX、CSV等格式)等,這些與存儲(chǔ)相關(guān)的描述信息相當(dāng)于內(nèi)模式。在數(shù)據(jù)庫中,內(nèi)模式描述數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式,如堆文件、索引文件、散列(Hash)文件等。

(3)外模式。在打開一個(gè)電子表格后,默認(rèn)會(huì)顯示表格中所有的數(shù)據(jù),這個(gè)表格稱為基本表。在將數(shù)據(jù)提供給其他用戶時(shí),出于權(quán)限、安全控制等因素的考慮,只允許用戶看到一部分?jǐn)?shù)據(jù),或不同用戶看到不同的數(shù)據(jù),這樣的需求就可以用視圖來實(shí)現(xiàn)。下圖是視圖和基本表的關(guān)系。

1654755694276_視圖和基本表的關(guān)系.jpg

視圖與基本表

在上圖中,基本表中的數(shù)據(jù)是實(shí)際存儲(chǔ)在數(shù)據(jù)庫中的,而視圖中的數(shù)據(jù)是查詢或計(jì)算出來的。由此可見,外模式可以為不同用戶的需求創(chuàng)建不同的視圖,且由于不同用戶的需求不同,數(shù)據(jù)的顯示方式也會(huì)多種多樣。因此,一個(gè)數(shù)據(jù)庫中會(huì)有多個(gè)外模式,而概念模式和內(nèi)模式則只有一個(gè)。

通過前面的分析可知,三級模式是數(shù)據(jù)的三個(gè)抽象級別,每個(gè)級別關(guān)心的重點(diǎn)不同。為了使三級模式之間產(chǎn)生關(guān)聯(lián),數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供了二級映像功能。二級映像是一種規(guī)則,它規(guī)定了映像雙方如何進(jìn)行轉(zhuǎn)換。通過二級映像,體現(xiàn)了邏輯和物理兩個(gè)層面的數(shù)據(jù)獨(dú)立性。具體解釋如下。

(1)邏輯獨(dú)立性。外模式/概念模式映像體現(xiàn)了邏輯獨(dú)立性。邏輯獨(dú)立性是指當(dāng)修改了概念模式,不影響其上一層的外模式。例如,將圖1-4中基本表的“庫存”和“銷量”拆分到另一張表中,此時(shí)概念模式發(fā)生了更改,但可以通過改變外模式/概念模式的映像,繼續(xù)為用戶提供原有的視圖,如圖所示。

1654757868876_視圖與基本表.jpg

視圖與基本表

由此可見,邏輯獨(dú)立性能夠讓使用視圖的用戶感覺不到基本表的改變。其實(shí),邏輯獨(dú)立性帶來的好處還有很多,隨著后面的學(xué)習(xí),讀者會(huì)有更深入的體會(huì)。

(2)物理獨(dú)立性。概念模式/內(nèi)模式映像體現(xiàn)了物理獨(dú)立性。物理獨(dú)立性是指修改了內(nèi)模式,不影響其上層的概念模式和外模式。例如,在Excel中將.xls文件另存為.xlsx文件,雖然更換了文件格式,但是打開文件后顯示的表格內(nèi)容一般不會(huì)發(fā)生改變。在數(shù)據(jù)庫中,更換更先進(jìn)的存儲(chǔ)結(jié)構(gòu),或者創(chuàng)建索引以加快查詢速度,內(nèi)模式會(huì)發(fā)生改變。此時(shí),只需改變概念模式/內(nèi)模式映像,就不會(huì)影響到原有的概念模式。

另外,物理獨(dú)立性使得用戶不必了解數(shù)據(jù)庫內(nèi)部的存儲(chǔ)原理,即可正常使用數(shù)據(jù)庫來保存數(shù)據(jù)。數(shù)據(jù)庫管理系統(tǒng)會(huì)自動(dò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è)計(jì)與應(yīng)用用程序員(Application Programmer)和最終用戶(End User)。關(guān)于這些人員的具體解釋如下。

(1)數(shù)據(jù)庫管理員。負(fù)責(zé)管理和維護(hù)數(shù)據(jù)庫,參與數(shù)據(jù)庫的設(shè)計(jì)、測試和部署。數(shù)據(jù)庫管理員需要對數(shù)據(jù)庫系統(tǒng)非常精通,且應(yīng)具有較高的技術(shù)水平和較深的資歷。

(2)應(yīng)用程序員。負(fù)責(zé)為最終用戶設(shè)計(jì)和編寫程序,并進(jìn)行調(diào)試和安裝,以便最終用戶利用應(yīng)用程序來對數(shù)據(jù)庫進(jìn)行存取操作。

(3)最終用戶。一般為非計(jì)算機(jī)專業(yè)人員,通過應(yīng)用程序訪問數(shù)據(jù)庫。例如,在12306網(wǎng)站訂票的用戶、在一些購物網(wǎng)站購買商品的用戶,他們可能對數(shù)據(jù)庫完全不了解,在使用瀏覽器、客戶端等應(yīng)用程序時(shí),間接地訪問了數(shù)據(jù)庫。

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!