Altova MapForce 2024 Professional Edition

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.

MF_BookCatalogNoRelation01

Datenbankkomponente ohne Beziehungen

Wenn wir die Datenbank in das Mapping einfügen, sieht die Datenbankkomponente folgendermaßen aus:

MF_BookCatalogNoRelation02

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.

MF_BookCatalogRelation06

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.

MF_BookCatalogRelation07

 

© 2017-2023 Altova GmbH