檔案組織方式的優點
以檔案系統來組織和管理網路信息資源具有以下優點:(1)簡單快捷。計算機有一整套檔案處理的理論與技術,在組織網路信息時可以非常容易地利用這些成熟的技術和方法。
(2)適合圖形、圖像、音頻、視頻等各種非結構化信息組織管理。由於計算機處理的所有最終結果都能以檔案的形式保存下來,因此對於圖形、圖表、音頻、視頻等非結構化信息,可以方便地利用檔案系統來管理。正因為如此,以檔案組織方式來管理信息資源在目前仍然廣泛使用。
但是,隨著網路信息資源利用的不斷普及和信息量的不斷增多,以檔案為單位共享和傳輸信息會使網路負載越來越大。同時,檔案方式對結構化信息的管理顯得力不從心,檔案系統只涉及信息的簡單邏輯結構,當信息結構較複雜時,就難以實現有效的控制和管理,從而降低了信息組織的效率。因此,檔案只能是網路信息資源管理的輔助形式或者是作為信息單位成為其他信息組織方式的管理對象。
檔案組織方式的種類
1.順序檔案順序檔案的物理結構最簡單,在此結構中,從檔案空間的起點開始,檔案的各個記錄順序地存放在外存的連續區內,記錄的物理順序和邏輯順序是完全一致的。它適用於所有的檔案媒體。磁帶順序檔案從磁帶上檔案空間頭部開始,按物理位置順序存儲記錄:磁碟順序檔案的結構從磁碟檔案空間最初磁軌的頭部開始,按物理位置順序排列。順序檔案適用於按順序存取處理,處理速度較快,但記錄的插入和刪除都不方便。
順序檔案是一種最常用、最簡單的檔案組織方法,在許多資料處理的場合,它仍然是一種簡單、經濟而有效的方法。如磁帶檔案、列印檔案都是常用的順序檔案。
實現順序檔案的排列方法有如下幾種:
按記錄產生的先後次序排列,這種方法對數據收集系統比較方便有效。
按記錄鍵次序排列,可以根據鍵的升序或降序進行排列。一個記錄中的鍵,可以是一個也可以是多個,分別稱為主鍵、輔鍵及複合鍵等。主鍵是惟一標識記錄的域(即記錄數據項名稱),輔鍵不是惟一標識記錄的域,由兩個以上的記錄鍵值組合成的鍵稱為複合記錄鍵。例如在一個職工工資檔案中,職工號為主鍵,姓名、級別、工資額可作為輔鍵,級別和工資額組成複合鍵。
按這種方法排列的數據,要求在檔案建立時,首先對檔案進行排序:
按記錄的使用頻率進行排列。設檔案有n個記錄,每個記錄使用的機率為Pi,則要求該檔案記錄的排列順序按使用機率的大小排列,滿足。按使用頻率對順序檔案進行排列,可以加速記錄的搜尋速度。
自行重組順序檔案。若在上述方法中無法知道其使用頻率,可以採用如下幾種方法來實現:第一種方法,在記錄中加一項使用頻率記錄,每使用一次加1,然後再按使用率大小排列:第二種方法,在每次記錄使用後,將其移至檔案的頂端。這樣,常用的記錄可經常保持在檔案的前面:第三種方法,每次記錄使用時將其移至現在位置和頂端位置的中間位置,這樣可以減少偶然使用的記錄占據檔案前端位置。
2.索引檔案
索引檔案分為索引順序檔案和索引非順序檔案。索引順序檔案,其記錄的物理順序和邏輯順序相一致。記錄按記錄鍵的順序存放,並帶有索引。這種檔案組織方式用得比較普遍,但是只適用於磁碟媒體。對於這種檔案記錄的存取方式可以採用順序存取和直接存取,並能進行各種形式的處理。
索引順序檔案的特點是:
具有記錄鍵和記錄鍵索引,按記錄鍵順序排列記錄,並設有溢出區。
存取速度快。
比較節省存儲單元。
增刪比較麻煩。
不能用於多碼檢索。
此外,還有索引非順序檔案,這種檔案也帶索引表,但檔案記錄的物理順序和邏輯順序不一致,索引表中存有已排序的記錄鍵號以及該鍵號的記錄地址。處理和查找記錄時,先查索引表,查到所需的記錄地址後,再按地址查找記錄。還可以通過設立不同鍵值的幾個索引來利用同一個記錄。這種組織方式,可以保證地址的惟一性,存取也比較簡單,其缺點是記錄數目多時,索引區也很大,索引表本身占用存儲空間較大,查找費時。
3.直接檔案
直接檔案中記錄的邏輯順序與物理順序不一定相同,但記錄的鍵值直接指明該記錄的地址,所以只要知道了記錄鍵值,就能查找該記錄的物理位置。
直接檔案的記錄存放在磁碟等隨機存儲媒體上,且可以被隨機處理,所以也稱直接檔案為隨機存取檔案。
確定直接檔案中記錄的物理位置的方法很多,常用的有:
直接地址法:指定某記錄的地址就是存儲設備上的實際地址。
相對鍵法:以檔案起始記錄為基準的相對地址。
雜湊法:尋找一個雜湊函式H(k),將記錄鍵值轉換為相應的記錄地址。
直接檔案有3種形式:無鍵直接檔案、帶鍵直接檔案、桶式(bucket)直接檔案。
無鍵直接檔案:是通過直接地址組織的,在記錄中沒有鍵項目,把記錄的存儲地址作為鍵值。
帶鍵直接檔案:在記錄中設定鍵項目,並通過簡單的鍵變換處理,就可以得到相應記錄的存儲地址。
桶式直接檔案:檔案空間按桶為單位進行劃分,每個桶可以存放多個記錄,這個桶通常以磁軌為單位,也可以用弧段作為單位,每個桶都有編號。根據桶號和記錄鍵值,就可以查到相應記錄的地址進行記錄處理。由於每個桶能容納m個具有相同Hash函式值的檔案記錄,只有當一個桶中m個記錄都占滿後,若還有轉換為該桶地址的記錄時,才產生溢出。所以適當地加大桶的尺寸,可以減少溢出現象,防止“衝突”現象的產生,這是桶式直接檔案的特點。
增大桶的容量可以減少溢出次數,從而減少查找記錄所需的平均查換次數。但桶太大,檔案存儲空間的密度減少,主數據區利用率低,在記憶體中查找桶中記錄的時間增加,而且要求記憶體緩衝區足夠大,所以桶的容量的選擇要全面考慮,應選擇大小合適的桶。
除了以上幾種基本的檔案組織方式外,還有索引連結檔案、倒排檔案等。索引連結檔案是將索引方法和連結方法結合起來的一種組織方式,可用多碼檢索。倒排檔案是一種處理多碼檢索的組織方式,它利用次鍵建立次索引表,便於檔案記錄按各種屬性查找,但這種檔案占用較大的存儲空間。
綜合幾種基本的檔案組織方式的優、缺點列於表中。
特性 組織方式 | 優點 | 缺點 |
順序檔案 | 處理速度快 存儲空間利用率高 在任何媒體上實現 | 需要對事務己求預先排序 插入記錄麻煩 要檢索整個記錄 |
索引檔案 | 可順序處理,也可隨機處理 記錄追加、插入方便 查找速度較快 | 增加索引區和溢出區空間 不能用於多碼檢索 |
直接檔案 | 存取速度快 記錄追加、刪除容易 | 要進行鍵變換 存儲空間利用率低 |