Direkt zum Inhalt

3 einfache Schritte zum Erstellen Ihres Datenmodells in Mendix

3 einfache Schritte zum Erstellen Ihres Datenmodells in Mendix

In diesem Beitrag erklären wir die einzelnen Hauptkomponenten eines Mendix Domänenmodell und wie sie zur Erstellung Ihrer Anwendung beitragen. Wir werden in diesem Beitrag einen Testfall verwenden: Eine Produktbestellanwendung. Kunden müssen Bestellungen aufgeben können, die mehrere Bestellpositionen haben, von denen jede mit einem Produkt verknüpft ist.

Lass uns eintauchen!

Was sind Datenmodelle?

Die Grundlage vieler Softwareanwendungen ist oft ihr Datenmodell. Ein Datenmodell definiert, welche Daten innerhalb einer Anwendung verwendet und verarbeitet werden. Diese Daten werden entweder vorübergehend im Speicher oder dauerhaft in einem Datenspeicher wie einer Datenbank gespeichert.

Datenmodelle in Mendix werden mithilfe einer visuellen Sprache erstellt, die als Domänenmodell bezeichnet wird. Innerhalb eines Domänenmodells können Sie die folgenden Komponenten definieren:

  • Entities: Diese können persistent oder nicht persistent sein und ermöglichen Ihnen, Daten vorübergehend oder dauerhaft zu speichern. Eine persistente Entität ist das Äquivalent einer Datenbanktabelle, die mit einem eindeutigen Primärschlüssel ausgestattet ist (z. B. eine Standortentität oder eine Finanztransaktionsentität).
  • Attribute: Diese entsprechen den Spalten einer Datenbanktabelle (z. B. Name und Adresse eines Standorts oder Datum und Art der Finanztransaktion).
  • Verbände: Diese definieren die Beziehungen zwischen zwei Entitäten, wie eine Verknüpfung zwischen zwei Datenbanktabellen.

Wenn eine Mendix Anwendung ausgeführt wird, vergleicht die Laufzeitumgebung das Modell mit der ausgewählten Datenbank und führt alle erforderlichen Aktualisierungsskripte aus. Mendix unterstützt eine Reihe von Datenbanktypen, darunter:

  • PostgreSQL
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • HANA DB

Es ist deine Entscheidung!

1. Definieren Sie Ihre Entitäten

Wenn Sie ein neues Projekt starten, müssen Sie als Erstes Ihre Datenstrukturen definieren. Sie müssen sich überlegen, welche Entitäten Sie zum Erstellen Ihrer Anwendung erstellen müssen. In diesem Beispiel erstellen wir eine Anwendung, mit der Kunden mehrere verschiedene Produkte bestellen können.

Für das Domänenmodell dieser Anwendung benötigen Sie eine persistente Entität für Kunde, Bestellung und Bestellposition. So können wir verfolgen, welche Bestellungen ein Kunde für welche Produkte aufgegeben hat. Jede persistente Entität führt zu einer Tabelle in der Datenbank mit einem eindeutigen Schlüssel. Das folgende Diagramm zeigt unsere vier Entitäten:

2. Fügen Sie Ihre Attribute hinzu

Nachdem Sie Ihre Entitäten erstellt haben, müssen Sie jeder Entität weitere Details hinzufügen. Dabei kommen Attribute ins Spiel. In unserem Beispiel könnte der Kunde einen Namen oder einen Kontotyp wie VIP oder Allgemein haben. Das Produkt könnte einen Namen oder eine Beschreibung haben.
Während wir die Entitäten ausfüllen, werden die Details der Anwendung konkret. Es ist ganz einfach, zurückzugehen und alle weiteren benötigten Attribute hinzuzufügen. Das folgende Diagramm zeigt, wie Attribute in unseren vier Entitäten aufgelistet sind:

Wir haben Namen und eine automatisch generierte Bestellnummer sowie ein Datum hinzugefügt, an dem die Bestellung aufgegeben wurde. Die Attribute entsprechen Tabellenspalten und haben einen Attributtyp und eine Attributgröße, z. B. Zeichenfolge, Ganzzahl, Boolescher Wert und alle typischen Datentypen, die Sie zum Erstellen der Anwendung benötigen.

3. Assoziationen schaffen

Nachdem wir die Entitäten und ihre Attribute bestimmt haben, ist es an der Zeit, zu bestimmen, wie sie alle miteinander in Beziehung stehen. In diesem Beispiel kann ein Kunde mehrere Bestellungen haben, eine Bestellung kann mehrere Bestellpositionen haben und jedes Produkt kann mehrfach bestellt werden. Die folgende Abbildung stellt die Beziehung zwischen den Entitäten dar.

Sie werden bemerken, wie die Beziehungen durch die Assoziationen visuell dargestellt werden. Die Kunde-zu-Bestellung-Beziehung ist eine Eins-zu-viele-Beziehung, wie durch die Sternchen angezeigt. Um dieses Beispiel noch einen Schritt weiter zu führen, können wir auch das Verhalten zwischen den Beziehungen löschen.

Wenn ein Kunde beispielsweise Bestellungen hat, soll ich dann alle mit dem Kunden verknüpften Bestellungen löschen (sogenanntes kaskadierendes Löschen)? Oder sollen wir, wenn ein Kunde Bestellungen hat, den Benutzer daran hindern, eine Bestellung zu löschen (sogenanntes Verhinderungslöschen)?

Doppelklicken Sie auf die Verknüpfungen, um das Verhalten und die Konfiguration der Löschoption anzuzeigen. Das Löschverhalten sollte von den Geschäftsanforderungen abhängen. Bedenken Sie die folgenden Fragen: Ist es wichtig, den Kunden zu behalten, wenn er Bestellungen hat? Oder ist es wichtiger, die Datenbank zu bereinigen und beim Löschen von Kunden keine verwaisten Bestellungen zu haben?

Dies sind gute Fragen, die Sie den Geschäftsbenutzern stellen können, und sie helfen dabei, die richtigen Geschäftsregeln zu erarbeiten. Die visuelle Darstellung ist entweder blau (für vorbeugendes Löschen) oder rot (für kaskadierendes Löschen).

Sehen Sie, was möglich ist mit Mendix

Wählen Sie Ihre Sprache