Fremdschlüssel (Foreign Key)
Der Fremdschlüssel kann Bestandteil einer Tabelle in einer relationalen Datenbank sein. Dabei handelt es sich um eine Schlüsselspalte, die auf einen Primärschlüssel einer anderen oder aber derselben Tabelle verweist.
Welche Fremdschlüsselarten gibt es?
Es kann sich dabei um einen einfachen oder zusammengesetzten Schlüssel handeln. Das hängt davon ab, wie der Primärschlüssel der referenzierten Tabelle aufgebaut ist.
Aufgrund der referentiellen Integrität kann der Fremdschlüssel nur Werte annehmen, die in der Referenztabelle vorhanden sind. Zudem kann eine beliebige Anzahl von Datensätzen den gleichen Fremdschlüsselwert aufweisen.
Beispiele für den Einsatz eines Fremdschlüssels
Fremdschlüssel-Beziehungen (Foreign Key Relationships) sind in relationalen Datenbanken von entscheidender Bedeutung, um Verbindungen zwischen Tabellen herzustellen. Hier sind einige Beispiele:
- Schüler- und Kurs-Tabelle:
- Schüler-Tabelle: SchuelerId (Primärschlüssel), Name, Klasse
- Kurs-Tabelle: KursId (Primärschlüssel), Kursname, LehrerId (Fremdschlüssel, verweist auf Lehrer-Tabelle), SchuelerId (Fremdschlüssel, verweist auf Schüler-Tabelle)
- Bestellungen und Produkte:
- Bestellung-Tabelle: BestellungsId (Primärschlüssel), KundenId (Fremdschlüssel, verweist auf Kunden-Tabelle), Bestelldatum
- Produkt-Tabelle: ProduktID (Primärschlüssel), Produktname, Preis
- Bestellposition-Tabelle: BestellungsId (Fremdschlüssel, verweist auf Bestellungen-Tabelle), ProduktId (Fremdschlüssel, verweist auf Produkte-Tabelle), Menge
- Bibliotheksverwaltung:
- Buch-Tabelle: BuchId (Primärschlüssel), Titel, AutorId (Fremdschlüssel, verweist auf Autoren-Tabelle)
- Autor-Tabelle: AutorId (Primärschlüssel), Autorname, Geburtsdatum
- Mitarbeiter und Abteilungen:
- Mitarbeiter-Tabelle: MitarbeiterId (Primärschlüssel), Vorname, Nachname, AbteilungsId (Fremdschlüssel, verweist auf Abteilungen-Tabelle)
- Abteilung-Tabelle: AbteilungsId (Primärschlüssel), Abteilungsname, LeiterId (Fremdschlüssel, verweist auf MitarbeiterId in der Angestellte-Tabelle)
- Flughafen und Flugzeug:
- Flughafen-Tabelle: FlughafenId (Primärschlüssel), Name, Stadt
- Flugzeug-Tabelle: FlugzeugId (Primärschlüssel), Modell, FlughafenId (Fremdschlüssel, verweist auf Flughafen-Tabelle für den Standort des Flugzeugs)
Diese Beispiele zu Fremdschlüsselbeziehungen zeigen, wie Fremdschlüssel verwendet werden können, um Beziehungen zwischen verschiedenen Tabellen in einer Datenbank herzustellen.