Transformation des compositions
Méthode :
Une composition
est transformée comme une association 1:N,
puis on ajoute à la clé de la classe partie (dite clé locale) la clé étrangère vers la classe composite pour construire une clé primaire composée.
Classe1(#a,b)
Classe2(#c,#a=>Classe1,d)
Remarque : Clé locale
Pour identifier une classe partie dans une composition, on utilise une clé locale concaténée à la clé étrangère vers la classe composite, afin d'exprimer la dépendance entre les deux classes.
Si une clé naturelle globale permet d'identifier de façon unique une partie indépendamment du tout, on préférera la conserver comme clé candidate plutôt que de la prendre pour clé primaire.
Si on la choisit comme clé primaire cela revient à avoir transformé la composition en agrégation, en redonnant une vie propre aux objets composants.
Complément : Composition et entités faibles en E-A
Une composition est transformée selon les mêmes principes qu'une entité faible en E-A.
Complément : Attributs multivalués et composés
La transformation d'un attribut composé multivalué donne un résultat équivalent à la transformation d'une composition.
Classe1(#a)
RB(#b_b1,#b_b2,#a=>Classe1)
La transformation d'une composition avec un seul attribut pour la classe composante donne un résultat équivalent à la transformation d'un attribut multivalué.
Classe1(#a)
RB(#b,#a=>Classe1)