An index file comprises:
The file header contains information about the file and points to the first free space record and the key information record.
Free space records are used to maintain a list of free records in the index file and the data file.
The key information record contains details of every key defined for the file, and, for each key, points to its root index node.
For each key defined, a complete and independent index is constructed. It consists of a tree of index node records which contain actual key values. Every key value in a node will point either to a subordinate index node record or to the actual data record associated with the key.
The records in an index file are always the same length, whether they are index nodes, file header or key information records. The size of the records is determined at the time the file is created and cannot be changed subsequently.