除了文件本身(称做数据区)之外,另建立一张指示逻辑记录和物理记录之间一一对应关系的表——索引表。这类包括文件数据区和索引表两大部分的文件称做索引文件。
图1所示为两个索引表的例子。索引表中的每一项称做索引项。不论主文件是否按关键字有序,索引表中的索引项总是按关键字(或逻辑记录号)顺序排列。若数据区中的记录也按关键字顺序排列,则称索引顺序文件。反之,若数据区中记录不按关键字顺序排列,则称索引非顺序文件。
索引表是由系统程序自动生成的。在记录输入建立数据区的同时建立一个索引表,表中的索引项按记录输入的先后次序排列,待全部记录输入完毕后再对索引表进行排序。例如,对应于图2(a)的数据文件,其索引表如图2(b)所示,而图2(c)为文件记录输入过程中建立的索引表。
索引文件的检索方式为直接存取或按关键字(进行简单询问)存取,检索过程,应分两步进行:首先,查找索引表,若索引表上存在该记录,则根据索引项的指示读取外存上该记录;否则说明外存上不