Vous êtes sur la page 1sur 8

S.

Laporte

MCD : cardinalits et types d'associations

DAIGL TS1

Les cardinalits et les diffrents types d'associations


I. Les cardinalits
A. Dfinition et formalisme
Les cardinalits sont des couples de valeur que l'on trouve entre chaque entit et ses associations lies. Donc, pour une association de 2 entits, il y a 4 cardinalits indiquer (2 de chaque ct). Il y a trois valeurs typiques : 0, 1 et N (plusieurs). Pour les associations 2 entits, ce sont des valeurs qui permettent d indiquer combien de fois au minimum et au maximum une occurrence d'entit peut tre lie une autre occurrence d'entit. De manire plus gnrale, les cardinalits d entit dans une association expriment le une nombre de fois qu occurrence de cette entit peut tre implique dans une occurrence de une l'association, au minimum et au maximum. Les cardinalits traduisent des rgles de gestion. Ce sont des rgles propres l'organisation tudie, qui sont dcides par les gestionnaires et dcideurs. Ces rgles expriment des contraintes sur le modle.

ENTITE

Min, Max

Association

B. La cardinalit minimale
Elle est exprime presque toujours par l des deux valeurs 0 ou 1. une Elle traduit combien de fois au minimum une occurrence de l entit participe l association, autrement dit, si une occurrence est obligatoirement associe une autre ou pas.

Exemple Pour la cardinalit minimale entre client et commander, il faut se poser la question : Pour un client donn, combien de fois au minimum il commande ? ou encore mieux Est-il obligatoire qu'un client effectue une commande de produit ? Cela dpend des REGLES DE GESTION de l'entreprise. Si la rgle de gestion est tout client doit passer au moins une commande sinon ce n pas est un client on met la cardinalit mini 1

S. Laporte

MCD : cardinalits et types d'associations

DAIGL TS1

CLIENT Numro client Nom client

Commander Quantit

PRODUIT Numro du produit Libell

Mais on peut trs bien imaginer que l entreprise veut aussi mmoriser les clients potentiels (prospects), qui n encore rien command. Dans ce cas, un client peut trs bien ne pas ont avoir encore command, et on met la cardinalit mini 0.
CLIENT Numro client Nom client

Commander Quantit

PRODUIT Numro du produit Libell

En fait, les cardinalits dpendent des rgles de gestion propres l organisation tudie. La rgle peut trs bien tre On ne mmorise que les clients qui ont dj command ou bien On veut mmoriser les prospects . Application : 1) Trouver la question qui permet de trouver la cardinalit minimale pour l entit produit et l association commander. Rponse : Est-il obligatoire qu'un produit ait t command pour qu'il soit mmoris dans la base de donne? ou bien Peut-il exister dans la base de donne des produits qui n'ont jamais t commands? 2) Faites deux hypothses de rgle de gestion concernant ce lien et trouver les cardinalits minimales correspondantes. Rponse : H1 : l'entreprise peut proposer de nouveaux produits, sur catalogue par exemple, qu'elle mmorise dans sa base de donnes, mais qui n'ont jamais encore t commands => cardinalit minimale 0 (c'est plutt le cas pour les entreprises de vente) H2 : tout produit inscrit dans la base de donne est forcment command (par exemple parce que l'entreprise ne propose pas de catalogue, mais fabrique seulement la commande) => cardinalit minimale 1 (c'est plutt le cas pour les entreprises de production)

C. La cardinalit maximale
Elle traduit combien de fois au maximum une occurrence d'entit peut tre en relation avec une occurrence de l'association. Cela peut tre plusieurs fois (si c un nombre indtermin, est on indique la valeur n) ou une seule fois. Cette cardinalit rpond la question : la participation d'une occurrence doit-elle tre unique ou bien peut-elle tre multiple ? ou bien combien de fois au maximum une occurrence est elle implique dans l'association ? Si l'association est binaire (relie seulement deux entit), la question peut tre aussi : Une occurrence de l'entit peut-elle tre relie plusieurs occurrences de l'autre entit ou bien ne peut-elle tre relie qu' une seule autre occurrence au plus?
2

S. Laporte

MCD : cardinalits et types d'associations

DAIGL TS1

Si la rponse est au plus une fois (participation unique), la cardinalit maximale prend pour valeur 1. Si la rponse est plusieurs (participation multiple), la cardinalit maximale prend la valeur N. Exemple RG (rgles de gestion) Un salari est affect au plus un seul service. Dans un service sont affects plusieurs salaris
SALARIE Numro salari Nom salari Fonction Salaire

Etre affect

SERVICE Numro service Nom service Tlphone

Il arrive (mais c rare) qu cardinalit maximale ait une valeur limite. est une Exemple : RG : Un lve peut suivre au maximum 3 options.
ELEVES Numro lve nom prnom anne naiss classe prcdente

OPTION Suivre n Numro option Libell option Nombre d'heures Coefficient

D. Rcapitulatif
En fait, dans la grande majorit des cas, on n utilise que 4 combinaisons de valeurs pour les cardinalits. 0,1 au plus un(e) 1,1 un(e) et un(e) seul(e) 1,n un(e) ou plusieurs 0, n zro ou plusieurs Exemples complets
CLIENT Numro client Nom client Tlphone

1,n

Commander Quantit

0, n

PRODUIT Numro du produit Libell Prix d'achat Prix de vente

RG : un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir t command, comme il peut l'avoir t plusieurs fois.
SALARIE Numro salari Nom salari Fonction Salaire

1,1

Etre affect

1,n

SERVICE Numro service Nom service Tlphone

RG : Un salari est obligatoirement affect 1 et 1 seul service. Un service pour exister doit avoir au moins un salari affect (sous-entendu, il peut bien sur en avoir plusieurs).
3

S. Laporte

MCD : cardinalits et types d'associations

DAIGL TS1

II. Les diffrents types d'associations


A. Les associations binaires concernant 2 entits
On distingue trois catgories d'associations en fonction des cardinalits maximales de ses branches: - les associations hirarchiques encore appeles associations [1, n] ou associations fonctionnelles - les associations non hirarchiques, encore appeles associations [n, n] ou non fonctionnelles - les association [1, 1], les 2 branches ont pour cardinalit maximale 1. Ce cas est rare.

1. Les associations hirarchiques [1,n]


Ce sont les associations o d'un ct la cardinalit maximale est 1 et de l'autre ct la cardinalit maximale est n.
A idA Assoc B idB

0, 1 ou 1, 1

0, n ou 1, n

Cela signifie qu'une occurrence de A est relie au plus une seule occurrence de B. C'est--dire si on connat une occurrence de A alors on saura forcment quelle est la seule occurrence de B qui correspond (si elle existe). On dit que A dtermine B. C'est un lien de dpendance fonctionnelle. B dpend fonctionnellement de A. L'entit qui correspond la branche du ct du 1 est parfois appele entit fils et l'entit correspondant la branche du ct n est parfois appele entit pre. Cette appellation dcoule de l'analogie : un fils n'a qu'un seul pre, et un pre peut avoir plusieurs fils.
FILS idFils 1,1 Assoc hirarchique PERE 1,n idpre

Dpendance fonctionnelle Ce type d'association n'a jamais de proprit porte. Si vous tes tents de mettre une proprit l'intrieur de l'association, c'est soit que vos cardinalits sont fausses, soit que la proprit devrait tre dans une des entits. Le lien qui associe l'entit fils l'entit pre est de mme nature que le lien qui lie les proprits l'entit fils. C'est une dpendance fonctionnelle. On dit que l'entit Pre est en dpendance fonctionnelle de l'entit fils (pour cette notion, l'analogie pre-fils n'est donc pas trs bonne).

2. Les associations non hirarchiques [n, n] 3. Les associations de type [1, 1]


Cas exceptionnel ex : un employ travaille sur un ordinateur (p 99 de Modliser les donnes) la facture correspondant une commande

B. Les autres types d'association

S. Laporte

MCD : cardinalits et types d'associations

DAIGL TS1

Le plus souvent, une association relie 2 entits avec 2 branches. Ce type d'association est appel association binaire. Nous avons dj tudi en dtail les diffrents types d'associations binaires. Mais une association peut aussi relier 3 ou trs rarement 4 entits (quasiment jamais plus). On parle d'association ternaire, quaternaire (n-aire). Enfin, une association peut aussi relier une entit elle-mme, c'est--dire que des occurrences de la mme entit sont relies entre elles. L'association correspondante est qualifie de rflexive. Ce sont ces autres types d'association que nous allons tudier maintenant.

1. Les associations rflexives


Une association rflexive est une association reliant des occurrences de la mme entit. Ces associations sont quasiment toujours binaire (2 branches). Pour lire une association rflexive, il est faut connatre le rle attribu chaque branche de l'association. Il existe comme pour les autres associations, des associations rflexives hirarchique et des association rflexives non hirarchique. A) Exemple d'association rflexive hirarchique: Dans une entreprise bureaucratique, chaque salari a un seul chef (suprieur hirarchique direct) sauf le patron et chaque chef a au moins un salari sous ses ordres. Evidemment, certains salaris ne sont chefs de personnes.
SALARIE matricule nom prnom fonction etc 0,1 a pour chef encadrer est chef de 0,n

Exemples d'occurrences : diagramme d'occurrences Remarquez l'importance du rle dans le diagramme d'occurrence.

SALARIE 1 toto est chef de encadre a pour chef SALARIE 2 titi est chef de encadre SALARIE a pour chef a pour chef 4 bidule

est chef de encadre SALARIE 3 truc

S. Laporte

MCD : cardinalits et types d'associations

DAIGL TS1

B) Exemples d'associations rflexives non hirarchiques Pices composants, compos = rflexive asymtrique
PIECE rfrence libell etc entre dans la composition 0,n est compose de 0,n

composition nombre

Personnes frres = rflexive symtrique (rle pas indispensable car a pour frre = tre frre de)

Prcision de vocabulaire : dimension d'une association La dimension d'une association correspond au nombre de branches de l'association. Dans plus de 80% des cas, les associations sont binaires Dimension 2 : binaire Dimension 3 : ternaire (rare) Dimension suprieure : n-aire (exceptionnel) Lorsqu'il n'y a pas de rflexivit, le nombre de branches est gal au nombre d'entits relies. La dimension est dans ce cas le nombre d'entits concernes par l'association. Mais la rflexivit existe et donc on peut avoir plusieurs branches de la mme association sur la mme entit. Dans ce cas alors, la dimension est suprieure au nombre d'entits concernes. dimension = nombre d'entit lies Une association rflexive (1 entit) est quasiment toujours binaire (2 branches). On pourrait aussi avoir une association ternaire impliquant seulement deux entits.

2. Les associations de dimension 3 ou plus (ternaires ou plus)


Une association peut relier plus de 2 entits ensemble, le plus souvent trois. On parle alors d'association ternaire. On utilise une association ternaire quand on a besoin de connatre une occurrence de chaque entit pour avoir une information. Ex : Pour connatre la quantit de chacune des pices fabrique par chaque ouvrier une date donne, on utilise une association ternaire entre OUVRIER, PIECE et DATE. La quantit est une donne porte par cette association.

OUVRIER code ouvrier nom ouvrier prnom ouvrier grade PIECE rfrence pice libell pice 1,n fabrique quantit 0,n

1,n DATE FABRICATION date

Une occurrence de l'association fabrique implique une seule occurrence de chaque entit.

S. Laporte

MCD : cardinalits et types d'associations

DAIGL TS1

Exemple : Ouvrier Dupont Dubois Martin Dupont Dubois Dupont Martin Pice 1 2 1 3 3 1 1 Date 17/02 17/02 17/02 17/02 17/02 16/02 16/02 quantit 50 100 40 55 20 40 40

L'association ternaire implique aussi que : - Pour un ouvrier, on peut avoir plusieurs pices diffrentes la mme date (il peut fabriquer plusieurs types de pices le mme jour). - Une pice peut tre fabrique par plusieurs ouvriers diffrents le mme jour. - A des dates diffrentes, un mme ouvrier peut fabriquer les mmes pices. L'identifiant d'une association ternaire est forme de la concatnation (juxtaposition) des identifiants des 3 entits relies. Dans notre exemple, on ne peut donc pas avoir plusieurs occurrences de "fabrique" qui concernent Dupont, la pice n1 la date du 17/02. Dupont Dupont 1 1 17/02 17/02 30 20

Dupont

17/02

50

S. Laporte

MCD : cardinalits et types d'associations

DAIGL TS1

REPRESENTATION DES CARDINALITES


occurrence d'entit occurrence d'association

Une voiture est possde par une seule personne. Une personne peut possder de 0 plusieurs voitures.
PERSONNE numro personne nom prnom tlphone 0,n Possder 1,1 VOITURE numro d'immatriculation marque modle anne fabrication

0,n n les personnes

1,1 les voitures

Une personne a une adresse ou est sans domicile. A une adresse, il y a une ou plusieurs personnes qui y habitent.
ADRESSE code adresse rue code postal ville pays 1,n Habiter 0,1

PERSONNE numro personne nom prnom tlphone

1, n

0, 1