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 einerKunden-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 eineKundenID-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 derBestellung-Tabelle und derKunden-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 derKunden-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
NULLgesetzt. Dies erfordert, dass die Fremdschlüssel-Spalte in der Kind-TabelleNULL-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.