Bei der Tabellenindizierung geht es hauptsächlich darum, die Eindeutigkeit von Identifikationsschlüsseln zu gewährleisten. Das Indizieren von Nichtschlüssel-Attributen ist nur dann sinnvoll, wenn man damit die Suche nach bestimmten Datensätzen beschleunigt und die Sortierung schneller macht. Es sollten daher Felder, die häufig zum Suchen nach Daten verwendet werden, einen Index erhalten. Zu viele Indizes verlangsamen aber das Aktualisieren der Datensätze.
Es können Indizes auf der Basis eines einzelnen Feldes oder mehrerer Felder erstellt werden. Indizes auf der Basis mehrerer Felder ermöglichen die Unterscheidung zwischen Datensätzen, deren erstes Feld denselben Wert aufweist.
Mit der Anweisung CREATE INDEX kann man einen neuen Index für eine bereits vorhandene Tabelle erstellen. Syntax:
CREATE | UNIQUE | INDEX Index
ON Tabelle (Feld[,...])
Argument |
Beschreibung |
---|---|
Index |
Name des Index, der erstellt werden soll |
Tabelle |
Name der Tabelle, für die der Index erstellt werden soll |
Feld |
Name eines Feldes, das in die Definition des Index aufgenommen werden soll. Wenn ein einfacher Index erstellt wird, gibt man den Feldnamen in Klammern hinter dem jeweiligen Tabellennamen an. Bei einer Mehr-Felder-Index muß man den Namen jedes Feldes angeben, das in die Indexdefinition aufgenommen werden soll. |
UNIQUE |
Verhindert, daß zu einem Index gehörende Felder gleiche Werte in unterschiedlichen Datensätzen enthalten. |
Vor jedem Einfügen eines neuen Datensatzes überprüft das Datenbankverwaltungssystem automatisch, ob der Identifikationsschlüssel noch eindeutig ist. Falls dies nicht der Fall ist, wird die laufende Transaktion mit einer Fehlermeldung abgebrochen.