索引文件
在文件中随机存取记录,需要指导记录的地址。例如,一个客户想要查询银行账户,客户和出纳员都不知道客户记录的地址,客户只能给出纳员自己的帐号(键)。这里,索引文件可以把帐号和记录地址关联起来。
概述
索引文件由数据文件组成,它是带 索引的顺序文件。 索引本身非常小,只占两个字段;顺序文件的键和在磁盘上相应记录的地址。存取文件中的记录需按以下步骤:
(1)整个索引文件都载入到内存中(文件很小,只占用很小的内存空间)。
(2)搜索项目,用高效的算法(如折半查询法)查找目标键。
(3)检索记录的地址。
(4)按照地址,检索数据记录并返回给用户。
由 索引表和 主文件两部分构成。
索引表是一张指示逻辑记录和物理记录之间对应关系的表。索引表中的每项称作索引项。索引项是按键(或逻辑 记录号)顺序排列。若文件本身也是按关键字顺序排列,则称为索引 顺序文件。否则,称为索引非 顺序文件。
索引顺序文件
(Indexed Sequential File)
主文件按 主关键字有序的文件称索引 顺序文件。在索引 顺序文件中,可对一组记录建立一个索引项。这种索引表称为稀疏索引。
索引非序文件
(Indexed NonSequentail File)
主文件按 主关键字无序的文件称索引非 顺序文件。在索引非 顺序文件中,必须为每个记录建立一个索引项,这样建立的索引表称为稠密索引。
索引文件的好处之一就是可以有多个索引,每个索引有不同的键。例如,职员的文件可以按社会保险号或姓名来检索。这种索引文件被称为 倒排文件。
注意
① 通常将索引非 顺序文件简称为索引文件。
② 索引非 顺序文件主文件无序,顺序存取将会频繁地引起磁头移动,适合于 随机存取,不适合于顺序存取。
③ 索引 顺序文件的主文件是有序的,适合于 随机存取、顺序存取。