Wikipedia · einfach zusammengefasst · Stand
Sekundärschlüssel
Ein Fremdschlüssel verweist häufig auf einen Primärschlüssel, kann aber auch auf einen Sekundärschlüssel zeigen. ... Fremdschlüssel als Sekundärschlüssel.
Inhalt4 Abschnitte
Definition und Abgrenzung
Ein Sekundärschlüssel ist meist ein zusätzlicher Suchschlüssel in einem Datenbanksystem. Er wird neben dem Primärschlüssel als weiteres Suchkriterium verwendet, um einen oder mehrere Datensätze zu finden. Wie jeder Suchschlüssel kann er aus einem oder mehreren Attributen, also Datenfeldern, bestehen.
Anders als ein Primärschlüssel muss ein Sekundärschlüssel nach dieser Definition nicht eindeutig sein. Derselbe Wert kann daher zu mehreren Datensätzen gehören und eine Suche mehrere Ergebnisse liefern.
Abweichende Definition
Nach einer anderen Definition ist ein Sekundärschlüssel mit einem Alternativschlüssel gleichzusetzen. Ein Alternativschlüssel ist ein Schlüsselkandidat, der einen Datensatz eindeutig identifizieren kann, aber nicht als Primärschlüssel gewählt wurde.
Ein Fremdschlüssel, also ein Attribut oder eine Attributgruppe mit Verweis auf einen Schlüssel, kann auf einen solchen Sekundärschlüssel zeigen. Dafür muss der Sekundärschlüssel eindeutig sein. Manchmal werden dabei NULL-Werte zugelassen; dann handelt es sich streng genommen nicht mehr um einen Schlüsselkandidaten.
Sekundärindex und Fremdschlüssel
Damit eine Suche über einen Sekundärschlüssel effizient abläuft, können seine Attribute durch einen Sekundärindex erschlossen werden. Ein Sekundärindex ist eine zusätzliche Suchstruktur, mit der passende Datensätze gezielt gefunden werden können.
Das ist besonders bei Fremdschlüsseln nützlich, die auf den Primärschlüssel derselben oder einer anderen Relation, also Tabelle, verweisen. Bei einer Verbundoperation werden zusammengehörende Datensätze zweier Relationen anhand ihrer Primär-Fremdschlüsselbeziehung ermittelt. Mithilfe eines Sekundärindex lassen sich zu jedem Attributwert des Primärschlüssels gezielt alle Datensätze finden, deren Fremdschlüssel dieselben Attributwerte enthält.
Typisches Beispiel
Wird in einer Adressdatenbank nach dem Namen „Müller“ gesucht, dient der Name als Sekundärschlüssel beziehungsweise zusätzliches Suchkriterium. Da „Müller“ ein häufiger Nachname ist, liefert die Suche zahlreiche Treffer. Das zeigt, dass ein Sekundärschlüssel nach der üblichen Definition nicht eindeutig sein muss.