Aufgabe eines CompositProviders ist es, die Daten mehrerer Datenflüsse zu vereinen ohne diese persistent vorzuhalten.
Ersetzt MultiProvider, InfoSet und den Übergang – CompositProvider aus der alten Welt.
Virtueller Provider, das Objekt ist nur während der Laufzeit mit Daten gefüllt. SQL kann auf das Laufzeitobjekt zugreifen
Funktion innerhalb Datenfluss
Über einen CompositProvider werden die Datensätze aus zwei oder mehr Quellen zu einer neuen, vereinten Datenmenge zusammengeführt. Es gibt zwei unterschiedliche Wege:
- Union (Vereinigung)
- Join (Verbindung)
Union
Ersetzt den MultiProvider
Verwendung: Zusammenführen von Datenmengen aus horizontalen Quellen, z. B. unterschiedlichen Buchungskreisen.
Die verwendete Datenmenge entspricht einem Full Outer Join.
Join
Ein Join verknüpft die Datensätze von zwei Datenquellen zu einer Datenmenge, wobei die Datensätze anhand von Schlüsselfeldern zu einem neuen vereint werden.
Ersetzt das InfoSet
Verwendung: Zusammenführung von Datensätzen zu einem neuen Datensatz mit entsprechend größeren Anzahl von Feldern.
Um einen Join durchführen zu können, müssen aus beiden Quellen identische Schlüsselfelder vorhanden sein.
Verknüpfungen
Das Modell geht von zwei nebeneinander liegenden Tabellen / Datenmengen aus, einer linken und einer rechten Datenmenge. Üblicherweise wird von links nach rechts argumentiert, was der normalen Schreibrichtung entspricht.
Die Art der Verknüpfung bestimmt, welche Datensätze für die Join-Verknüpfung herangezogen werden.
Left Outer Join
Es werden alle Daten aus der linken Tabelle verwendet, von der rechten Datenmenge werden nur die Datensätze verwendet, deren Schlüssel auch in der linken vorhanden sind.
Right Outer Join
Es werden alle DAten aus der rechten Tabelle verwendet, von der linken Datenmenge werden nur die Datensätze verwendet, deren Schlüssel auc in der echten vorhanden sind.
Diese Veriante lässt sich auch durch Vertauschen der Datenmengen darstellen.
Full Outer Join
Es werden beim Full Outer Join alle Datensätze aus beiden Datenmengen verwendet.
Inner Join
Beim Inner Join werden nur die Datensätze verwendet, deren Schlüsselfelder sowohl in der linken als auch in der rechten Datenmenge vorhanden sind.
Left Anti Join
Beim Left Anti Join werden die Datensätze verwendet, die in der linken Datenmenge vorhanden sind, aber nicht in der rechten.
Right Anti Join
Beim Right Anti Join werden die Datensätze verwendet, die in der rechten Datenmenge vorhanden sind, aber nicht in der linken.