Livres de référence pour maîtriser la modélisation des données
En présence d'associations identifiantes, d'entité associatives ou encore d'entités spécialisées, la transformation doit se faire de manière itérative. En effet, les tables cibles de relations identifiantes doivent exister pour pouvoir créer les colonnes de clé étrangère dans les tables sources ; la ou les colonnes de clé étrangère doivent être conformes à la contrainte de clé primaire de la table cible à laquelle ou auxquelles elles se réfèrent.
Les associations identifiantes, les entités associatives ou encore les associations de spécialisations peuvent s'imbriquer et ainsi une table cible de relation identifiante peut être elle-même source d'une relation identifiante. Dès lors nous proposons le modèle de processus suivant pour effectuer une transformation garantissant un traitement correct de dépendances imbriquées :
Nous nous appuierons sur l'exemple de la Figure 101 pour illustrer les différentes parties de la transformation. Les symboles ajoutés au MCD montrent les 3 parties du processus de transformation que nous allons illustrer ci-après.
L'initialisation consiste à créer les 3 tables issues des 3 entités indépendantes.
La 1ère itération permet de créer la table Cours en tant que table dépendante de la table Modules.
La 2ème itération permet de:
La troisième itération permet de créer la table dépendante Resultats à partir de la table Inscriptions.
Finalisation
La finalisation consiste à créer les 2 contraintes de clés étrangères à partir des 2 associations qui ne sont pas identifiantes.