In einer relationalen Datenbank ist ein Sekundärschlüssel eine eindeutige Kennung für eine Zeile in einer Tabelle, aber nicht der Primärschlüssel. Der Primärschlüssel ist die Hauptkennung für eine Zeile und muss für jede Zeile in der Tabelle eindeutig sein. Ein Sekundärschlüssel kann eine beliebige Spalte oder Spaltenkombination sein, die eine Zeile eindeutig identifiziert, er muss jedoch nicht in der gesamten Datenbank eindeutig sein.
Sekundärschlüssel werden häufig zum Indizieren von Tabellen verwendet, was die Leistung beim Abfragen der Datenbank verbessern kann. Indizes sind Datenstrukturen, die die Werte einer oder mehrerer bestimmter Spalten in sortierter Reihenfolge speichern, sodass die Datenbank schnell Zeilen finden kann, die einem bestimmten Wert entsprechen.
Sekundärschlüssel können auch zur Durchsetzung der referenziellen Integrität verwendet werden. Dabei handelt es sich um das Konzept, die Konsistenz der Daten in einer Datenbank sicherzustellen. Wenn beispielsweise eine Fremdschlüsselspalte in einer Tabelle auf eine Primärschlüsselspalte in einer anderen Tabelle verweist, kann der Sekundärschlüssel verwendet werden, um sicherzustellen, dass der Fremdschlüsselwert immer auf eine gültige Zeile in der anderen Tabelle verweist.
Sekundärschlüssel sind ein wichtiger Bestandteil des Datenbankdesigns und können dazu beitragen, die Leistung zu verbessern, die referenzielle Integrität durchzusetzen und die Abfrage der Datenbank zu vereinfachen.