Zum Inhalt springen

Tabellenbeziehungen im App Builder

Einführung

Nachdem Sie die Tabellen Ihrer App erstellt haben, können Sie Beziehungen zwischen ihnen definieren. Eine Beziehung verknüpft zwei Tabellen basierend auf übereinstimmenden Daten in einer oder mehreren Spalten.

Hinweis

Beziehungen im App Builder werden in der Datenbankterminologie oft als Einschränkungen oder Fremdschlüsseleinschränkungen bezeichnet.

Tabellenbeziehungen bieten folgende Vorteile:

  • Beziehungen ermöglichen es Ihnen, die Datenintegrität auf Datenbankebene durchzusetzen. Zum Beispiel, indem Sie eine Bestellungen-Tabelle mit einer Kunden-Tabelle verknüpfen, können Sie verhindern, dass ein Benutzer eine Bestellung für einen nicht existierenden Kunden erstellt. Sie können auch Regeln definieren, die festlegen, was mit verwandten Datensätzen passiert, wenn ein Datensatz aktualisiert oder gelöscht wird.

  • Wenn der App Builder weiß, wie Tabellen miteinander verbunden sind, verbessert er automatisch die Benutzeroberfläche, um eine intuitivere Erfahrung zu schaffen. Zum Beispiel, wenn die Bestellung-Tabelle eine KundenID-Spalte enthält:

    • Ohne eine Beziehung generiert der App Builder beim Erstellen einer Seite zur Erstellung einer neuen Bestellung ein einfaches Textfeld für die KundenID. Der Benutzer muss die richtige ID für den Kunden kennen und manuell eingeben.

    • Mit einer Beziehung zwischen der KundenID-Spalte der Bestellung-Tabelle und der Kunden-Tabelle versteht der App Builder die Verbindung. Anstelle eines Textfelds generiert er automatisch eine Dropdown-Liste oder ein Suchfeld auf der Bestellseite. Dieses Steuerungselement wird mit den benutzerfreundlichen Namen der Kunden (aus der Titelspalte der Kunden-Tabelle) gefüllt, anstatt mit ihren IDs.

So erstellen und verwalten Sie Beziehungen

Während Tabellen mit dem Tabellenassistenten erstellt werden können, werden Beziehungen über die Tabellen-Registerkarte im App Workbench verwaltet. Von dort aus können Sie eine Tabelle auswählen und dann ihre Beziehungen zu anderen Tabellen definieren. Der App Builder kann oft Fremdschlüsselbeziehungen vorschlagen, die Sie dann bestätigen können.

Wenn Sie eine Beziehung definieren, können Sie auch Regeln festlegen, die bestimmen, wie der App Builder die Datenintegrität aufrechterhält, wenn ein Datensatz in der Elterntabelle (der "eins"-Seite einer Eins-zu-viele-Beziehung) aktualisiert oder gelöscht wird. (Zum Beispiel, was sollte mit den Bestellungen eines Kunden geschehen, wenn dieser Kunden-Datensatz gelöscht wird?) Diese werden als Cascade-Regeln bezeichnet. Die Optionen sind wie folgt:

  • On Delete Regel:

    • Cascade: Wenn ein Eltern-Datensatz gelöscht wird, werden auch alle zugehörigen Kind-Datensätze gelöscht. (Zum Beispiel wird das Löschen eines Kunden auch alle seine Bestellungen löschen).

    • Default: Wenn ein Eltern-Datensatz gelöscht wird, wird der Wert in der entsprechenden Fremdschlüssel-Spalte der Kind-Datensätze auf den Standardwert der Spalte gesetzt. Diese Aktion erfordert, dass ein Standardwert für die Fremdschlüssel-Spalte definiert ist.

    • Null: Wenn ein Eltern-Datensatz gelöscht wird, wird der Fremdschlüsselwert in den zugehörigen Kind-Datensätzen auf NULL gesetzt. Dies erfordert, dass die Fremdschlüssel-Spalte in der Kind-Tabelle NULL-Werte zulässt. (Zum Beispiel bleiben die Bestellungen bestehen, sind aber nicht mehr mit diesem Kunden verbunden).

    • Prevent: Verhindert, dass der Eltern-Datensatz gelöscht wird, wenn er zugehörige Kind-Datensätze hat. Dies ist oft die sicherste Standardoption.

  • On Update Regel:

    • Diese Regel gilt, wenn der Primärschlüsselwert des Eltern-Datensatzes geändert wird. Die Optionen sind die gleichen wie für die On Delete Regel.

Welche Regel Sie wählen, hängt von Ihrer Geschäftslogik und davon ab, wie Sie Ihre Daten verwalten möchten.