-
文件組織
鎖定
- 中文名
- 文件組織
- 外文名
- file organization
- 定 義
- 文件的構造方式
- 包 含
- 記錄格式、物理組織、文件大小
文件組織基本介紹
文件組織記錄格式
定長記錄是最常見的,因為它們最容易直接訪問。這就是為什麼它們是理想的數據文件。定長記錄的關鍵是記錄的大小。如果太小,小過了記錄存儲的字符數,那麼多出的字符就要被截掉了。如果記錄大小太大了,大過了要存儲的字符數,就會有空間的浪費。
變長記錄不會有剩餘空間和截掉記錄,所以克服了定長的2個缺點。但儘管它也容易一個接一個讀取,但因為記錄的位置很難計算,所以直接讀取很困難。連續訪問的文件或者通過目錄查找的文件經常使用變長記錄格式。記錄的格式,它如何分塊,和其它相關信息都被保存在文件描述符裏。
用來保存信息的空間根據系統各異,它由存儲介質的物理性質所限制。
文件組織物理組織
數據的揮發性——添加和刪除的頻率
文件的行為——在一個運行中,被處理的記錄的百分比
文件組織文件大小
響應時間——完成操作之前用户要等待的時間。這在交互環境中的查找和修改信息中尤其重要。
為了加速這個處理過程,一些優化特性被加入系統。一個就是選擇記錄的一個關鍵區域,然後再存儲記錄前都是根據這個區域分類記錄。然後當用户需要一個記錄的時候,系統只是查找關鍵區域。當相匹配的記錄找到或者關鍵區域比最後一次比較的記錄小時,給出信息“沒找到記錄”,然後完成搜索。
儘管這個技術輔助查找處理過程,但因為當有記錄添加或者刪除的時候都要保存,它使得算法更復雜了。為了保存物理順序,文件必須在更改的時候完成回寫或者動態分類。
這個方法很直截了當。用户通過記錄格式來確定一個區域(或者區域組合),並標記為鍵域,它唯一確定每一個記錄。程序通過一系列指令來保存數據,叫做散列算法,它將每一個鍵域編號,即記錄的邏輯地址。然後把這些交給信息管理器,它可以把邏輯地址通過幾步轉換成物理地址(簇,表面和記錄號)並保持文件組織,檢索記錄過程也是同樣的。
電話郵購公司用散列的方法來直接訪問客户信息。假設你在訂貨,你詢問你的顧客號。(假設為152132727)。程序將從數據文件中按照散列算法的鍵值來計算出你的記錄的邏輯地址,(在348)。所以當服務員輸入152132727,熒幕很快顯示出同一個邏輯地址的顧客號。如果你在數據庫中,操作員會很快知道,如果不在,你會很快知道。
散列算法的問題在於,一些有唯一主鍵(比如顧客號)的記錄可能會有同一個邏輯地址——這裏將產生衝突。在文件管理存儲之前,它必須找到另一個邏輯地址。衝突的記錄將被存在一個溢出區域,它在文件的生成時就被附加上了。儘管程序做到了從溢出區域與記錄的邏輯地址的連接,文件管理還是要處理空間的分配問題。
這種組織方法避免了衝突,因為它沒有用哈希算法來生成一個記錄的地址。代替它的是,使用了該信息生成索引文件來實現記錄的查找。這種組織將順序的連續的文件分成了同等大小的塊。它的大小由文件管理器來決定,以充分利用物理存儲設備的優點並優化檢索策略。每一個索引文件的項目包括最高的記錄鍵和這個數據塊的物理位置,即這個記錄和記錄號最小的記錄的存儲位置。
因此,為訪問文件中的記錄,系統先搜索索引文件,然後進入物理位置。索引文件就像是一個數據的指示器。一個索引順序文件也有溢出區域,但是它會擴展到整個文件(可能是很少的記錄),所以已有的記錄也可以擴展,新的記錄可以生成在物理順序與邏輯順序最近的地方。另一個溢出區不在主要數據區域,而是隻有在其它溢出區都充滿了才用。我們叫它為最後記錄的溢出區。