Ein Sekundärschlüssel ist ein alternativer Suchschlüssel, der in einem Datenbanksystem neben dem Primärschlüssel als zusätzliches Suchkriterium zum Auffinden von einem oder mehreren Datensätzen verwendet werden kann. Ein Sekundärschlüssel kann wie jeder Suchschlüssel eines oder mehrere Attribute umfassen.
Im Gegensatz zu einem Primärschlüssel ist ein Sekundärschlüssel nicht unbedingt eindeutig. Er kann also mehrere Datensätze als Ergebnis einer Suche liefern.
Fremdschlüssel als Sekundärschlüssel
Um die Suche über einen Sekundärschlüssel effizient durchzuführen, ist es sinnvoll, die Attribute des Sekundärschlüssels über einen sogenannten Sekundärindex zu indizieren. Eine besondere Rolle spielen Sekundärindizes im Zusammenhang mit Fremdschlüsseln, welche auf den Primärschlüssel einer anderen Relation oder der gleichen Relation verweisen. Zur effizienten Durchführung einer Verbundoperation, welche die zusammengehörenden Datensätze zweier Relationen auf der Basis einer solchen Primär-Fremdschlüsselbeziehung ausfindig macht, ist es hilfreich, wenn man ausgehend von den Attributwerten im Primärschlüssel die zugehörigen Verbundpartner im Fremdschlüssel über einen Sekundärindex gezielt auffinden kann. Für jeden Attributwert im Primärschlüssel werden also alle Datensätze gesucht, die im zugehörigen Fremdschlüssel die gleichen Attributwerte besitzen.
Beispiel
In einer Adressdatenbank wird nach dem Namen Müller als Suchkriterium gesucht. Es gibt zahlreiche Treffer, da der Name Müller ein häufiger Nachname ist.
Literatur
- A. Eickler, A. Kemper: Datenbanksysteme. Oldenbourg Verlag, ISBN 3-486-27392-2
Weblinks
- Vorlesung Datenbanken der FH Lüneburg (Memento vom 22. Oktober 2004 im Internet Archive)