Validierung & Constraints
Ein Datenmodell ist nur so gut wie die Regeln, die es zusammenhalten. Das Entity-System von buzzle Commerce Core sichert Datenintegrität auf zwei Ebenen: über Validatoren, die Werte prüfen, und über Constraints, die im Datenbank-Schema verankert sind. Beide entstehen aus der Entitätsdefinition und wirken automatisch überall dort, wo Daten geschrieben werden.
Validierung der Werte
Abschnitt betitelt „Validierung der Werte“Zu jeder Eigenschaft lassen sich Prüfungen hinterlegen. Typische Validatoren sind:
- Pflichtfeld – ein Wert muss vorhanden sein.
- Formatprüfung – der Wert muss einem Muster entsprechen, etwa als Regex-Validator für definierte Zeichenfolgen, oder über die eingebauten Prüfungen spezialisierter Attributtypen wie E-Mail, UID oder GLN.
- Eindeutigkeit – ein Wert (oder eine Kombination) darf innerhalb der Entität nur einmal vorkommen (Unique-Validator).
- Eigene Regeln – Custom-Validatoren bilden fachliche Prüfungen ab, die über Format und Eindeutigkeit hinausgehen.
Die Validierung greift beim Schreiben: Verstösst ein Wert gegen eine Regel, wird die Änderung mit einer aussagekräftigen Meldung abgewiesen, statt fehlerhafte Daten zuzulassen.
Constraints im Schema
Abschnitt betitelt „Constraints im Schema“Über die wertbezogene Prüfung hinaus verankert das System Constraints direkt im Datenbank-Schema – als letzte, verlässliche Verteidigungslinie:
- Unique-Constraints – erzwingen Eindeutigkeit auf Datenbankebene.
- Fremdschlüssel – sichern die Gültigkeit von Relationen.
- Weitere Constraint-Definitionen – etwa über berechnete Spalten und Indizes.
Diese Constraints werden – wie das übrige Schema – automatisch aus der Definition erzeugt und abgeglichen.
Prüfung beim Löschen
Abschnitt betitelt „Prüfung beim Löschen“Nicht nur das Schreiben, auch das Löschen wird geprüft. Das System stellt fest, ob ein Datensatz gelöscht werden darf – etwa ob noch abhängige Datensätze auf ihn verweisen – und liefert ein klares Ergebnis, statt Beziehungen stillschweigend zu zerreissen. Zusammen mit den Löschregeln der Relationen bleibt so entscheidbar, ob abhängige Daten geschützt oder mitgelöscht werden.
Aussagekräftige Fehler
Abschnitt betitelt „Aussagekräftige Fehler“Schlägt eine Validierung fehl, entsteht kein technischer Abbruch, sondern eine verständliche, mehrsprachige Rückmeldung, die benennt, welche Regel verletzt wurde. Anwendungen können diese Meldungen direkt anzeigen – die Grundlage für gute Formulare und klare Fehlerführung.
Warum das zählt
Abschnitt betitelt „Warum das zählt“- Verlässliche Daten – Regeln wirken überall gleich, weil sie zum Modell gehören, nicht zu einzelnen Endpunkten.
- Doppelte Sicherheit – wertbezogene Validierung und Datenbank-Constraints ergänzen sich.
- Wartbarkeit – eine geänderte Regel ist eine geänderte Definition, kein Eingriff an vielen Stellen.
Zusammen mit den Change-Requests – die Änderungen zusätzlich einem Freigabeprozess unterwerfen können – ergibt sich ein durchgängiger Schutz der Datenqualität, von der einzelnen Eingabe bis zur freigegebenen Änderung.