文件存储结构的基本形式及考虑因素
每天我们都在接触各种各样的文件,使用和记录各种各样的数据信息,那这些文件都是以什么结构存储的呢?此文对此进行了一些小小的涉及和讲解。
基本组织方式: 顺序组织 索引组织 散列组织 链组织
常用结构 : 顺序结构 索引结构 散列结构 链结构
顺序结构(顺序表)
分类:
存储位置相邻(连续文件)
记录间以指针链接(串联文件)
描述:顺序结构可用于顺序存取,但更改后需要全部复制,对增删操作不方便。优点是存取较快用于批量修改,不能动态增长。
比如: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都需要一些指针信息,例如上一个位置下一个位置,感觉就像是数组结构。
考虑因素
一般选择具体文件结构的时候都需要更具具体情况来考虑,我这里只能罗列出一些考虑的因素
考虑因素:存储介质类型,记录类型,大小,关键字数目,对文件进行何种操作等
转载请注明出处。