Schlüssel
Schlüssel dienen in einer relationalen Datenbank dazu, die Datensätze einer Tabelle eindeutig zu identifizieren und zu referenzieren.
Primärschlüssel
Das Attribut oder die Attributmenge, die für eine Tabelle diese eindeutige Referenz bereitstellt, wird Primärschlüssel genannt. Kann eine solche Attributmenge nicht gefunden werden, so wird oftmals ein künstlicher Schlüssel, beispielsweise ein Attribut „ID“ hinzugefügt, das über einen Integerwert jeden Datensatz eindeutig identifiziert.
Fremdschlüssel
Ein Fremdschlüssel ist ein Attribut oder eine Attributkombination einer Relation, welches auf den Primärschlüssel einer anderen oder der gleichen Relation verweist. Damit wird eine Beziehung zwischen den Tupeln der beteiligten Relationen dargestellt.
Primär- und Fremdschlüssel am Beispiel
In ER-Diagrammen wurden die Primärschlüsselattribute unterstrichen dargestellt. Im Beispiel ist das für die Tabellen Lehrer
, Klasse
und Schueler
bereits geschehen. Jede/r Lehrer:in hat eine eindeutige PersonalNr
, das Attribut Klasse
speichert den Namen der Klasse, der für verschiedene Klassen unterschiedlich ist. Jede/r Schüler:in hat eine eindeutige SchuelerNr
.
Außerdem kann jede/r Schüler:in zu einem Zeitpunkt nur genau einer Klasse angehören. Demzufolge hat die Tabelle Schueler
eine Fremdschlüsselbeziehung zur Tabelle Klasse
. Das bedeutet, dass der Tabelle Schueler
ein zusätzliches Attribut Klasse
hinzugefügt wurde, welches angibt, zu welcher Klasse der/die Schüler:in gehört.