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