顺序文件的排列方式
(1)串结构——在串结构文件中的记录,通常是按存入时间的先后进行排序的,各记录之间的顺序与关键字无关。在对串结构文件进行检索时,每次都必须从头开始,逐个记录查找。
(2)顺序结构——由用户制定一个字段作为关键字,为了能唯一地表示每一个记录,必须使每个记录的关键字在文件中具有唯一性。文件中的所有记录就可以按关键字进行排序。还可以利用某种有效的算法,折半查找、插值查找等。
顺序文件的优缺点
顺序文件的最佳应用场合是对文件中的记录进行批量存取
缺点:如果想增加或删除一个记录都比较困难。为了解决这一问题,可以为顺序文件配置一个运行记录文件(事务文件),把试图增加、删除或修改的信息记录于其中,规定每隔一定时间,将运行记录文件与原来的主文件合并,产生一个按关键字排序的新文件。
记录寻址
为了访问顺序文件中的一条记录,首先应该找到该记录的地址。查找记录地址的方法有隐式寻址和显示寻址。
- 隐式寻址方式
对于定长记录的文件,如果已知当前记录的逻辑地址,便很容易确定下一个记录的逻辑地址。在系统中设置一个读指针,令它指向下一个记录的首地址,每当读完一个记录时,读指针加上记录的长度,使它又指向下一个记录的首地址。
对于变长记录的文件,每次读完后,指针加上刚刚读完的记录的长度。 - 显示寻址
该方式可用于对定长记录的文件实现直接或随机访问,因为任何记录的位置都很容易通过记录长度计算出来。
可变长度记录的文件不能利用显示寻址方式实现直接或间接随机访问