Lernziel: Du kannst Fremdschlüssel (FOREIGN KEY) definieren, referentielle Integrität erklären und die Referenzaktionen (RESTRICT/NO ACTION, CASCADE, SET NULL) an einem Reisebeispiel testen.
Foreign Keys sind ein äußerst wichtiges Konzept in der SQL-Datenbankentwicklung. Sie ermöglichen die Beziehung zwischen Tabellen und gewährleisten die Integrität und Konsistenz von Daten. Durch die Verwendung von Foreign Keys können Dateninkonsistenzen vermieden, Datenintegritätsregeln erzwungen und Daten in einer organisierten und strukturierten Weise gespeichert werden.
Ein Foreign Key (auch Fremdschlüssel genannt) ist eine Spalte oder eine Gruppe von Spalten in einer Tabelle, die auf die Primärschlüsselspalte(n) einer anderen Tabelle verweisen. Er stellt eine Beziehung zwischen zwei Tabellen her und ermöglicht die Referenzierung von Daten in einer Tabelle durch eine andere Tabelle.
Um die Funktionsweise eines Foreign Keys besser zu verstehen, nehmen wir an, wir hätten zwei Tabellen: ‚Kunden‘ und ‚Bestellungen‘. Jeder Eintrag in der Tabelle ‚Bestellungen‘ ist einem bestimmten Kunden aus der Tabelle ‚Kunden‘ zugeordnet. Um diese Beziehung zwischen den beiden Tabellen herzustellen, können wir den Primärschlüssel der Tabelle ‚Kunden‘ (normalerweise eine eindeutige ID) als Foreign Key in der Tabelle ‚Bestellungen‘ verwenden.
[Continent] (ContinentID PK, ContinentName) 1 ─── n [Country] (CountryID PK, CountryName, ContinentID FK -> Continent.ContinentID) 1 ─── n [Trip] (TripID PK, CountryID FK -> Country.CountryID, StartDate, EndDate, Price)
Geschäftsregeln (aus LU03):