Parfois il peut arriver que le schéma en étoile ne puisse pas permettre de modéliser certaines situations. Il s'agit alors d'ajouter entre deux dimensions ou entre la table de faits et une dimension, une table dite passerelle qui va permettre de résoudre certains problèmes décrits dans cette section.
Pré-requis

- Toutes les notions fondamentales

Gestion des cardinalités multiples

Prenons l’exemple d’une table de faits ORDER_FACTS contenant les commandes d’un produit PRODUCT passées à une date donné DAY, par un client donné CUSTOMER mais suivies par potentiellement plusieurs commerciaux SALESREP.

Comment modéliser le fait qu’une table de faits ait une relation N-M (plusieurs à plusieurs) avec une dimension ?

Source du schéma : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema. Laurence Corr and Jim Stagnitto. DecisionOne Press, 2011.

La solution consiste à introduire une table, appelée table passerelle, pour gérer la multiplicité des cardinalités. Cette table passerelle permet de gérer différentes situations :

  • La relation N-M se situe entre la table de faits et une dimension (dimension multivaluée)
  • La relation N-M se situe entre deux dimensions (attribut multivalué)

Considérons plus en détail ces deux situations.

Dimension multivaluée (Relation N-M entre une table de faits et une dimension)

Poursuivons notre exemple où une commande (ligne dans ORDER_FACTS) est rattachée à plusieurs commerciaux au sein de l’entreprise. Nous allons résoudre le problème au moyen d’une table passerelle SALES_GROUP qui va permettre de définir des équipes de commerciaux. La table de faits ORDER_FACTS n’aura qu’un seul groupe à référencer, tandis que chaque groupe pourra être associé à plusieurs commerciaux (figure ci-dessous).

Source du schéma : Star Schema. Adamson, Christopher. Osborne/McGraw-Hill, 2010.

On remarquera dans la table SALES_GROUP une clef d’allocation allocation permettant d’attribuer une part de la commande (quelle que soit la mesure choisie) entre les différents commerciaux.

Lecture Dimension multivaluée : Star Schema. Christopher Adamson. pages 195, 198-200

Lecture Dimension multivaluée : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. pages 265-266

Lecture Table passerelle pour la gestion des cardinalités multiples : Star Schema. Christopher Adamson. pages 199-204

Lecture Table passerelle pour la gestion des cardinalités multiple : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. pages 268-276

Attribut multivalué (Relation N-M entre une dimension et une table déportée).

Considérons un autre exemple où un client CUSTOMER est associé à un type d’industrie INDUSTRY. Un problème se pose lorsqu’il peut y avoir plusieurs types d’industries permettant de qualifier le client.

Nous résolvons le problème ici en plaçant la table passerelle entre les dimensions CUSTOMER et INDUSTRY (figure ci-dessous).

Source du schéma : Star Schema. Adamson, Christopher. Osborne/McGraw-Hill, 2010.

Lecture Attribut multivalué : Star Schema. Christopher Adamson. pages 195, 207-210

Gestion des hiérarchies à profondeur variable

Prenons l’exemple d’une société qui fait ses produits uniquement en B2B (c’est-à-dire à une autre société). Cependant, certains de ses clients sont des entreprises qui font partie d’un groupe plus global et ainsi de suite.

Source du schéma : Star Schema. Adamson, Christopher. Osborne/McGraw-Hill, 2010.

Il n’est cependant pas possible de savoir, pour chaque client, le niveau de hiérarchie auquel il faut s’attendre. C’est pourquoi nous devons utiliser ici un patron de conception nommé hiérarchie à profondeur variable.

Source du schéma : Star Schema. Adamson, Christopher. Osborne/McGraw-Hill, 2010.

Lecture Hiérarchie récursive / Hiérarchie à profondeur variable : Star Schema. Christopher Adamson. pages 219-221

Lecture Hiérarchie récursive / Hiérarchie à profondeur variable : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. pages 76, 175

Lecture Table passerelle pour hiérarchie à profondeur variable : Star Schema. Christopher Adamson. pages 227-235

Lecture Table passerelle pour hiérarchie à profondeur variable : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. pages 176-178