- 數(shù)據(jù)庫原理、應(yīng)用與開發(fā)
- 洪欣編著
- 620字
- 2018-12-27 18:41:07
2.3 內(nèi)部模型
內(nèi)部模型又稱為物理模型,是數(shù)據(jù)庫最底層的抽象,它描述數(shù)據(jù)在磁盤或磁帶上的存儲(chǔ)方式(文件的結(jié)構(gòu))、存取設(shè)備(外存的空間分配)和存取方法(主索引和輔助索引)。內(nèi)部模型與硬件和軟件緊密相關(guān)。因此,從事這個(gè)級(jí)別的設(shè)計(jì)人員必須具備全面的軟硬件知識(shí),在進(jìn)行層次、網(wǎng)狀模型設(shè)計(jì)時(shí),要精心設(shè)計(jì)內(nèi)部模型,以提高系統(tǒng)的效率。但隨著計(jì)算機(jī)軟硬件性能的大幅度提高,并且目前占絕對(duì)優(yōu)勢(shì)的關(guān)系模型以邏輯級(jí)為目標(biāo),因而可以不必考慮內(nèi)部級(jí)的設(shè)計(jì)細(xì)節(jié),由數(shù)據(jù)庫管理系統(tǒng)自動(dòng)實(shí)現(xiàn)。
2.3.1 層次數(shù)據(jù)模型
層次模型的物理存儲(chǔ)有兩種實(shí)現(xiàn)方法:順序法和鏈接法。圖2-16是通訊錄XML數(shù)據(jù),讀取該文檔時(shí)可以在內(nèi)存中構(gòu)造一個(gè)如圖2-17所示的DOM樹。

圖2-16 通訊錄

圖2-17 通訊錄對(duì)應(yīng)的DOM
1.順序法
順序法是按照層次順序把所有的記錄鄰接存放,即通過物理空間的位置相鄰來實(shí)現(xiàn)層次順序。按照順序存儲(chǔ)方式,在存儲(chǔ)介質(zhì)中的存儲(chǔ)結(jié)果如圖2-18所示。

圖2-18 層次數(shù)據(jù)的順序存儲(chǔ)
2.指針法
各記錄存放時(shí)不是按層次順序,而是用指針按層次順序把它們鏈接起來的,如圖2-19所示。其中,圖2-19(a)中每個(gè)記錄設(shè)兩類指針,分別指向最左邊的子女(每個(gè)記錄型對(duì)應(yīng)一個(gè))和最近的兄弟,這種鏈接方法稱為子女-兄弟鏈接法;圖2-19(b)是按樹的前序順序鏈接各記錄值,這種鏈接方法稱為層次序列鏈接法。

圖2-19 層次數(shù)據(jù)的鏈接存儲(chǔ)
2.3.2 網(wǎng)狀數(shù)據(jù)模型
圖2-11所示的網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)方法如圖2-20所示。

圖2-20 網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)
2.3.3 關(guān)系數(shù)據(jù)模型
圖2-11所示的關(guān)系數(shù)據(jù)模型的存儲(chǔ)方法如圖2-21所示。

圖2-21 學(xué)生-課程的關(guān)系模型的存儲(chǔ)
- 32位嵌入式系統(tǒng)與SoC設(shè)計(jì)導(dǎo)論
- Learning Microsoft Azure Storage
- OpenStack for Architects
- 網(wǎng)頁編程技術(shù)
- 并行數(shù)據(jù)挖掘及性能優(yōu)化:關(guān)聯(lián)規(guī)則與數(shù)據(jù)相關(guān)性分析
- TestStand工業(yè)自動(dòng)化測(cè)試管理(典藏版)
- 80x86/Pentium微型計(jì)算機(jī)原理及應(yīng)用
- PyTorch Deep Learning Hands-On
- Blender Compositing and Post Processing
- Deep Reinforcement Learning Hands-On
- Linux系統(tǒng)管理員工具集
- 和機(jī)器人一起進(jìn)化
- 工業(yè)機(jī)器人力覺視覺控制高級(jí)應(yīng)用
- 基于人工免疫原理的檢測(cè)系統(tǒng)模型及其應(yīng)用
- PostgreSQL 10 High Performance