Indexes are part of the physical database schema. An index provides a fast access path to the physical data in order to speed up the execution time of a query. It can be used to retrieve tuples with a specific column value in a quick way rather than having to read the entire table. Indexes can be defined over one or more columns.

Syntax and implementations are RDBMS specific. They can be created in SQL using the CREATE INDEX statement. They can be removed using the DROP statement. The UNIQUE statement can be added to enforce that the values in the index are unique. Therefore, duplicated indexes would not be allowed.

A CLUSTER index stores the tuples in a table based upon the index key. There can only be one CLUSTER index in a table as the tuples can only be stored in one order. If a table as no CLUSTER index, then the tuples will be stored in a random order.