Datenmodellobjekte: Joins

Joins werden im Datenmodell erstellt. Dies reduziert den Verwaltungsaufwand für das Modell.

Kardinalitäten für Joins

Die Kardinalität für die Joins wird gemäß der Datenbankdesignlogik für die verschiedenen Entitäten angegeben. Beispiel: Ein Auftragskopf hat möglicherweise nicht immer einen Speditionsservicecode. Daher ist die Kardinalität für den Order-Header-Join mit dem Netzbetreiber der Organisation 0: 1 auf der Netzbetreiberseite.

Außerdem haben einige Joins eine optionale Kardinalität (0: 1 oder 0:n), um Flexibilität bei der Berichterstellung zu ermöglichen. Dies geschieht, damit das Dataset der Hauptentität in einer Abfrage nicht durch fehlende Daten eingeschränkt wird. Das Datenmodell ermöglicht das Ändern der optionalen Kardinalität in einen direkten Join auf einer einzelnen Berichtsebene. Weitere Informationen finden Sie beispielsweise unter Flexibilität bei Joinkardinalität.

Flexibilität bei Joinkardinalität

Die Element-und Elementaliasentitäten verfügen über einen Join 1:1-0:n in der Geschäftsschicht. Wenn ein Cognos® 11.1 -Bericht mit diesen beiden Entitäten erstellt wird, sieht er wie folgt aus:


select T1."MANUFACTURER_NAME" as c1,
  T2."ALIAS_NAME" as c2
from ("YFS_ITEM" T1 left outer join "YFS_ITEM_ALIAS" T2 on T2."ITEM_KEY" = 
T1."ITEM_KEY")
--If we now uncheck the Report->Query->Access->”Include the missing table join 
--values (outer join)” check box, the query changes to
select T1."MANUFACTURER_NAME" as c1,
  T2."ALIAS_NAME" as c2
from "YFS_ITEM_ALIAS" T2,
YFS_ITEM" T1
where (T2."ITEM_KEY" = T1."ITEM_KEY")

Wenn der Join in der Geschäftsebene jedoch 1:1-1:n wäre, wäre die oben genannte Flexibilität nicht möglich gewesen.