Zuverlässigere Datenbanken durch Fremdschlüssel in MySQL

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.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Microsoft stellt kleines KI-Modell Phi-3 Mini vor

Seine Trainingsdaten umfassen 3,8 Milliarden Parameter. Laut Microsoft bietet es eine ähnliche Leistung wie OpenAIs…

2 Tagen ago

Google schließt kritische Sicherheitslücke in Chrome

Sie erlaubt eine Remotecodeausführung außerhalb der Sandbox. Betroffen sind Chrome für Windows, macOS und Linux.

2 Tagen ago

Microsoft beseitigt Fehler im März-Sicherheitsupdate für Exchange Server

Probleme treten vor allem bei Nutzern von Outlook Web Access auf. Das optionale Hotfix-Update für…

3 Tagen ago

Neue iPads: Apple kündigt Event für 7. Mai an

Die Einladung zeigt einen zeichnenden Apple Pencil. Der wiederum deutet auf neue iPads hin. Es…

3 Tagen ago

EU-Parlament stimmt für Recht auf Reparatur

Die Richtlinie erhält 584 Ja-Stimmen und 3 Gegenstimmen. Das „Recht auf Reparatur“ beinhaltet unter bestimmten…

3 Tagen ago

Forscher entwickeln Exploits per GPT-4 aus Sicherheitswarnungen

Die Tests basieren auf tatsächlich existierenden Sicherheitslücken. GPT-4 erreicht eine Erfolgsquote von 87 Prozent. Alle…

4 Tagen ago