Die beste Möglichkeit, zu verstehen, wie dies funktioniert, ist ein Beispiel. Hierzu erstellt man zwei Tabellen: Eine listet Tierarten samt den zugehörigen Codes auf (Tabellenname: species), die andere listet Tiere im Zoo auf (Tabellenname: zoo). Die Idee besteht darin, die beiden Tabellen über den Code der jeweiligen Tierart (species) zu verknüpfen, sodass nur diejenigen Einträge in der Zoo-Tabelle akzeptiert und in der Datenbank gespeichert werden, die über einen entsprechenden Code in der Tierarten-Tabelle verfügen.
Wichtig: Bei Tabellen, die nicht vom Typ Inno-DB sind, wird die FOREIGN KEY-Klausel ignoriert.
Wie dieses Beispiel illustriert, besteht nun eine Fremdschlüsselbeziehung zwischen den Feldern zoo.species und species.id. Ein Eintrag in der Zoo-Tabelle ist nur zulässig, wenn das entsprechende Feld zoo.species einem Wert im Feld species.id entspricht. Dies wird an der folgenden Ausgabe deutlich. Sie zeigt, was passiert, wenn man versucht einen Eintrag für Harry Hippopotamus mit einem ungültigen species-Code zu erstellen:
MySQL überprüft hier die species-Tabelle um zu sehen, ob der entsprechende Code vorhanden ist. Da dies nicht der Fall ist, wird der Datensatz zurückgewiesen. Zum Vergleich hier die Ausgabe, wenn man denselben Datensatz mit einem gültigen species-Code einfügt (also einem, der in der species-Tabelle vorhanden ist):
Auch hier überprüft MySQL in der species-Tabelle, ob der entsprechende Code vorhanden ist. Das stimmt in diesem Fall und so kann der Datensatz in der Zoo-Tabelle gespeichert werden.
Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…
Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…
Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…
Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.