顺序文件概念
1.顺序文件
顺序文件是指按记录进入文件的先后顺序存放、其逻辑顺序和物理顺序一致的文件。
注意:
一切存储在顺序存取存储器(如磁带)上的文件,都只能是顺序文件。
2. 顺序文件分类
(1) 顺序有序文件
记录按其主关键字有序的顺序文件为顺序有序文件。
(2) 顺序无序文件
记录未按其主关键字有序排列的顺序文件为顺序有序文件。
注意:
为提高检索效率,常将顺序文件组织成有序文件。
顺序有序文件存取的查找方法
1.顺序存取存储器(磁带)上文件存取的查找方法
顺序查找法即顺序扫描文件,按记录的主关键字逐个查找。要检索第i个记录,必须检索前i-1个记录。
注意:
① 这种查找法对于少量的检索是不经济的,但适合于批量检索。
② 顺序存取存储器上的文件只能用顺序查找法存取
2.直接存取存储(磁盘)上文件存取的查找方法
(1) 顺序查找法
(2) 分块查找法
具体方法:
设文件按主关键字的递增序,每100个记录为一块,各块的最后一个记录的主关键字为Kl00 ,K200 ,…,K100i ,…:
查找时,将所要查找的记录的主关键字K,依次和各块的最后一个记录的主关键字比较,当K大于K100(i-1) 且小于或等于K100i 时,则在第i块内进行扫描。
注意:
分块查找法在查找时不必扫描整个文件中的记录。
(3) 二分查找法
① 二分查找法只适合对较小的文件或一个文件的索引进行查找。
② 当文件很大,在磁盘上占有多个柱面时,二分查找将引起磁头来回移动,增加寻查时间。
③ 对磁盘等直接存取设备,还可以对顺序文件进行插值查找和跳步查找。
顺序文件的修改
1.顺序文件的修改操作
由于文件中的记录不能像向量空间的数据那样"移动",故只能通过复制整个文件的方法实现插人、删除和修改等更新操作。
2.批量处理方式实现顺序文件的更新
(1)批量处理方式工作原理:
① 把所有对顺序文件(以下称主文件)的更新请求,都放入一个较小的事务文件中。
② 当事务文件变得足够大时,将事务文件按主关键字排序,
③ 再按事务文件对主文件进行一次全面的更新,产生一个新的主文件。
④ 最后,清空事务文件,以便积累此后的更新内容。
(2)工作原理如下图所示。
注意:
批量处理方式可减少更新操作的代价
顺序文件主要优点是连续存取的速度较快
顺序文件具有连续存取特点。当文件中第i个记录刚被存取过,而下一个要存取的是第i+1个记录,则这种存取将会很快完成。
注意:
① 对存放在单一存储设备(如磁带)上的顺序文件连续存取速度快
② 顺序文件存放在多路存储设备(如磁盘)上时,在多道程序的情况下,由于别的用户可能驱使磁头移向其它柱面,会降低连续存取的速度。顺序文件多用于磁带。