Database Reference
In-Depth Information
b) Das Suchen nach Attributwerten soll beschleunigt werden.
Situation a) kommt meistens bei Identschlüsselattributen (diese
müssen definitionsgemäß eindeutig sein) vor, oder aber bei
Fremdschlüsselattributen, um ein 1-c-Beziehung zu definieren
(siehe auch Anhang C). In bestimmten Fällen kann es auch für
Nichtschlüssel-Attribute sinnvoll sein, einen eindeutigen Index
zu erstellen. Für Identschlüsselattribute gibt es mit dem SQL-
Befehl „ALTER TABLE“ eine Alternative zur Indizierung (siehe
Abschnitt 6.1.4).
Situation b) kommt meist bei Fremdschlüsselattributen vor, um
Abfragen zu beschleunigen. Doch auch bei Attributen, die für
Sortierungen oder beim Suchen verwendet werden, bringt die
Indizierung Geschwindigkeitsverbesserungen.
Der SQL-Befehl für das Erstellen eines Index sieht aus, wie dies
Bild 6.5 zeigt.
Bild 6.5:
Index erstellen
CREATE [UNIQUE] INDEX Indexname ON
Tabellenname ( Attribut1 , Attribut2, ... );
Das Schlüsselwort „UNIQUE“ bezeichnet einen eindeutigen In-
dex.
Beispiel: Die Tabelle „Kursbesuche“ habe folgenden Aufbau:
Kursbesuche ( PNr , KNr , Datum)
Der Identifikationsschlüssel wird aus den Attributen „PNr“ (Per-
sonalnummer) und „KNr“ (Kursnummer) gebildet. Somit sollte
ein Tabellenindex gemäß Bild 6.6 eingerichtet werden.
Bild 6.6:
Eindeutigen In-
dex erstellen
CREATE UNIQUE INDEX ID_Kursbesuche ON
Kursbesuche ( PNr, KNr );
Vor jedem Einfügen eines neuen Datensatzes bzw. Nachführen
eines bestehenden Datensatzes überprüft das Datenbankver-
waltungssystem automatisch, ob die Attributwertkombination
„PNr, KNr“ noch eindeutig ist. Falls dies nicht der Fall ist, wird
die laufende Transaktion mit einer Fehlermeldung abgebro-
Search WWH ::




Custom Search