Lokale Beziehungen
Wenn es zwischen Datenbanktabellen keine explizit definierten Beziehungen gibt, können Sie direkt in MapForce Primär- und Sekundärschlüsselbeziehungen zwischen Spalten unterschiedlicher Tabellen (d.h. lokale Beziehungen) erstellen. Als Primär- oder Sekundärschlüssel kann jede beliebige Datenbankspalte verwendet werden. Außerdem können zusätzlich zu den bereits bestehenden Beziehungen in der Datenbank neue Beziehungen erstellt werden. Lokal definierte Beziehungen werden zusammen mit dem Mapping gespeichert.
In der folgenden Tabelle sind alle möglichen Felder aufgelistet, zwischen denen lokale Beziehungen definiert werden können. Auch gemischte Beziehungen (z.B. Mappen der Ausgabe einer gespeicherten Prozedur auf eine Datenbankspalte) sind möglich. Die an einer Beziehung beteiligten Felder müssen denselben oder einen kompatiblen Datentyp haben.
Primärschlüssel/eindeutiger Schlüssel | Sekundärschlüssel |
---|---|
•Spalte einer Datenbanktabelle oder -ansicht •Output-Parameter oder Rückgabewert einer gespeicherten Prozedur, siehe auch Gespeicherte Prozeduren •Spalte einer von einer gespeicherten Prozedur zurückgegebenen Datensatzstruktur Anwendbar, wenn die gespeicherte Prozedur als Datenquelle (ohne Parameter) oder als Funktion (mit Input- und Output-Parametern) aufgerufen wird. Damit die Datensatzstruktur für die Auswahl zur Verfügung steht, müssen Sie die gespeicherte Prozedur einmal ausführen, um die Datensatzstruktur abzurufen. •Spalte einer benutzerdefinierten SELECT-Anweisung (siehe auch SELECT-Anweisungen als virtuelle Tabellen). | •Spalte einer Datenbanktabelle oder -ansicht •Input-Parameter einer gespeicherten Prozedur •Input-Parameter einer benutzerdefinierten SELECT-Anweisung |
Beispiel
Die BookCatalogNoRelation.sqlite-Datenbank hat zwei Tabellen: Authors und Books (Abbildung unten). Zu diesem Zeitpunkt besteht zwischen den Tabellen keine Sekundärschlüsselbeziehung.
Datenbankkomponente ohne Beziehungen
Wenn wir die Datenbank in das Mapping einfügen, sieht die Datenbankkomponente folgendermaßen aus:
Definition der lokalen Beziehung
Unser Ziel in diesem Beispiel ist es, die Tabelle Authors in der Tabelle Books zu referenzieren. Gehen Sie folgendermaßen vor:
1.Klicken Sie mit der rechten Maustaste in die Komponente und wählen Sie im Kontextmenü den Befehl Datenbankobjekte hinzufügen/entfernen/bearbeiten.
2.Klicken Sie im Dialogfeld Datenbankobjekte hinzufügen/entfernen/bearbeiten auf die Schaltfläche Beziehungen hinzufügen/bearbeiten.
3.Klicken Sie im Dialogfeld Beziehung hinzufügen/bearbeiten auf Beziehung hinzufügen (Abbildung unten).
4.Klicken Sie in der Spalte Objekt für Primärschlüssel/eindeutiger Schlüssel auf [Objekt auswählen] und wählen Sie Authors. Wählen Sie anschließend in der Dropdown-Liste [Spalte auswählen] AuthorID aus.
5.Klicken Sie in der Spalte Sekundärschlüsselobjekt auf [Objekt auswählen] und wählen Sie Books. Wählen Sie anschließend in der Dropdown-Liste [Spalte auswählen] AuthorID aus.
6.Klicken Sie auf OK, um die lokale Beziehung fertig zu stellen.
Datenbankkomponente mit Beziehungen
Nachdem Sie die lokalen Beziehungen definiert haben, steht die Datenbankkomponente im Mapping-Bereich zur Verfügung (Abbildung unten). In der Komponente werden zwei mögliche Datenbankstrukturen angezeigt. Die Root-Tabelle ist in jeder dieser Strukturen eine andere. So ist etwa in der erweiterten Struktur unten die Root-Tabelle Authors. Sie können Daten je nach Bedarf von und auf jede der verfügbaren Strukturen in der Komponente mappen. Es können auch Tabellen aus verschiedenen Strukturen in der Komponente miteinander kombiniert werden. Nähere Informationen zu diesen Szenarien finden Sie unter Datenbankbeziehungen.