# Gnral Dveloppement > ALM > Modlisation > Schma >  Quand dois-je utiliser une association porteuse dans un MCD ?

## Dd86

Bonjour,

J'apprends actuellement Merise et je me pose une question : 
A quel moment doit-on utiliser un association porteuse ? 
Je n'arrive pas  visualiser ce que cela donne concrtement.

Pouvez-vous m'aider svp ?

Merci d'avance.

----------


## Dd86

Par exemple, avec l'entit CLIENT qui a comme proprits NumClt (cl primaire), NomClt...et l'entit ARTICLE qui a comme proprits NumArt (cl primaire), NomArt...

En association, je mets commander (la patte CLIENT vers l'association est 1, N et la patte article vers Commander est 0,N)

Quelle est la diffrence entre le fait de mettre QtCommand en association porteuse de commander ou de mettre QtCommand en proprit de ARTICLE ?

J'ai vraiment du mal a voir la diffrence. Qu'est-ce que cela va changer ?

----------


## fsmrel

Bonsoir,

Si vous dfinissez QtCommand comme proprit de ARTICLE, cela signifie qu'une certaine quantit d'un article a t commande, au moins une fois et au plus une fois. Par qui ? On ne sait pas.

L'association COMMANDER vous permet d'tablir un lien entre un client et un article. Si donc l'association COMMANDER est porteuse de la proprit QtCommand,  alors on sait qu'un client a command tel article, selon une certaine quantit.

Au fait, le concept de cl primaire relve de SQL. En Merise on utilise celui d'identifiant.

Bon courage pour la suite.

----------


## Dd86

Merci de votre rponse. Le problme est que si je mets QtCommand en association porteuse, un client ne pourra pas commander 2 fois un article car au niveau logique l'association deviendra une relation contenant les identifiants des entits mre. Et il ne peut pas y avoir 2 fois la mme valeur. 

Vous confirmez mes propos ? Si oui, comment puis-je faire en sorte qu'un client puisse commander plusieurs fois le mme article ? 

Merci d'avance.

----------


## fsmrel

Je confirme vos propos.

Dans un premier temps, vous pouvez dj dfinir une entit-type Commande rattache  Client (un client peut passer N commandes, une commande est passe par au moins et au plus un client).

Dans un 2e temps, vous dfinissez une entit-type LigneCommande, puisqu'une commande est compose de lignes de commande (une commande est compose de 1  N lignes de commande et une ligne de commande appartient  une et une seule commande). 

Ensuite, vous associez LigneCommande et Article. La proprit QtCommande est une proprit de LigneCommande. Une ligne de commande fait rfrence  au moins et au plus un article et un article peut tre rfrenc par N lignes de commande.

Vous pouvez aussi dfinir LigneCommande comme association-type entre Commande et Article, c'est peut-tre plus "conceptuel", mais c'est moins souple, par exemple quant au systme d'identification.

----------


## Dd86

Je vous remercie beaucoup de m'avoir aider avec mon problme.

Au revoir et merci encore.

----------


## Germain Kausa

Exemple typique
A -----> B
Automatiquement A c'est le fils, et B c'est le pre. Pourquoi ?
Parce A dpend de B, et B dtermine A.
Comment ?
Celui qui dpend de l'autre, on l'appelle fils et celui qui dtermine l'autre, on l'appelle pre.

Pour l'association porteuse
On parle de lui, lorsque deux ou plusieurs entits dterminent celle-ci.

Voil  la procdure trs facile.
Par : kausagermain@gmail.com

----------


## escartefigue

Bonjour Germain Kausa et bienvenue dans ce forum.

Le sujet date de 2007, il n'est donc pas utile de rebondir sur cette discussion...

De plus, s'il s'agit de symboliser une dpendance fonctionnelle, alors A-->B signifie que A dtermine B et non pas l'inverse.

----------

