Möchte man in einer Relation auf einen Datensatz in einer anderen Relation verweisen (=referenzieren), so spricht man von einer Referenz. Referenzen können erzeugt werden, indem ein zusätzliches Attribut, das sogenannte Referenzattribut ergänzt wird.
Das Referenzattribut hat den selben Datentyp wie das Schlüsselattribut der anderen Relation.
Um die Datenintegrität zu gewährleisten, gibt man beim Anlegen der Relationen an, dass es sich beim ergänten Attribut um einen Fremdschlüssel handelt.
Beispiel: Diensthandy der Mitarbeiter
Um zu erfassen, welcher Mitarbeiter welches Diensthandy hat, wurde folgendes Datenmodell entworfen:
Der Systembetreuer entscheidet sich dazu, die ID des Mitarbeiters als Referenzattribut in der Relation DIENSTHANDY zu speichern (er hätte ebenso die IMEI des Diensthandys in der Relation MITARBEITER speichern können).
Das SQL-Statement zum Erstellen der Relation DIENSTHANY sieht nun so aus:
CREATE TABLE DIENSTHANDY(
IMEI INT,
Modell VARCHAR(10),
Rufnummer INT,
MitarbeiterID INT,
PRIMARY KEY (IMEI),
FOREIGN KEY (MItarbeiterID) REFERENCES MITARBEITER(ID)
);
Das Referenzattribut kann - muss aber nicht - einen neuen Namen erhalten.