Entitäten und Datenbanken verstehen

Dies ist eine Fortsetzung von Hello Mendix Serie — in der ich die Grundlagen erkläre Mendix Entwicklung und versuche, die Wissenslücken so schnell wie möglich zu schließen. In Teil 4 dieser Serie werde ich alles über Entitäten und Domänenmodelle sprechen. Los geht‘s!
Was ist ein Domänenmodell?
In Mendix Wir modellieren unsere Datenbank im Domänenmodell. Das ähnelt einem ERD oder Entity-Relationship-Diagramm. Außer dass beim Kompilieren Ihrer App auch eine funktionale Datenbank erstellt wird, die auf diesem Diagramm basiert. Mendix verfügt über eine integrierte Datenbankoption, unterstützt aber auch IBM DB2, Microsoft SQL Server, MySQL, Oracle und PostgreSQL.
Der Mendix In den Dokumenten zu Domänenmodellen heißt es: Das Domänenmodell ist ein Modell, das die von Ihrer Anwendung verwendeten Informationen (oder Daten) auf abstrakte Weise beschreibt. Es ist von zentraler Bedeutung für die Architektur Ihrer Anwendung. Jedes Modulen hat sein eigenes Domänenmodell, das die in diesem Modul verwendeten Daten beschreibt. Alle Module in einer App können Daten aus allen Domänenmodellen innerhalb der App verwenden.“
Wenn Sie nun verwirrt sind, werde ich versuchen, es Ihnen in meinen eigenen Worten zu erklären: Ein Domänenmodell ist eine Sammlung von Entitäten und deren Beziehungen zueinander, die visuell dargestellt werden.
Eine Entität kann mit einer Tabelle im herkömmlichen SQL verglichen werden.
Entitäten haben Attribute – die Sie sich als Felder vorstellen können – und primitive Typen wie String, Int und Datum/Uhrzeit. Entitäten können entweder 1–1, 1-* oder *-* miteinander in Beziehung stehen.
Wenn Sie mehr darüber erfahren möchten, wie Mendix hält die zugrunde liegende Datenbank mit Ihrem Modell synchron. Schauen Sie sich das an Video wo ich im Detail erkläre, wie das funktioniert.
Verallgemeinerungen verstehen
Sie können einer Entität auch Eigenschaften von einem übergeordneten Element erben lassen, indem Sie eine Entität als Generalisierung erstellen. Generalisierungen geben dem untergeordneten Element alle Eigenschaften des übergeordneten Elements, und Sie können die Entitäten in ihre Generalisierungen umwandeln, wenn Sie sie in einem Flow oder auf einer Seite verwenden. Dies ist der Vererbung in anderen herkömmlichen Codierungsmethoden sehr ähnlich.
Die 3 verschiedenen Entitätstypen
Das Coolste an Entitäten ist meiner Meinung nach, dass es sie in drei verschiedenen Typen gibt: Hartnäckig welches blau ist, non-persistent, das orange ist, und Remote-Entitäten, die violett sind.
Persistente Entitäten können in die Datenbank eingegeben und aus ihr abgerufen werden. Nicht persistente Entitäten leben im Speicher des Browsers und werden gelöscht, wenn die Sitzung des Benutzers abläuft. Diese können nur über eine Zuordnung abgerufen und niemals in die Datenbank übertragen werden. Dies macht sie ideal für Integrationen oder zum vorübergehenden Speichern von Daten zur Verwendung in einer Berechnung. Die letzte Form, die eine Entität annehmen kann, ist ein Remote-EntitätMöglich wird dies durch Mendix DataHub, ein offener Metadatenkatalog. Damit können Sie Daten zwischen Apps austauschen, indem Sie Odata-Kommunikation verwenden, um die Daten hin und her zu senden.
Sie können mithilfe von DataHub eine vorhandene Tabelle aus einer App verfügbar machen und diese Daten in jeder anderen von Ihnen oder Ihrem Unternehmen erstellten App verwenden.
Denken Sie daran, dass Sicherheit beim Umgang mit Entitäten immer wichtig ist, da diese den Zugriff auf die Daten Ihrer App steuern. Öffnen Sie die Eigenschaften einer beliebigen Entität im Domänenmodell, indem Sie mit der rechten Maustaste darauf klicken, und wechseln Sie zur Registerkarte „Zugriff“, um zu konfigurieren, wer Ihre Daten erstellen, bearbeiten und anzeigen kann.
Abschließende Gedanken
Scheuen Sie sich nicht, Neues auszuprobieren und Änderungen an Ihren Datenstrukturen vorzunehmen – manchmal können einfache Änderungen die Leistung enorm verbessern. Denken Sie aber daran, vorher die Daten Ihrer App zu sichern, damit Sie ein Rollback durchführen können, falls sie kaputt gehen!
Weitere Informationen finden Sie unter academy.mendix.com und suchen Sie nach Lernpfaden zum Domänenmodell und DataHub.