Altova MapForce 2023 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*

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

 

* Anwendbar, wenn die gespeicherte Prozedur entweder als Datenquelle (ohne Parameter) oder 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.

 

Beispiel

In der Datenbank AltovaNoRelation.sqlite (aus dem Ordner Tutorial) hat jede Tabelle einen Primärschlüssel, doch wurden bisher noch keine Sekundärschlüssel definiert (Abbildung unten).

mf_db_relationships_11

Unser Ziel in diesem Beispiel ist es, die Tabelle Altova in der Tabelle Office und die Tabelle Office in der Tabelle Department zu referenzieren. Gehen Sie folgendermaßen vor:

 

1.Fügen Sie die Datenbank AltovaNoRelation.sqlite zu Ihrem Mapping hinzu und wählen Sie alle Benutzertabellen aus.

2.Klicken Sie im Dialogfeld Datenbankobjekte einfügen 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 Altova. Wählen Sie anschließend in der Dropdown-Liste [Spalte auswählen] PrimaryKey aus.

5.Klicken Sie in der Spalte Sekundärschlüsselobjekt auf [Objekt auswählen] und wählen Sie Office. Wählen Sie anschließend in der Dropdown-Liste [Spalte auswählen] ForeignKey aus. In Schritt 4 und 5 wird eine Primär-und-Sekundärschlüsselbeziehung zwischen den Tabellen Altova und Office erstellt.

6.Fügen Sie eine neue Beziehung hinzu, klicken Sie in der Spalte Objekt für Primärschlüssel/eindeutiger Schlüssel auf [Objekt auswählen] und wählen Sie Office. Wählen Sie anschließend in der Dropdown-Liste [Spalte auswählen] PrimaryKey aus.

7.Klicken Sie in der Spalte Sekundärschlüsselobjekt auf [Objekt auswählen] und wählen Sie Department. Wählen Sie anschließend in der Dropdown-Liste [Spalte auswählen] ForeignKey aus.

8.Klicken Sie auf OK, um die lokale Beziehung fertig zu stellen.

mf_db_relationships_16

Nachdem Sie die lokalen Beziehungen definiert haben, steht die Komponente AltovaNoRelation im Mapping-Bereich zur Verfügung (Abbildung unten). In der Komponente werden drei 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 Altova. Sie können Daten je nach Bedarf von jeder der verfügbaren Strukturen in der Komponente aus mappen. Es können auch Tabellen aus verschiedenen Strukturen miteinander kombiniert werden. Nähere Informationen zu Datenbankbeziehungen finden Sie unter Behandlung von Datenbankbeziehungen.

mf_db_relationships_17

 

© 2017-2023 Altova GmbH