| Home - SQL Befehle - Datenmanipulation - Objekt erzeugen | www.sqldocu.com | ||||||||||||||||||||||||||||||||||
| zurück | vor | ||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||
CREATE INDEX ist nicht Bestandteil des ANSI Standards, da Indizese in der Mengenlehre
(Relationales Modell) nicht existieren. Nahezu alle
RDBMS
unterstützen jedoch diesen Befehl.
Ein INDEX bezieht sich auf eine oder mehrere Spalten einer Tabelle.
Meisten werden INDEXE mit der Option
UNIQUE
erzeugt, womit der INDEX eindeutig ist! z.B: Besteht ein INDEX aus nur
einer Spalte, so darf die Spalte keine doppelten Werte besitzen, besteht ein INDEX aus mehreren
Spalten, so muss die Kombination der Spalten eindeutig sein.
Wird versucht in einen INDEX ein Wert einzufügen, der bereits vorhanden ist,
liefert der Compiler eine entsprechende Fehlermeldung.
Es ist möglich mehrere INDEXE in einer Tabelle zu definieren. Ein INDEX wird als
PRIMARY KEY (deutsch: Primär Schlüssel) bezeichnet, dieser muss eineutig sein,
die anderen werden als SECONDARY KEY (deutsch: Zweit Schlüssel) bezeichnet, und können
eineutig sein.
Es gibt 2 Gründe warum INDEXE angelegt werden:
Wer sich mit INDEXEN beschäftigt dem sollte der Begriff FOREIGN KEY geläufig sein. Wir empfehlen CREATE INDEX nicht zu verwenden und statt dessen INDEXE während der Tabellen Erzeugung zu definieren.
Beispiele:
CREATE UNIQUE INDEX meinIndex ON meineTabelle (Spalte1)
CREATE UNIQUE INDEX meinIndex ON meineTabelle ( PersonalNummer )
Die Tabelle meine Tabelle erhält den INDEX mit dem Namen meinIndex.
Durch die Option UNIQUE ist der Index eindeutig. Es dürfen keine Felder
mit gleichem Wert in der Spalte PersonalNummer vorkommen. Da der Index eindeutig ist
und in der Tabelle keine weiteren INDEXE bestehen, spricht man von PRIMARY KEY (siehe
Beschreibung). Verwandte Themen: UNIQUE KEY, PRIMARY KEY, FOREIGN KEY, Vorschriften erstellen PHP Syntax PERL Syntax
CREATE INDEX meinIndex ON meineTabelle ( Name ) DESC
Die Tabelle meine Tabelle erhält den INDEX mit dem Namen meinIndex.
Durch das Weglassen die Option UNIQUElässt der Index doppelte/mehrfache
Werte in der Spalte Name zu. Hier könnten z.B. die Namen aller CrewMitglieder
der Föderation stehen. Natürlich kann ein Name öfters vorkommen,
und so macht es keinen Sinn, bei diesem INDEX Eindeutigkeit zu erzwingen. Dennoch
wird es öfters vorkommen, dass die Tabelle nach einem Namen durchsucht wird.
Das Anlegen eines INDEXES macht somit Sinn, da die Suche durch den INDEX mit hoher
Wahrscheinlichkeit beschleunigt wird. Die Option DESC bewirkt das absteigend
sortiert wird. Wird die Option weggelassen wählt das RDBMS automatisch ASC, womit aufsteigend
sortiert wird.
Verwandte Themen: UNIQUE KEY, PRIMARY KEY, FOREIGN KEY, Vorschriften erstellen PHP Syntax PERL Syntax
|
|||||||||||||||||||||||||||||||||||