簡介
檔案是由一系列的記錄組成的。檔案系統設計的關鍵要素,是指將這些記錄構成一個檔案的方法,以及將一個檔案存儲到外存上的方法。事實上,對於任何一個檔案,都存在著以下兩種形式的結構:
(1) 檔案的邏輯結構(File Logical Structure)。這是從用戶觀點出發所觀察到的檔案組織形式, 是用戶可以直接處理的數據及其結構, 它獨立於檔案的物理特性, 又稱為檔案組織(FileOrganization)。
(2) 檔案的 物理結構,又稱為檔案的存儲結構,是指檔案在外存上的存儲組織形式。這不僅與存儲介質的存儲性能有關,而且與所採用的外存分配方式有關。無論是檔案的邏輯結構,還是其物理結構,都會影響對檔案的檢索速度。
順序檔案方式是存取檔案或數據時,檔案的邏輯結構和物理結構都採用順序方式,這和順序檔案結構一樣。順序檔案方式的優點:連續存取的速度較快,能實現隨機存取。不過修改十分麻煩,要大量移動檔案。
順序檔案
順序檔案是記錄按其在檔案中的邏輯順序依次存儲進入存儲介質中的,其邏輯順序和物理順序一致。
順序檔案分類
順序有序檔案:記錄按其主關鍵字有序的順序檔案為順序有序檔案。
順序無序檔案:記錄未按其主關鍵字有序排列的順序檔案為順序有序檔案。為提高檢索效率,常將順序檔案組織成有序檔案。
順序檔案的修改
順序檔案的修改操作:由於檔案中的記錄不能像向量空間的數據那樣"移動",故只能通過複製整個檔案的方法實現插人、刪除和修改等更新操作。
批量處理方式實現順序檔案的更新,批量處理方式工作原理:
① 把所有對順序檔案(以下稱主檔案)的更新請求,都放入一個較小的事務檔案中。
② 當事務檔案變得足夠大時,將事務檔案按主關鍵字排序,
③ 再按事務檔案對主檔案進行一次全面的更新,產生一個新的主檔案。
④ 最後,清空事務檔案,以便積累此後的更新內容。
優點
順序檔案的主要優點是連續存取的速度較快,即若檔案中第i個記錄剛被存取過,而下一個要存取的是第i+1個記錄,則這種存取將會很快完成。磁帶是一種典型的順序存儲設備,因此存儲在磁帶上的檔案只能是順序檔案。磁帶檔案適合於檔案的數量甚大、平均記錄變化少、只作批量修改的情況。順序檔案可以用順序查找法存取,也可以用分塊查找或二分查找進行存取。
查找方法
順序查找
順序查找法即順序掃描檔案,按記錄的主關鍵字逐個查找。要檢索第i個記錄,必須檢索前i-1個記錄。 注意:
① 這種查找法對於少量的檢索是不經濟的,但適合於批量檢索。
② 順序存取存儲器上的檔案只能用順序查找法存取
分塊查找法
具體方法:設檔案按主關鍵字的遞增序,每100個記錄為一塊,各塊的最後一個記錄的主關鍵字為Kl00,K200,…,K100i,…:
查找時,將所要查找的記錄的主關鍵字K,依次和各塊的最後一個記錄的主關鍵字比較,當K大於K100(i-1)且小於或等於K100i時,則在第i塊內進行掃描。
注意:分塊查找法在查找時不必掃描整個檔案中的記錄。
二分查找法
① 二分查找法只適合對較小的檔案或一個檔案的索引進行查找。
② 當檔案很大,在磁碟上占有多個柱面時,二分查找將引起磁頭來回移動,增加尋查時間。
③ 對磁碟等直接存取設備,還可以對順序檔案進行插值查找和跳步查找。