Chapter 17 - Indexing Structures for Files and Physical Database Design
single-level index
an auxiliary file that makes it more efficient to search for a record in the data file.
Secondary Index
A secondary index provides a secondary means of accessing a file. The secondary index may be on a field which is a candidate key and has a unique value in every record, or a non-key with duplicate values. The index is an ordered file with two fields. The first field is of the same data type as some non-ordering field of the data file that is an indexing field. The second field is either a block pointer or a record pointer. There can be many secondary indexes (and hence, indexing fields) for the same file. Includes one entry for each record in the data file; hence, it is a dense index
Primary Index
Defined on an ordered data file. The data file is ordered on a key field. Includes one index entry for each block in the data file; the index entry has the key field value for the first record in the block, which is called the block anchor. A similar scheme can use the last record in a block. A primary index is a nondense (sparse) index, since it includes an entry for each disk block of the data file and the keys of its anchor record rather than for every search value.
Clustering Index
Defined on an ordered data file. The data file is ordered on a non-key field unlike primary index, which requires that the ordering field of the data file have a distinct value for each record. Includes one index entry for each distinct value of the field; the index entry points to the first data block that contains records with that field value. It is another example of nondense index where Insertion and Deletion is relatively straightforward with a clustering index.
B+-tree
all pointers to data records exists at the leaf-level nodes
index
called an access path on the field
block anchor
key field value for the first record in the block for primary indexes.
dense index
has an index entry for every search key value (and hence every record) in the data file.
sparse (or nondense) index
has index entries for only some of the search values
B-tree
pointers to data records exist at all levels of the tree
index file
usually occupies considerably less disk blocks than the data file because its entries do not included all fields thus are much smaller