Eine Kennung allein reicht nicht
Eine Kursanmeldung enthält häufig die Kennung des zugehörigen Kurses. Wenn dieser Kurs fehlt, bleibt ein verwaister Eintrag zurück. SQLite unterstützt Fremdschlüssel, um solche Beziehungen zwischen Tabellen abzusichern. Die offizielle Dokumentation beschreibt die notwendige Aktivierung für die jeweilige Verbindung und warnt davor, sich einfach auf einen vermuteten Standardzustand zu verlassen.
Auch das Verhalten beim Löschen oder Ändern eines referenzierten Eintrags muss festgelegt werden. SQLite bietet dafür verschiedene Aktionen. Der zusätzliche Befehl „foreign_key_check“ kann Verletzungen von Fremdschlüsselbeziehungen melden. Dieser Ratgeber erklärt bestehende Datenbankgrundlagen und keine heute veröffentlichte SQLite-Neuerung.
Eine Entscheidung für das Kursportal
In unserem Beispiel dürfen angemeldete Teilnehmende nicht verschwinden, nur weil jemand einen Kurs aus der öffentlichen Liste nimmt. Deshalb unterscheiden wir zwischen Absagen, Ausblenden und tatsächlichem Löschen. Diese fachliche Entscheidung sollte vor dem Datenbankschema getroffen werden. Ein automatisch kaskadierendes Löschen wäre hier möglicherweise die falsche Umsetzung.
Schreibe im Bauauftrag: „Definiere die Beziehung zwischen Kurs und Anmeldung. Beschreibe, welche Aktion vorhandene Anmeldungen schützt. Prüfe die Fremdschlüsselaktivierung beim Verbindungsaufbau.“ Verlange außerdem eine verständliche Meldung in der Verwaltung, wenn eine gewünschte Aktion wegen vorhandener abhängiger Datensätze nicht möglich ist.
Mit wenigen Testdaten beginnen
Erstelle in einer eigenen Testdatenbank einen Kurs und zwei Anmeldungen. Versuche anschließend, eine weitere Anmeldung mit einer nicht vorhandenen Kurskennung anzulegen. Dieser ungültige Fall muss nach den vorgesehenen Regeln abgewiesen werden. Danach versuchst du, den Kurs zu löschen. Vergleiche das Ergebnis mit der vorher festgelegten fachlichen Entscheidung.
Prüfe nicht nur den normalen Webweg. Auch Importfunktionen oder Hintergrundprozesse öffnen Verbindungen und müssen dieselben Datenbeziehungen beachten. Eine korrekte Eingabemaske schützt nicht automatisch vor einem fehlerhaften Import. Lass deshalb einen kleinen Importtest mit gültigen und ungültigen Verweisen dokumentieren.
Alte Daten vor Änderungen untersuchen
Wenn bereits Daten vorhanden sind, führe zuerst eine Bestandsprüfung auf einer geeigneten Kopie durch. Eine neu ergänzte Regel repariert frühere verwaiste Datensätze nicht automatisch. Kläre jeden gefundenen Fall anhand der vorhandenen Unterlagen, statt einen angeblich passenden Kurs zu erfinden oder Anmeldungen pauschal zu entfernen.
Dokumentiere die gewählten Beziehungen zusammen mit Sicherung und Wiederherstellung. Bei der Abnahme zählt, ob erlaubte Vorgänge funktionieren und unerlaubte Zustände verhindert oder sichtbar gemeldet werden. Eine Datenbank mit klaren Beziehungen macht spätere Erweiterungen leichter verständlich, ersetzt aber weiterhin keine fachliche Entscheidung über den Lebenslauf deiner Daten.
Quellen & Aktualität
Quellen geprüft am 2026-10-02. Herstellerangaben sind als solche eingeordnet. Produktdetails können sich nach diesem Stand ändern.



