Comment transformer un MCD en un MLD-R en utilisant les contraintes déclaratives ?

La transformation se fait usuellement en mettant à profit les relations identifiantes du modèle logique relationnel. Toutefois, l’utilisation de relations identifiantes pose des contraintes structurelles qui peuvent s’avérer bloquantes dans la perspective de l’évolution future de notre modèle logique relationnel.

Pour donner aux modèles logiques relationnels un plus grand degré de liberté d’évolution, il est possible de renoncer aux relations identifiantes et de les remplacer par des relations non identifiantes.

Pour ne pas perdre de sémantique, cela implique de mettre les contraintes déclaratives suivantes :

  • Le stéréotype «M» ou le stéréotype «NID-x» pour indiquer l’obligation de valeur de chaque colonne de clé étrangère des relations non identifiantes de remplacement.
  • Le stéréotype «NID-x» ou l’opération UML unique() pour indiquer l’unicité de la relation non identifiante, seule ou en conjonction avec d’autres éléments.

La Figure 107 illustre la mise en place du stéréotype «M» et de l’opération UML unique(). La Figure 109 illustre la mise en place du stéréotype «NID-x».

Les principes de base de la transformation sans contraintes structurelles sont :

Les tables associatives et dépendantes sont remplacées par des tables indépendantes ; les contraintes structurelles des tables associatives et dépendantes sont remplacées par les contraintes déclaratives expliquées ci-dessus et qui peuvent aisément être ajoutées, modifiées ou supprimées.

Les 2 premières règles de base de la transformation avec contraintes structurelles s’appliquent à l’identique à la transformation avec contraintes déclaratives :

La 3ème règle est modifiée comme suit :

Les éléments significatifs de la transformation des structures particulières seront documentés de cas en cas :

  1. Les entités dépendantes.
  2. Les entités associatives.
  3. Les structures de généralisation et spécialisation.

Tout comme pour la transformation avec contraintes structurelles, la ou les colonnes constitutives de contrainte de clé étrangère doivent impérativement être indexées pour optimiser le traitement de jointure entre table source et table cible.

https://sites.google.com/a/smartmodel.ch/conceptionsii/config/pagetemplates/modelemldr/PageGardeAmazon.jpg