版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
12.1有關(guān)文件的基本概念12.2順序文件12.3索引文件12.4索引順序文件12.5直接存取文件12.6多關(guān)鍵字文件第十二章
文件數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第1頁。一、文件即為記錄的集合,和“查找表”的差別在于,“文件”指的是存儲在外存儲器中的記錄的集合。
記錄是文件中可以存取的數(shù)據(jù)的
基本單位。12.1有關(guān)文件的基本概念數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第2頁。二、文件可按其中記錄的類型不同而分成兩類:其一為操作系統(tǒng)的文件,文件中的記錄僅是一個字符組。由于操作系統(tǒng)中的文件僅是一維的連續(xù)字符序列,為了用戶存取和加工的方便,將文件中的信息劃分為若干組,其中每一組信息稱作一個記錄;數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第3頁。其二為數(shù)據(jù)庫文件,文件中的記錄帶有結(jié)構(gòu),是數(shù)據(jù)項的集合。記錄是文件中可以存取的數(shù)據(jù)基本單位,數(shù)據(jù)項是文件中可以使用的
數(shù)據(jù)最小單位。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第4頁。三、記錄中能識別不同記錄的數(shù)據(jù)項被稱為關(guān)鍵字,若該數(shù)據(jù)項能唯一識別一個記錄,則稱為主關(guān)鍵字,若能識別多個記錄則稱為次關(guān)鍵字。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第5頁。四、文件的邏輯結(jié)構(gòu)指的是呈現(xiàn)在用戶面前的文件中記錄之間的邏輯關(guān)系;文件的物理結(jié)構(gòu)指的是文件中的邏輯記錄在存儲器中的組織方式。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第6頁。五、文件的操作:檢索修改排序1.檢索順序存取:存取“當前記錄的”下一個記錄;直接存?。捍嫒〉趇個記錄;按關(guān)鍵字存?。捍嫒∑潢P(guān)鍵字等于給定值的記錄。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第7頁。2.修改往文件中插入一個或一批記錄;更新文件中某個記錄的屬性。從文件中刪除一個或一批記錄;文件的操作方式可以實時處理或批量處理。3.排序數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第8頁。
本章討論文件的幾種常見的物理結(jié)構(gòu):順序文件索引文件索引順序文件直接存取文件多關(guān)鍵字文件數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第9頁。結(jié)構(gòu)特點:
記錄在文件中的排列順序是由記錄進入存儲介質(zhì)的次序決定的,即文件物理結(jié)構(gòu)中記錄的排列順序和文件的邏輯結(jié)構(gòu)中記錄的排列順序一致。12.2順序文件數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第10頁。順序文件的具體組織形式有兩種:串聯(lián)文件:物理記錄之間的順序由指針相鏈。連續(xù)文件:次序相繼的兩個物理記錄其存儲位置相鄰;數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第11頁。操作特點:1.便于進行順序存??;2.不便于進行直接存取,為取第i個記錄,必須先讀出前i-1個記錄,對于磁盤上的等長記錄的連續(xù)文件可以進行折半查找;數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第12頁。3.插入新的記錄只能加在文件的末尾;4.刪除記錄時,只作標記;5.更新記錄必須生成新的文件。
數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第13頁。
順序文件的插入、刪除和更新操作在多數(shù)情況下都采用批處理方式。此時,為處理方便,通常將順序文件作成有序文件,稱作“主文件”,同時將所有的操作作成一個“事務文件”(經(jīng)過排序也成為有序文件),所謂“批處理”,就是將這兩個文件“合”為一個新的主文件。具體操作相當于“歸并兩個有序表”。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第14頁。(1)對于事務文件中的每個操作
首先要判別其“合法性”(2)事務文件中可能存在多個操作是對主文件中同一個記錄
進行的但有兩點不同:數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第15頁。
假設主文件中含有n個記錄,事務文件中含有m個記錄,則對事務文件進行排序的時間復雜度為O(mlogm),內(nèi)部歸并的時間復雜度為O(m+n),則總的內(nèi)部處理的時間為O(mlogm+n)。
批處理的時間分析:數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第16頁。
假設對外存進行一次讀/取為s個記錄,則整個批處理過程中讀/寫外存的次數(shù)為2(m/s+(m+n)/s)
(其中s為對外存進行一次讀/取的記錄數(shù))。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第17頁。一、結(jié)構(gòu)特點:1.索引文件由“主文件”和多級“索引”組成;2.索引中的每個記錄由“關(guān)鍵字”和“指針”組成;3.通常,索引文件中的主文件是無序文件,索引是(按關(guān)鍵字有序)的有序文件;4.“索引”是在輸入數(shù)據(jù)建立文件時自動生成。初建時的“靜態(tài)索引”為無序文件,經(jīng)過排序后成為有序文件。12.3索引文件數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第18頁。二、操作的特點:1.檢索方式為:直接存取和按關(guān)鍵字存取?!鞍搓P(guān)鍵字檢索”將分兩步進行:先查索引,然后根據(jù)索引中指針所指索取記錄;2.插入記錄時,“記錄”插入在主文件的末尾,而相應的“索引項”必須插入在索引的合適位置上。因此,最好在建索引表時留有一定“空位”;
數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第19頁。3.刪除記錄時,僅需刪除索引表中相應的索引項即可;4.更新記錄時,應將更新后的記錄插入在主文件的末尾,同時修改相應的索引項。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第20頁。
主文件
索引表
查找表
第二查找表
第三查找表…...…...…...…...此時的索引文件結(jié)構(gòu):1.多級靜態(tài)索引數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第21頁。對主文件中每個記錄建立一個索引項:
主關(guān)鍵字
記錄在主文件中的存儲位置稱作稠密索引,由這些索引項構(gòu)成索引表。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第22頁。從索引表建立的索引稱查找表,其中每個索引項為:
最大關(guān)鍵字
其所在數(shù)據(jù)塊的存儲位置稱這類索引為非稠密索引。類似地,由查找表建立的索引為第二查找表;由第二查找表建立的索引為第三查找表。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第23頁。按關(guān)鍵字進行檢索時,從第三查找表開始,至多訪問外存五次。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第24頁。索引表采用查找樹表或哈希表。優(yōu)點:
1)不需要建立多級索引;
2)初建索引不需要進行排序;
3)插入或刪除記錄時,修改索引方便。2.動態(tài)索引數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第25頁。用查找樹表作索引時,查找索引所需訪問外存次數(shù)的最大值恰為查找樹的深度。
稠密索引的優(yōu)點是,可以實現(xiàn)“預查找”
缺點是,索引表占用的存儲空間大??梢宰魉饕臉浔碛校憾媾判驑洹-樹和鍵樹。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第26頁。主文件按主關(guān)鍵字有序,對一組記錄建立一個索引項(建立非稠密索引)。結(jié)構(gòu)特點:12.4索引順序文件數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第27頁。一、ISAM文件ISAM(IndexSequentialAccessMethod)(索引順序存取方法)是一種專為磁盤存取設計的文件組織方法。有兩種典型的索引順序文件:數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第28頁。1.文件的組織方式:
主文件按柱面集中存放,同時建立三級索引:磁道索引、柱面索引和主索引。
關(guān)鍵字
指針
關(guān)鍵字
指針
磁道索引結(jié)構(gòu)基本索引項溢出索引項數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第29頁。2101024主索引
r(14)r(21)r(38)r(41)r(57)r(63)r(72)r(85)r(99)
溢出區(qū)
磁道索引
r(514)……
溢出區(qū)
磁道索引……r(1024)一個柱面
….柱面索引992101024T0T1T2T3T4T5數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第30頁。檢索:
可有兩種方式:按關(guān)鍵字存取—
從主索引開始,到柱面索引,到磁道索引,最后取得記錄,先后訪問四次外存。順序存取—
依關(guān)鍵字最小至大順序存取。2.操作的特點:檢索插入刪除數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第31頁。插入:修改本磁道的索引項(包括基本索引項和溢出索引項)。將該磁道上關(guān)鍵字最大的記錄移出到本柱面的溢出區(qū)中;將記錄插入在某個磁道的合適位置上;刪除:在被刪記錄當前存儲位置上作“刪除標記”。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第32頁。3.文件重組
在經(jīng)過多次的插入和刪除操作之后,大量的記錄進入文件的“溢出區(qū)”,而“基本存儲區(qū)”中出現(xiàn)很多已被刪去的記錄空間,此時的文件結(jié)構(gòu)很不合理。因此,對ISAM文件,需要周期地進行重整。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第33頁。4.柱面索引的位置ISAM文件占有多個柱面,其柱面索引本身占有一個柱面,為使“磁頭”的平均移動距離最小,柱面索引應設在數(shù)據(jù)文件所占全部柱面的中間位置上。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第34頁。二、VSAM文件VSAM(VistualStorageAccessMethod)
文件是利用操作系統(tǒng)中提供的虛擬存儲器的功能組織的文件,免除了用戶為讀/寫記錄時直接對外存進行的操作,對用戶而言,文件只有控制區(qū)間和控制區(qū)域等邏輯存儲單位。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第35頁?!?...........
索引集B+樹順序集控制區(qū)域控制區(qū)間數(shù)據(jù)集1.文件的結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第36頁。2.控制區(qū)間是用戶進行一次存取的邏輯單位,可看成是一個邏輯磁道。但它的實際大小和物理磁道無關(guān)。VSAM文件初建時,每個控制區(qū)間內(nèi)的記錄數(shù)不足額定數(shù),并且有的控制區(qū)間內(nèi)的記錄數(shù)為零。
控制區(qū)域由若干控制區(qū)間和它們的索引項組成,可看成是一個邏輯柱面。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第37頁。3.順序集本身是一個單鏈表,它包含文件的全部索引項,同時,順序集中的每個結(jié)點即為B+樹的葉子結(jié)點,索引集中的結(jié)點即為B+樹的非葉結(jié)點。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第38頁。4.文件的操作檢索:可進行順序存取和按關(guān)鍵字存??;插入:按關(guān)鍵字大小插入在某個適當?shù)目刂茀^(qū)間中,當控制區(qū)間中的記錄數(shù)超過文件規(guī)定的大小時,要“分裂”控制區(qū)間,必要時,還需要“分裂”控制區(qū)域;刪除:必須“真實地”刪除記錄,因此要在控制區(qū)間內(nèi)“移動”記錄。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第39頁。5.VSAM文件通常被作為大型索引順序文件的標準組織方式。其缺點是:占有較多的存儲空間,一般只能保持約75%的存儲空間利用率。(因此,一般情況下,極少產(chǎn)生需要分裂控制區(qū)域的情況)其優(yōu)點是:動態(tài)地分配和釋放空間,不需要重組文件;能較快地實現(xiàn)對“后插入”的記錄的檢索;數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第40頁。1.和前幾節(jié)討論的文件組織方法不同,直接存取文件的特點是,由記錄的關(guān)鍵字“直接”得到記錄在外存上的映象地址。
類似于哈希表的構(gòu)造方法,根據(jù)文件中關(guān)鍵字的特點設計一種“哈希函數(shù)”和“處理沖突的方法”將記錄散列到外存儲設備上,又稱“散列文件”。12.5直接存取文件數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第41頁。2.哈希文件的結(jié)構(gòu)
由于記錄在外存上是成組存放的,因此允許多個記錄映象到同一個地址上。在此,稱外存儲器中存放多個記錄的“數(shù)據(jù)塊”為“桶”。因此由哈希函數(shù)得到的映象地址為“桶地址”。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第42頁。例如:有一組關(guān)鍵字如下所列
{589,063,269,505,764,182,166,330}假設哈希函數(shù)為keyMOD7,每個桶可以容納3個記錄(稱桶的容量為3),則哈希文件如下:基桶063182589505764269166330溢出桶數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第43頁。
在哈希文件中,“沖突”和“溢出”是不同的概念。一般情況下,假設桶的大小為m,則允許哈希地址產(chǎn)生m-1次的沖突,當發(fā)生第m次沖突時,才需要進行“沖突處理”,對散列文件而言,通常采用鏈地址法出路沖突。為區(qū)別起見,稱直接“散列”的數(shù)據(jù)塊為“基桶”,而因“溢出”存放的數(shù)據(jù)塊為“溢出桶”。數(shù)據(jù)結(jié)構(gòu)—文件全文共51頁,當前為第44頁。3.文件的操作檢索:只能進行按關(guān)鍵字的查找,不能進行順序查找。檢索時,先在基桶內(nèi)進行查找,若不存在,則再到溢出桶中進行查找;插入:當查找不成功時,將記錄插入在相應的基桶或溢出桶內(nèi);刪除:對被刪記錄作特殊標記。數(shù)據(jù)結(jié)構(gòu)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:教育治理視域下師德問責制度化研究
- 課題申報參考:江南風景攝影的審美范式及其傳統(tǒng)轉(zhuǎn)化研究
- 課題申報參考:價值醫(yī)療視角下安寧療護經(jīng)濟可持續(xù)性機理解析及促進機制設計
- 二零二五版道路照明設施節(jié)能補貼申請合同4篇
- 2025年度大型商場裝修設計與施工一體化承包合同范本4篇
- 2025年金昌b2貨運資格證多少道題
- 二零二五年度輪胎產(chǎn)品綠色環(huán)保認證服務合同4篇
- 基于云計算的2025年度企業(yè)級應用集成合同3篇
- 中介和房東的委托協(xié)議 2篇
- 二零二五年度商業(yè)綜合體消防安全與安保服務合同3篇
- 道路瀝青工程施工方案
- 《田口方法的導入》課件
- 承包鋼板水泥庫合同范本(2篇)
- 人教版(2024年新教材)七年級上冊英語Unit 7 Happy Birthday 單元整體教學設計(5課時)
- DLT 572-2021 電力變壓器運行規(guī)程
- 公司沒繳社保勞動仲裁申請書
- 損傷力學與斷裂分析
- 2024年縣鄉(xiāng)教師選調(diào)進城考試《教育學》題庫及完整答案(考點梳理)
- 車借給別人免責協(xié)議書
- 應急預案評分標準表
- “網(wǎng)絡安全課件:高校教師網(wǎng)絡安全與信息化素養(yǎng)培訓”
評論
0/150
提交評論