>>>考試吧考后首發(fā)2013年3月計(jì)算機(jī)等考試題答案
第六章 存儲(chǔ)技術(shù)與數(shù)據(jù)庫物理設(shè)計(jì)
6.1 文件組織
6.1.1 數(shù)據(jù)庫的物理結(jié)構(gòu)
1、 數(shù)據(jù)庫中的應(yīng)用數(shù)據(jù)是以文件形式存儲(chǔ)在外存上的,文件在邏輯上被組織成記錄的序列,即每個(gè)DB文件可看作是邏輯記錄的集合;
2、 一個(gè)文件在磁盤上占有一定的物理存儲(chǔ)空間,文件中的每個(gè)邏輯記錄被映射存儲(chǔ)到某個(gè)特定的磁盤塊上,一個(gè)文件在物理上可以看作是由存放文件記錄的一系列磁盤塊組成,稱為物理文件;
3、 文件的邏輯記錄與磁盤間的映射關(guān)系是由操作系統(tǒng)或DBMS來管理的,當(dāng)需要對(duì)一個(gè)文件的邏輯記錄進(jìn)行操作時(shí),先要根據(jù)這種映射關(guān)系找到該邏輯記錄所在的磁盤塊,然后再進(jìn)行操作。
4、 從數(shù)據(jù)庫物理結(jié)構(gòu)角度需要解決如下問題:
(1) 文件的組織;
(2) 文件的結(jié)構(gòu);
(3) 文件的存取;
(4) 索引技術(shù);
6.1.2 文件組織
1、 數(shù)據(jù)庫與文件的對(duì)應(yīng)關(guān)系
(1) 在外存中,數(shù)據(jù)庫以文件形式組織,文件由邏輯記錄組成,記錄由多個(gè)域組成;
(2) 一個(gè)關(guān)系數(shù)據(jù)庫包括一張或多張關(guān)系表,關(guān)系表與文件的對(duì)應(yīng)關(guān)系有如下方式:
(A) 每張關(guān)系表單獨(dú)用一個(gè)文件來存儲(chǔ),由DBMS通過OS的文件管理功能來管理;
(B) 現(xiàn)代中大型DBMS是由OS直接分配一塊大的磁盤空間,DBMS將該磁盤空間作為數(shù)據(jù)庫磁盤文件直接管理,DB的所有關(guān)系表都存儲(chǔ)在該文件中;
(1) 關(guān)系表在邏輯上由一系列元組組成,元組由多個(gè)屬性組成,每個(gè)元組可以用磁盤文件中的一個(gè)邏輯記錄來存儲(chǔ),記錄包括多個(gè)域,對(duì)應(yīng)元組的多個(gè)屬性;
2、文件記錄格式:
(1) 數(shù)據(jù)庫文件通常采用兩種邏輯記錄格式:定長(zhǎng)記錄格式和變長(zhǎng)記錄格式;
6.2 文件結(jié)構(gòu)與存取
6.2.1 堆文件
1、 堆文件也稱無序文件,記錄隨機(jī)在存儲(chǔ)在文件物理空間是,新插入的記錄存儲(chǔ)在文件的末尾;
2、 堆文件常常用作存儲(chǔ)那些將來使用,但目前不清楚如何使用的記錄,為了實(shí)現(xiàn)文件記錄的有效存取,堆文件經(jīng)常與附加的存取路徑一起使用;
3、 查找操行平均需要搜索(B+1)/2個(gè)磁盤塊,效率比較低;
4、 插入操作十分簡(jiǎn)單,先讀文件頭,找到最末磁盤地址,將最末磁盤塊讀入內(nèi)存,將需插入的新記錄寫入磁盤塊的末端,最后將修改過的磁盤塊寫回磁盤;
5、 刪除比較復(fù)雜,可以先找到被刪除記錄所在的磁盤塊,讀入內(nèi)存后在內(nèi)存緩沖區(qū)刪除記錄,最后再寫回磁盤;也可以在每個(gè)記錄的磁盤空間增加一個(gè)刪除標(biāo)志位,當(dāng)需要?jiǎng)h除記錄時(shí),將標(biāo)示位置1;
6.2.2 順序文件
1、 順序文件按照文件記錄在查詢碼上的取值的大小順序排列各個(gè)記錄;
2、 順序文件的每個(gè)記錄中有一個(gè)指針字段,根據(jù)查詢碼大小用指針將各個(gè)記錄按序連接起來;
3、 文件建立時(shí),應(yīng)盡量使記錄的物理順序與查找碼的順序一致,以減少訪問磁盤塊的次數(shù);
4、 根據(jù)查詢條件對(duì)順序文件進(jìn)行查詢時(shí),如查詢條件定義在查找碼上,則使用二分法查找技術(shù)快速找到記錄,如條件不在查找碼上,則必須從頭到尾依次掃描磁盤塊,與堆文件一致,所以順序文件的訪問效率也不高;
5、 順序文件插入工作包括定位和插入:
(1) 定位:在指針鏈中找到插入的位置,即插入記錄在哪個(gè)記錄的前面;
(2) 插入:如有自由空間,則在該位置插入新記錄,如沒有自由空間,則只能插入溢出塊中,重新調(diào)整記錄指針鏈關(guān)系,保證記錄順序;
6.2.3 聚集文件
1、 聚集文件是一種具有多種記錄類型文件,存儲(chǔ)了來自多個(gè)關(guān)系表的數(shù)據(jù),每個(gè)關(guān)系表對(duì)應(yīng)文件中的一種記錄類型;
2、 當(dāng)數(shù)據(jù)庫中數(shù)據(jù)量效大時(shí),對(duì)數(shù)據(jù)庫查詢需要多次訪問磁盤文件,嚴(yán)重影響性能指標(biāo),為了降低多表操作時(shí)的磁盤訪問次數(shù),提高多表查詢速度,可采用聚集文件;
3、 聚集文件將不同關(guān)系表中有關(guān)聯(lián)關(guān)系的記錄存儲(chǔ)在同一磁盤塊內(nèi),從而減少多表查詢時(shí)磁盤塊的訪問次數(shù),提高處理速度;
6.2.4 索引文件
是一種利用索引技術(shù)技術(shù)快速文件訪問的文件組織和存取方法;
6.2.4 散列文件
是一種利用散列函數(shù)支持快速文件訪問的文件組織和存取方法;
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |