文件存储结构的基本形式及考虑因素

January 8, 2011

每天我们都在接触各种各样的文件,使用和记录各种各样的数据信息,那这些文件都是以什么结构存储的呢?此文对此进行了一些小小的涉及和讲解。

文件存储结构

基本组织方式: 顺序组织  索引组织  散列组织  链组织

常用结构        :  顺序结构  索引结构  散列结构  链结构

顺序结构(顺序表)

分类:

存储位置相邻(连续文件)

记录间以指针链接(串联文件)

描述:顺序结构可用于顺序存取,但更改后需要全部复制,对增删操作不方便。优点是存取较快用于批量修改,不能动态增长。

比如:http://club.eebbk.com/bbkbbs/dispbbs.asp?boardid=38&Id=250082

这个是步步高学习机中的文件,lcc(名片文件)和用户词典数据。都能算做是顺序结构吧,只是lcc还包含有一点头信息

索引结构

索引文件包含:索引表,数据表

描述:

索引表中索引项包含了与具体数据有关的相关信息,例如一些关键字等,但最主要的是指向数据表的一个地址。索引表是有序的,物理次序体现文件逻辑次序,实现文件线性结构。

索引表只能是磁盘文件,索引结构的文件既能顺序存取又能随机存取

比如:

http://club.eebbk.com/bbkbbs/dispbbs.asp?boardid=38&Id=250018

http://club.eebbk.com/bbkbbs/dispbbs.asp?boardid=38&Id=250092

cue-Wv 文件,一种媒体格式

Dvd的一些Vob文件也是索引的

这种文件中有的是以一整段数据存储在一起,然后以索引表来分段。有的是为了把多段数据存储在一起,然后以索引表来辨别分别的每个文件。

散列结构(计算机寻址结构,其文件被称为散列文件)

描述:

记录的是又关键字经过散列函数确定的地址,存取快,不需要索引节省了空间,但不能顺序存取 只能随机。RAM 随机存取的。

具体哪些文件是我也不清楚,因为一般哪些文件结构都比较难弄的清楚,必须要知道散列函数才能确定其数据结构。

链结构

描述:

即以指针链接的每个物理块。

优点是:能够存储碎片,利于动态增删,提高磁盘利用率

缺点是:存取较慢,不适用于随机存取,效率低,可靠性低(一个指针出错就全部都错了),指针需要空间来存储

链结构在计算机中运用还是很广泛的,编程时的数组对象等数据结构基本都是以链结构储存的。

一般链结构的key都需要一些指针信息,例如上一个位置下一个位置,感觉就像是数组结构。

考虑因素

一般选择具体文件结构的时候都需要更具具体情况来考虑,我这里只能罗列出一些考虑的因素

考虑因素:存储介质类型,记录类型,大小,关键字数目,对文件进行何种操作等

转载请注明出处。