版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-循序存取

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

在計(jì)算機(jī)科學(xué)中,循序存取意指一組序列(例如存于記憶數(shù)組、磁盤軟件或是磁帶中的資料)是以預(yù)先安排,有秩序的方式被人存取。循序存取有時只是存取數(shù)據(jù)方式,磁帶即屬一例。循序存取亦有可能成為有選擇性的方式,就如我們純粹有意順序處理一組資料元件。1

研究背景使用計(jì)算機(jī)處理資料常見的作業(yè)程序是建檔、更新和取用三個步驟。建檔是指將資料儲存在磁帶或磁碟中;更新是指根據(jù)異動資料來修正檔案的內(nèi)容,以確保檔案的正確性和完整性;取用則指利用檔案提取或制作信息。一個良好檔案必備的條件很多,簡言之,就是符合目標(biāo)、使資料存得多、找得快、費(fèi)用低廉及操作簡單。要達(dá)到這些要求必須講究檔案設(shè)計(jì)的方法,底下將分檔案資料的型式和性質(zhì)、檔案組織的型態(tài)及其優(yōu)缺點(diǎn)和適用對象與時機(jī)、檔案的性能、設(shè)計(jì)的原則以及分析師的步驟等來討論。

存放檔案資料的媒體和方法很多,在計(jì)算機(jī)資料處理方面以磁帶和磁碟最為普遍。磁帶上的檔案資料只能以循序方式來處理,而磁碟中的檔案資料則可以隨機(jī)方式作業(yè),因此一般的計(jì)算機(jī)系統(tǒng)大都以磁碟為主要的輔助存儲器。一般常見的傳統(tǒng)檔案有下列三種:循序存取檔(SequentialAccessMethodFile簡稱SAM檔)、隨機(jī)存取檔(RandomAccessMethodFile簡稱RAM檔)和索引循序存取檔(IndexSequentialAccessMethodFile簡稱ISAM檔)。另外有一種新的檔案設(shè)計(jì),請查閱本冊數(shù)據(jù)庫設(shè)計(jì)一詞。底下將分述上面三種組織形態(tài)的檔案,及其優(yōu)缺點(diǎn)和適用對象與時機(jī)。

簡介循序存取檔:循序存取法是最基本的檔案設(shè)計(jì)方法,各個資料錄依照鍵號的順序存放在磁帶或磁碟上,在更新或取用時也須依照鍵號的順序循序處理,因此異動資料須事先分類(Sorting)。此種檔案在成批作業(yè)(BatchOrientedDataProcessing)時最常使用。成批作業(yè)就是將一企業(yè)的異動資料先集中成批,收集到一定數(shù)量后才做整批處理。成批作業(yè)常出現(xiàn)于周期性業(yè)務(wù)的處理,例如庫存清單登記、每月帳目處理和一季稅收報(bào)告等等。循序存取檔建檔的主要步驟為:1.打開檔(OpenFile);2.讀取資料并將它移到輸出區(qū)域;3.將資料寫到媒體(磁帶或磁碟)上。

對于數(shù)據(jù)結(jié)構(gòu)當(dāng)中,如果某人只能開啟一組包含特一排列的數(shù)值,該組數(shù)據(jù)結(jié)構(gòu)即屬循序存取,而正準(zhǔn)的例子就如連結(jié)串列。另外,含有循序存取的索引需要大O符號(k值)的若干時間,而k值則為變址。結(jié)果,不少算法如快速排序及二元搜尋會將算法變壞,令其比起原本算法變得較底效率。因此,這類算法之后會成一組缺乏隨機(jī)存取的無用算法。相反,通常不會作出索引的部分算法只需循序存取方式,例如合并排序,它們就無需遭受處置。2

優(yōu)點(diǎn)不便于中間插入新的資料;

不能隨機(jī)處理資料,異動資料必須事先分類,且在大量的主檔中尋找少部分的資料時很不方便;

不能借助系統(tǒng)程序管理資料,用戶的程序設(shè)計(jì)負(fù)擔(dān)較重。

缺點(diǎn)不便于中間插入新的資料;

不能隨機(jī)處理資料,異動資料必須事先分類,且在大量的主檔中尋找少部分的資料時很不方便;

不能借助系統(tǒng)程序管理資料,用戶的程序設(shè)計(jì)負(fù)擔(dān)較重。

適用對象與時機(jī)可以用來存放表格性質(zhì)的資料;

可以當(dāng)作分類時的工作區(qū);

可以用于活動比率高的更新作業(yè)處理。

相關(guān)介紹索引循序存取檔索引循序存取法是最常用的檔案設(shè)計(jì)方法。各個資料錄在磁碟中是依照鍵號的順序循序存放,但另外有一索引區(qū)域存放某些鍵號資料的存放位址,在更新或取用資料錄時,可以利用這些索引區(qū)確定資料錄約存放區(qū)域。索引存取檔是由索引區(qū)、純資料區(qū)和溢位區(qū)所組成。索引區(qū)又分三個索引階層,是存放索引的區(qū)域;純資料區(qū)是存放資料的區(qū)域;溢位區(qū)則存放超溢資料的區(qū)域。

隨機(jī)存取檔隨機(jī)存取法處理資料錄時不須仰賴循序順序,克服了循序存取檔的最大限制。此種檔案在存放資料錄時,是將其鍵號透過某一公式計(jì)算而得出存放位址;更新或取用資料錄時,也是按照同一公式計(jì)算得其存放位址。當(dāng)兩個不同的鍵號具有相同的存放位址時,通常是把后來的資料錄放在溢位區(qū)(OverflowArea),而兩資料錄間有鏈連結(jié),計(jì)算機(jī)可依此鏈找到所要的資料錄。一個良好的隨機(jī)存取檔,求算位址的公式應(yīng)當(dāng)簡單易算,而且算得同一位址的機(jī)率要低;當(dāng)算得同一位址時也要有一套簡便的方法來處理。

本詞條內(nèi)容貢獻(xiàn)者為:

鄢志丹 - 副教授 - 中國石油大學(xué)(華東)