Bonsoir,
Envoyé par
MacFly58
Je termine la phrase de FsmRel en apportant une petite précision qui sera peut être utile pour certains.
"ça ne me gêne pas que mon voisin la considère comme une entité associative dans le MCD, car notre schéma relationnel (le MLD) sera identique, tout comme la sémantique de nos MCD."
Valeureux MacFly, permettez-moi d’apporter une nuance.
Au préalable, voici une anecdote concernant le grand lexicographe Emile Littré. Je cite Claude Gagnière (Pour tout l’or des mots, collection Bouquins, Editions Robert Laffont) :
« Un jour, madame Littré ouvre par hasard la porte d'une chambre et découvre son mari couché avec la bonne :
— Oh ! Comme je suis surprise ! s'écrie-t-elle.
— Erreur, madame ! Vous êtes étonnée, c'est nous qui sommes surpris ! »
Nuance !
Si votre propos est de signifier que quel que soit le MCD (association entre entités-types ou identification relative) le MLD sera le même, il faut nuancer, apporter une précision. En effet, la composition des en-têtes des tables issues de la dérivation, ainsi que la composition de leurs clés ne sont pas exactement les mêmes.
Exemple
1) MCD avec association (Power AMC V11) :
2) MLD correspondant :
Il est évident que dans le cadre d’une rétro-conception, partant du MLD, Power AMC reproduit exactement le MCD initial.
3) MCD avec identification relative (LOT_TIERS est entité-type faible relativement à MODELE) :
4) MLD correspondant :
Là encore, dans le cadre d’une rétro-conception, partant du MLD, Power AMC reproduit exactement le MCD dont il est issu (à ceci près que si l'on définit la clé alternative {ModeleId, LotId, TiersId}, la rétro-conception du MLD en MCD donne n'importe quoi, mais l'AGL est par construction dépassé...)
Cela dit, si l'on zoome dans les structures, le schéma relationnel (MLD) — donc la sémantique qu’il porte — n’est pas strictement le même selon qu’il traduit une dépendance entre entité-type forte et entité-type faible ou bien une relation classique du MCD.
Pour reprendre le schéma créé avec MySQL Workbench, il est bien de type relationnel et non pas conceptuel au sens classique du terme, puisque par exemple les attributs composant les clés étrangères figurent explicitement dans LOT_TIERS (qui est ici une table) :
A nouveau, par rétro-conception, LOT_TIERS ferait l’objet soit d’une association-type soit d’une entité-type (faible).
Je répète donc que, quel que soit le choix du concepteur pour qualifier LOT_TIERS (MCD avec association-type ou entité-type faible), la différence au niveau MLD n’est pas très sensible (tout devient table), mais elle existe quand même. Drake a préféré l’approche entité-type faible, mais en contrepartie, pour que l’intégrité des données soit respectée, il devra mettre en œuvre une clé alternative pour le triplet {ModeleId, LotId, TiersId} (cf. les trois petites clés bleues dans le diagramme).
Histoire vécue (que j’ai déjà racontée une fois ou deux chez DVP) :
Je me souviens des soucis qu’avait un concepteur dans une banque. Celui-ci avait modélisé une opération sur titre sous forme d’association-type entre un titre, un trader, un broker, une place cotation, etc. Tout allait bien, mais patatras ! l’utilisateur s’était piqué de connaître la modélisation et avait exigé que cette opération fasse l’objet d’une entité-type. J’ai expliqué au concepteur — qui avait très mal dormi à cause de cette histoire... — que le client était roi et qu'en l'occurrence il pouvait se plier à sa vision (après tout légitime) des choses. En effet, que l’opération soit représentée sous forme de carré ou de rond, peu importe car, comme dit MacFly, par dérivation du MCD en MLD, on produit des tables et le résultat est le même, mais c'est à un changement près de la structure de l’en-tête de la table et de la composition de la clé primaire (sans oublier la nécessité de définir une clé alternative eu égard à l’intégrité des données). Au fait, pourquoi l’utilisateur avait-il exigé que l’opération sur titre fasse l’objet d’une entité ? Tout simplement pour des raisons émotionnelles, car à l’époque, les titres furent dématérialisés, les papiers réduits à l’état de confettis ou de cendres, mais l’utilisateur en manque — un peu comme le manchot a mal à son bras manquant — sentait toujours son carnet à souches dans sa poche, et ce carnet n’avait pour lui rien d’une relation...
L'histoire ne dit pas si, à l'instar de M. Littré, le manchot manipule le béton à la tonne...
Partager