Sekundärschlüssel
Für einen Sekundärschlüssel gibt es unterschiedliche Definitionen. Oft wird er als ein alternativer Suchschlüssel angesehen, 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 nach dieser Definition nicht unbedingt eindeutig. Er kann also mehrere Datensätze als Ergebnis einer Suche liefern.
Eine andere Definition stellt den Sekundärschlüssel einem Alternativschlüssel, also einem Schlüsselkandidaten, gleich. Ein Fremdschlüssel verweist häufig auf einen Primärschlüssel, kann aber auch auf einen Sekundärschlüssel zeigen. Das setzt voraus, dass der Sekundärschlüssel eindeutig ist. Manchmal wird dem Sekundärschlüssel nach dieser Definition zugestanden, NULL-Werte zu haben. Dann ist er strenggenommen kein Schlüsselkandidat mehr.
Fremdschlüssel als Sekundärschlüssel
BearbeitenUm 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
BearbeitenIn 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
Bearbeiten- A. Eickler, A. Kemper: Datenbanksysteme. Oldenbourg Verlag, ISBN 3-486-27392-2
Weblinks
Bearbeiten- Vorlesung Datenbanken der FH Lüneburg ( vom 22. Oktober 2004 im Internet Archive)