資料結構-檔案
資料結構-檔案
在資料處理方面,特別是事務型的軟體編制工作中,都涉及到有關檔案的知識。有效地組織資料,提供方便而又高效地利用資料資訊的方法,是檔案這一章所要討論的內容。儘管資料管理技術早已從檔案系統發展到資料庫系統,但因為檔案系統是資料庫系統的基礎,從專用、高效和系統軟體研製角度看,檔案系統仍有其不可取代的地位。正如高階語言出現後,組合語言仍是軟體研製的重要工具一樣。
檔案概念
1.檔案概念
檔案(File)是性質相同的記錄的集合。
注意:
①檔案的資料量通常很大,被放置在外存上。
②資料結構中討論的檔案主要是資料庫意義上的檔案,不是作業系統意義上的檔案。
③作業系統中研究的檔案是一種的複雜結構連續字元序列,記錄性質可能不相同。資料庫中所研究的檔案基本上是單一結構的記錄集合,每個記錄可由若干個資料項構成。
記錄是檔案中存取的基本單位,資料項是檔案可使用的最小單位。資料項有時也稱為欄位(Field),或者稱為屬性(Attribute)。
其值能惟一標識一個記錄的資料項或資料項的組合稱為主關鍵字項。其它不能惟一標識一個記錄的資料項則稱為次關鍵字項。主關鍵字項(或次關鍵字項)的值稱為主關鍵字(或次關鍵字)。
為討論方便起見,一般不嚴格區分關鍵字項和關鍵字。即在不易混淆時,將主(或次)關鍵字項簡稱為主(或次)關鍵字,並且假定主關鍵字項只含一個數據項。
【例】下表是一個簡單的職工檔案。每個職工情況是一個記錄,它由7個數據項組成。其中"職工號"可作為主關鍵字項,它能惟一標識一個記錄,即它的值對任意兩個記錄都是不同的。姓名、性別等資料只能作為次關鍵字項,因為它們的值對不同的記錄可以是相同的。
2.檔案分類
(1)單關鍵字檔案和多關鍵字檔案
檔案可以按照記錄中關鍵字的多少,分成單關鍵字檔案和多關鍵字檔案。
① 單關鍵字檔案
檔案中的記錄只有一個惟一標識記錄的主關鍵字。
② 多關鍵字檔案
檔案中的記錄除了含有一個主關鍵字外,還含有若干個次關鍵字的檔案。
(2)定長檔案和不定長檔案
① 由定長記錄組成的檔案稱做定長檔案
含有的資訊長度相同的記錄稱定長記錄。
② 檔案中記錄含有的資訊長度不等,則稱其為不定長檔案。
【例】上表所示的職工檔案是一個定長檔案。
檔案的邏輯結構及操作
1.檔案的邏輯結構
檔案可看成是以記錄為資料元素的一種線性結構。
2.檔案上的操作主要有兩類:檢索和維護。
(1)檢索
檢索即在檔案中查詢滿足給定條件的記錄。它既可以按記錄的邏輯號(即記錄存入檔案時的順序編號)查詢,也可以按關鍵字查詢。按檢索條件的不同,可將檢索分為四種詢問:
①簡單詢問:只詢問單個關鍵字等於給定值的記錄。
【例】下表的職工檔案中,查詢職工號=447,或姓名="張珊"的記錄。
②範圍詢問:只詢問單個關鍵字屬於某個範圍內的所有記錄。
【例】下表的職工檔案中,查詢工資>2100的所有職工的記錄。
③函式詢問:規定單個關鍵字的某個函式,詢問該函式的某個值。
【例】下表的職工檔案,查詢全體職工的平均工資是多少。
④布林詢問:以上三種詢問用布林運算(與、或、非)組合起來的詢問。
【例】下表的職工檔案中,要找出所有工資低於2100的程式設計師以及所有工資低於5120的分析員,查詢條件是:(職務="程式設計師")and(工資<2100)or(職務="分析員")and(工資<5120)
(2)維護操作
維護操作主要是指:
① 對檔案進行記錄的插入、刪除及修改等更新操作。
② 為提高檔案的效率,進行再組織操作,
③ 檔案被破壞後的恢復操作,以及檔案中資料的安全保護等。
(3)檔案操作的處理方式
檔案上的檢索和更新操作,都可有實時和批量兩種不同的處理方式。
① 實時處理:響應時間要求嚴格,要求在接受詢問後幾秒種內完成檢索和更新。
② 批量處理:響應時間要求寬鬆一些,不同的檔案系統有不同的要求。
【例】一個民航訂票系統,其檢索和更新都應當實時處理;而銀行的賬戶系統需要實時檢索,但可進行批量更新,即可以將一天的存款和提款記錄在一個事務檔案上,在一天的營業之後再進行批量處理。
檔案的儲存結構(亦稱物理結構)
1.檔案的儲存結構
檔案的儲存結構是指檔案在外存上的組織方式。
檔案在外存上的基本的組織方式有四種:順序組織,索引組織,雜湊組織和鏈組織;
對應的的檔名稱分別為:順序檔案、索引檔案、雜湊檔案和多關鍵字檔案。
檔案組織的各種方式往往是這四種基本方式的結合。
2.檔案組織方式的選擇
選擇哪一種檔案組織方式,取決於對檔案中記錄的使用方式和頻繁程度、存取要求、外存的性質和容量。
注意:
常用外存裝置有:
①磁帶是順序存取裝置,只適用於儲存順序檔案。
②磁碟是直接存取裝置,適用於儲存順序檔案、索引檔案、雜湊檔案和多關鍵字檔案等。
3.檔案組織效率的評價標準
評價一個檔案組織的效率,是執行檔案操作所花費的時間和檔案組織所需的儲存空間。通常檔案組織的主要目的,是為了能高效、方便地對檔案進行操作,而檢索功能的多寡和速度的快慢,是衡量檔案操作質量的重要標誌,因此,如何提高檢索的效率,是研究各種檔案組織方式首先要關注的問題。
轉載於:https://my.oschina.net/dubenju/blog/1980292