Direkt zum Inhalt

Datenintegrität: Validierungsregeln, Event-Handler, Zugriffsregeln

Datenintegrität

Wie stelle ich die Integrität meiner Daten sicher?

Mendix unterstützt verschiedene Methoden, um die Integrität Ihrer Anwendungsdaten sicherzustellen:

  • Datentypen – Stellen Sie sicher, dass nur gültige Datentypen gespeichert werden können
  • Validierungsregeln – Überprüfen Sie, ob die Daten eindeutig, spezifiziert und innerhalb eines Bereichs sind
  • Ereignishandler – Verwenden Sie Mikroflüsse, um eine benutzerdefinierte Logik zur Validierung von Daten bereitzustellen
  • Zugriffsregeln – Stellen Sie sicher, dass nur autorisierte Benutzer auf Daten zugreifen oder diese ändern können
  • Referenzielle Integrität – Sicherstellen, dass die Daten mit den erforderlichen zugehörigen Daten gespeichert werden

Welche Datentypen kann ich verwenden in Mendix?

Datentypen definieren, welche Art von Daten in einem Attribut gespeichert werden können. Der Typ stellt beispielsweise sicher, dass Textfelder nur Text und numerische Felder nur Zahlen enthalten.

Sie können die folgenden Typen für Ihre Attribute verwenden:

  • Auto Nummer – eine automatisch generierte Nummer
  • Binär – Binärdaten
  • Boolean – wahr oder falsch
  • Datum und Uhrzeit – ein Zeitpunkt
  • Dezimal – eine positive oder negative Zahl
  • Aufzählung – ein Wert aus einem vordefinierten Wertesatz
  • Hash-Stringg – der Hashwert einer Zeichenfolge
  • ganze Zahl – eine 32-Bit-Ganzzahl
  • lang – eine 64-Bit-Ganzzahl
  • Schnur – Text, der Buchstaben, Zahlen, Leerzeichen und andere Zeichen enthält

Für weitere Einzelheiten siehe Attribute in England, Mendix Studio Pro-Handbuch.

Welche Validierungsregeln kann ich verwenden in Mendix?

Validierungsregeln geben die Regeln an, denen Ihre Daten entsprechen müssen. Wenn Ihre Daten die angegebenen Regeln nicht einhalten, wird beim Versuch, die Daten zu speichern, eine Fehlermeldung angezeigt.

Abhängig vom Regeltyp übernimmt dies der Mendix Laufzeit oder durch die Datenbank.

Wie verwende ich Event-Handler in Mendix?

Mit Ereignishandlern können Sie Logik vor oder nach bestimmten Ereignissen ausführen. Dafür gibt es viele Anwendungsfälle, beispielsweise die folgenden:

  • Festlegen von Standardwerten bei der Objekterstellung – wenn Sie ein neues Objekt initialisieren möchten (zum Beispiel eines mit nicht konstanten Standardwerten), können Sie ein Before-Create-Ereignis verwenden
  • Führen eines Prüfprotokolls – Manchmal ist es erforderlich, alle an Daten vorgenommenen Änderungen zu protokollieren. Mit After-Events können Sie dies tun, indem Sie alle Änderungen in einem Audit-Trail-Objekt speichern (das Prüfpfad Modul im Mendix Marketplace bietet genau diese Funktionalität)
  • Überprüfen von Datenänderungen – Vorher-Ereignisse können verwendet werden, um einen Mikrofluss auszulösen, der Datenänderungen validiert

Um Event-Handler für alle Entitäten in Ihrer Anwendung festzulegen, können Sie den Mendix Java-API. Um beispielsweise einen Ereignislistener vor dem Commit für alle Entitäten festzulegen, verwenden Sie diese Methode: Core.getListenersRegistry().registerAfterCommitListener.

Wie kann ich Zugriffsregeln konfigurieren?

Ein wichtiger Aspekt der Datenintegrität betrifft die Frage, wer welche Daten ändern darf. Daher ist die Datenautorisierung eine integrierte Funktion des Mendix Plattform. Benutzerrollen können direkt damit verknüpft werden, was diese Rollen mit den Daten eines Endbenutzers tun dürfen.

Sie können für Entitäten unter anderem die folgenden Zugriffsrechte definieren:

  • Wer kann Entitäten lesen oder ändern?
  • Wer kann Attribute lesen oder ändern?
  • Wer kann Entitäten erstellen oder löschen?

Sie können XPath-Constraints auch verwenden, um so genannte Sicherheit auf Zeilenebene, das definiert, welche Objekte ein Benutzer sehen darf. Damit kann sichergestellt werden, dass Kunden nur ihre eigenen Daten sehen können, Sachbearbeiter nur die mit ihren Fällen in Zusammenhang stehenden Daten sehen können und Mandanten in einer Anwendung mit mehreren Mandanten nur auf ihre Mandantendaten zugreifen können.

Wie funktioniert referentielle Integrität in Mendix?

Die referenzielle Integrität wird mithilfe der Eigenschaften des Löschverhaltens hinzugefügt. Das Löschverhalten definiert, was mit dem verknüpften Objekt geschehen soll, wenn ein Objekt gelöscht wird. Die folgenden Optionen können für jedes Ende der Zuordnung konfiguriert werden.

Wert Beschreibung
Objekt {Name der Entität} löschen, aber Objekt(e) {Name der anderen Entität} behalten. Wenn ein Objekt gelöscht wird, werden die zugehörigen Objekte nicht gelöscht.
Löschen Sie auch das Objekt {Name der Entität} und das Objekt {Name der anderen Entität} Wenn ein Objekt gelöscht wird, werden auch die zugehörigen Objekte gelöscht.
Löschen Sie das Objekt {Name der Entität} nur, wenn es kein(e) Objekt(e) {Name der anderen Entität} enthält. Ein Objekt kann nur gelöscht werden, wenn es mit keinem anderen Objekt verknüpft ist.

Hier sind zwei Beispiele:

  • Objekt {Name der Entität} löschen, aber Objekt(e) {Name der anderen Entität} behalten (Standardwert) – wird verwendet, wenn Sie alle zugehörigen Kundenprofil Wenn ein Kunden wird gestrichen:

  • Löschen Sie das Objekt {Name der Entität} nur, wenn es kein(e) Objekt(e) {Name der anderen Entität} enthält. – wird verwendet, wenn Sie eine Kunden nur wenn es nicht mit einem Order:

Wählen Sie Ihre Sprache