一、索引文件的基本概念
除了文件本身(称作数据区)之外,别建立一张指示逻辑记录和物理记录之间一一对应关系的表--索引表。
索引表中的每一项称作索引项。不论主文件是否按关键字有序,索引表中的索引项总是按关键字(或逻辑记录号)顺序排列。
若数据区中的记录也按关键字顺序排列,则称索引顺序文件。反之,若数据区中记录不按关键字顺序排列,则称非顺序文件。
数据区:
|
物理记录号 |
姓名 |
年龄 |
体重(关键字) |
|
1 |
李由 |
57 |
62 |
|
2 |
王天 |
54 |
76 |
|
3 |
七大 |
24 |
75 |
|
4 |
张强 |
24 |
72 |
|
5 |
陈华 |
24 |
53 |
索引表:
|
体重(关键字) |
物理记录号 |
|
53 |
5 |
|
62 |
1 |
|
72 |
4 |
|
75 |
3 |
|
76 |
2 |
有了按体重索引的索引表后,按体重查找学生可先在索引表中查找(因索引表中按体重有序,所以可用效率高的查找算法)然后得到对应的物理记录号后到数据区取出对应物理记录。
索引文件可以大大提高表查找的速度。因为索引表容量小,且索引表按关键字有序。
二、索引文件的建立
在记录输入建立数据区的同时建立一个索引表,表中的索引项按记录输入的先后次序排列,待全部记录输入完毕后再对索引表进行排序。