Le 20/05/2014 16:47, Arnaud Thimel a écrit :
Il faut pousser un peu plus la réfléxion, mais (dans l'immédiat) je trouve que ce n'est pas cohérent et donc je suis d'accord avec la demande d'Éric.
Pareil. Mon point de vue il y a quelques temps était celui-là A -1-composite----------N-> B : cascade all A -1-composite----------1-> B : cascade all A -1-agrég--------------N-> B : cascade all, delete-orphan A -1-agrég--------------1-> B : cascade all, delete-orphan le delete-orphan traduisant en fait que c'est pas vraiment un cascade-all (car on ne cascade pas les delete). Le composite signifierait alors que le B appartiennent exclusivement aux A et suivent le même cycle de vie. Exemple Pollen : Sondage -----n-> Vote. Quand on sauvegarde le sondage, on sauvegarde les votes ; quand on supprime le sondage, on supprime les votes. Idem pour l'agrégation, la nuance est que les instances de B peuvent être partagées entre plusieurs A. Il ne faut donc pas forcément supprimer en cascade vu qu'il ne faut pas risquer du supprimer un B utilisé par un autre A. Par contre, les B n'ont plus de raison d'exister s'il n'y a plus aucun A donc on les supprime. Ça me paraît toujours être le bon raisonnement mais plus ça va, plus j'ai des doutes sur la réelle signification de la composition et de l'agrégation donc ce ne sont peut-être pas les formalismes à utiliser : le raisonnement reste valide mais peut-être utiliser autre chose pour signaler ces relations. -- Brendan Le Ny, Code Lutin bleny@codelutin.com (+33) 02 40 50 29 28