Objets de modèle de données: Jointures
Les jointures sont créées dans le modèle de données. Cela réduit les frais de maintenance du modèle.
Cardinalités des jointures
La cardinalité des jointures est spécifiée conformément à la logique de conception de la base de données pour les différentes entités. Par exemple, un en-tête de commande peut ne pas toujours comporter de code de service de transporteur. Par conséquent, la cardinalité de la jointure de l'en-tête de commande avec le transporteur d'organisation est 0: 1 du côté du transporteur.
De plus, pour permettre la flexibilité dans la génération de rapports, certaines des jointures ont une cardinalité facultative (0: 1 ou 0:n). Cette opération est effectuée de sorte que, dans une requête, le jeu de données de l'entité principale ne soit pas limité par un manque de données. Le modèle de données permet de modifier la cardinalité facultative en une jointure directe au niveau d'un rapport individuel. Par exemple, voir "Join Cardinality Flexibilité".
Flexibilité de cardinalité de jointure
Les entités Item et Item Alias comportent une jointure 1:1-0:n dans la couche métier. Lorsqu'un rapport Cognos® 11.1 contenant ces deux entités est créé, il se présente comme suit:
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")
Toutefois, si la jointure dans la couche métier était 1:1-1:n à la place, la flexibilité ci-dessus n'aurait pas été possible.