簡介
索引是為了加速對表中數據行的檢索而創建的一種分散的存儲結構。索引是針對表而建立的,它是由數據頁面以外的索引頁面組成的,每個索引頁面中的行都會含有邏輯指針,以便加速檢索物理數據。索引檔案一般分為索引順序檔案和索引無序檔案。
主檔案按主關鍵字有序的檔案稱索引順序檔案。在索引順序檔案中,可對一組記錄建立一個索引項。這種索引表稱為稀疏索引。
索引無序檔案是指主檔案按主關鍵字無序的檔案。通常將索引非順序檔案簡稱為索引檔案。索引非順序檔案主檔案無序,順序存取將會頻繁地引起磁頭移動,適合於 隨機存取,不適合於順序存取。
索引檔案
索引檔案由主檔案和索引表構成。
①主檔案:檔案本身。
②索引表:在檔案本身外建立的一張表,它指明邏輯記錄和物理記錄之間的一一對應關係。
索引表組成
索引表由若干索引項組成。一般索引項由主關鍵字和該關鍵字所在記錄的物理地址組成。
索引檔案的存儲
索引檔案在存儲器上分為兩個區:索引區和數據區。索引區存放索引表,數據區存放主檔案。
索引檔案的建立
建立索引檔案的過程:
(1) 按輸入記錄的先後次序建立數據區和索引表。其中索引表中關鍵字是無序的
(2) 待全部記錄輸入完畢後對索引表進行排序,排序後的索引表和主檔案一起就形成了索引檔案。
存取
存取檔案中的記錄需按以下步驟:
(1)整個索引檔案都載入到記憶體中(檔案很小,只占用很小的記憶體空間)。
(2)搜尋項目,用高效的算法(如折半查詢法)查找目標鍵。
(3)檢索記錄的地址。
(4)按照地址,檢索數據記錄並返回給用戶。
更新操作
插入:將插入記錄置於數據區的末尾,並在索引表中插入索引項;
刪除:刪去相應的索引項。
隨機存取
在計算機科學中, 隨機存取( 直接訪問)代表同一時間訪問一組序列中的一個隨意組件。反之則稱順序訪問,即是需要更多時間去訪問一個遠程組件。介分兩者的傳統圖解就似比較一軸古代畫卷(循序︰所有在組件之前的物料必須事先卷開)及一本圖書(隨機︰可以隨時翻至任何一頁)。而更近現代的例子就如比較卡式磁帶(循序︰我們必須快速跳過早前的歌曲才可聆聽後期的歌曲)及一張CD(隨機︰我們可以隨意跳至我們想要之處)。不過,RAM一詞卻被用以作為電腦中的半導體晶片記憶體電路。
於數據結構中,隨機存取暗指可由一堆數字之中,能夠持續訪問N值的能力,而且除了數組(及相關結構,例如動態數組)以外,絕少數據結構能夠作出類似程式。另外,隨機存取對不少算法,如快速排序及二元搜尋而言不可或缺。其他數據結構,如合併排序,則憑隨機存取作出有效率的輸入、刪除抑或搜尋功能。

