資料結構 第9章 檔案

來源:互聯網
上載者:User

第9章
檔案


本章中介紹下列主要內容:
  
檔案的基本概念
  
常用的檔案操作
  
檔案的組織圖以及檔案的不同組織方式的特點

 

第一節
檔案的基本概念

 

    檔案:檔案是儲存在外部介質上的由大量性質相同的記錄組成的集合。按其記錄的類型不同可以分為兩類:程式檔案和資料檔案。
    程式檔案是一維的、連續的、無結構的字元序列,可以看成是由一條無結構的記錄組成的檔案。
    資料檔案是帶有結構的、性質相同的記錄的集合。每個記錄由若干個資料項目組成,資料項目是最基本的不可分割的資料單位,也是檔案中可以操作的最小資料單位。本章介紹的就是資料檔案的組織圖及其處理方式。

    關鍵字:能夠標識檔案中記錄的資料項目稱為關鍵字,能夠唯一標識記錄的關鍵字稱為主關鍵字,否則為次關鍵字。
    記錄的邏輯結構是指檔案的記錄在使用者或應用程式員面前逞現的方式,是對資料間的客觀聯絡的一種表示,是使用者對資料的存取方式。
    記錄的物理結構:是指檔案中的記錄在實體儲存體介質上的儲存方式,是資料的物理表示和組織。根據不同的需要、裝置本身的特性及作業系統中的檔案系統,記錄的物理結構可以有不同的表示和組織方法。
    物理記錄
:是電腦用一條I/O命令進行讀寫的基本資料單位,對於確定的裝置和作業系統,它的大小基本上是固定不變的。

    物理記錄與邏輯記錄的關係物理記錄與邏輯記錄之間有三種可能的關係,分別為一個物理記錄中存放一個邏輯記錄、一個物理記錄中存放多個邏輯記錄、多個邏輯記錄儲存於一個物理記錄中。
    檔案的存取:檔案儲存體在外部介質上,所以對檔案的存取要通過訪問外儲存介質來實現。外儲存介質的共同特點是儲存容量大,存取速度慢。以目前使用最為廣泛的磁碟儲存空間為例,讀寫磁碟上的資訊,首先要經過選定柱面、選定磁軌、選定扇區(即物理記錄)三步機械定位動作,然後才能通過磁頭讀寫碟片上的資訊。此外,主機對外儲存介質上的資料不能直接進行存取,要讀取外儲存介質上的資料,首先要通過通道把資料讀到記憶體的一個指定地區(緩衝區)中,然後從緩衝區中讀取有關的資料。寫操作的過程則相反,先將內容寫到緩衝區中,然後通過通道將緩衝區中的資料寫到外儲存介質上。外儲存介質上的資料存取時間往往比主機對資料進行處理的時間花費大,所以對外儲存介質上的資料處理常常以訪問外儲存介質次數的多少作為衡量其資料結構及其演算法品質的標準。節省存取時間的有效方法是:在每次訪問外儲存介質時,傳送批量的資料,從而減少訪問外儲存介質的次數。

第二節
檔案的操作

    在這裡講述的檔案操作主要是指對檔案中資料的操作。其基本操作有:檔案的讀操作和寫操作,這兩種操作與具體的裝置及作業系統有關,在此我們假定有專門的程式完成其功能。除此之外,還可以對檔案進行檢索和修改。
1.檔案的檢索
    檔案的檢索有下列三種方式:
       順序存取:存取下一個每個記錄。
       隨機存取:存取第i個邏輯記錄。
       按關鍵字存取:查詢一個或一批關鍵字與給定值相關的記錄。
2.檔案的修改
    檔案的修改操作包括插入一條記錄、刪除一條記錄和更新一條記錄三種操作。

 

第三節
檔案的組織


    檔案在儲存介質(如磁碟或磁帶)上的組織方式稱為物理結構。常用的檔案組織方式有三種基本形式:順序組織、隨機組織和鏈組織。

1.循序檔
    循序檔的記錄是按其在檔案中的邏輯順序依次存入儲存介質的。它是一種順序組織方式。
    由於循序檔中記錄的物理次序與邏輯次序是一致的,所以適宜於順序存取(即存取一個記錄之後接著存取其後繼記錄)和批量處理。但是對循序檔中記錄的隨機存取效率很低。
2.散列檔案
    散列檔案類似於雜湊表,即根據檔案中的關鍵字特點設計一種雜湊函數(也叫作散列函數)和處理衝突的方法來確定記錄的儲存位置,將記錄散列在儲存介質上,這樣的檔案被稱作散列檔案。散列檔案是一種隨機組織方式。
    對散列檔案的的隨機存取效率很高,對於關鍵字值等於給定值的記錄的訪問,可以直接由散列函數及衝突處理方法求得在外存上的儲存位置,從而方便地對它存取。但散列檔案不適宜順序存取和成批處理。

3.索引檔案
    索引檔案是指除了檔案本身(資料區)之外,還要為檔案建立一個索引表,索引表的每一項是由一個關鍵字值和一個指標(即儲存位置)構成的二元組(k,p),k是對應記錄的關鍵字值,p是該記錄的外存地址。每個索引項目可以對應檔案的一個邏輯記錄,這叫密集索引。如果索引檔案的資料區的記錄按關鍵字排列有序,則稱索引循序檔,對於索引循序檔,可對一組記錄建立一個索引項目,這種索引叫稀疏索引,此時k是一組記錄上關鍵字值最小的或最大記錄的關鍵字值,p是一組記錄的外存地址。
    對索引檔案的檢索過程分兩步進行:首先尋找索引表,若索引表上存在該記錄,則根據索引項目的指標域訪問外存上的該記錄,否則表明外存中不存在該記錄,也就不需訪問外存。索引檔案適合於隨機存取,索引循序檔即適合於隨機存取又適合於順序存取

4.倒排檔案
    在實際應用中,有時需要按某些次關鍵字的值尋找記錄,為此可以按次關鍵字建立索引,這種索引叫倒排索引,帶有倒排索引的檔案叫倒排索引檔案,又稱為倒排檔案。倒排檔案可以實現快速檢索。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.