FICHE03 – LE MCD : LES ASSOCIATIONS ET LES CARDINALITES L'ASSOCIATION L’association définit un lien (ou une relation) entre deux ou plusieurs entités. En décrivant les liens / relations entre entités, l’association traduit les règles de gestion du domaine étudié. Remarques sur l'association : ➢ L'association est nommée à l’aide d’un verbe. ➢ Formalisme : Verbe ➢ • Le nombre de liens vers les entités caractérise le degré de l'association : Association avec deux liens : association binaire ( 2 pattes) Exemple : Un client passe une commande CLIENT NuméroClient NomClient PrénomClient • COMMANDE passer NumCommande 1,1 DateCommande 0,n Association avec trois liens : association ternaire (3 pattes) Exemple : Un professeur enseigne des matières différentes selon les établissements PROFESSEUR CodeProfesseur NomProfesseur 1,n enseigner 1,n ETABLISSEMENT CodeEtablissement NomEtablissement 1,n MATIERES CodeMatière NomMatière Avec cette association je suis capable de connaître : – Pour un établissement, les matières enseignées par professeur – Pour un professeur, l'établissement où il enseigne une matière, – Pour une matière, les établissements disposant de professeurs enseignant la matière Je prends donc en compte la règle de gestion suivante : – Un professeur enseigne des matières différentes selon les établissements Une association peut être porteuse de données Exemple : Je souhaite traduire le fait qu'en début d'année, un élève projette de consacrer un certain nombre d'heures de travail hebdomadaire à chaque matière qu'on lui enseigne Où doit–on placer ce nombre d'heures ? ELEVE NumElève NomElève 1,n avoir pour projet de travail hebdomadaire NbHeures 1,n MATIERE CodeMatière NomMatière LES CARDINALITÉS Les cardinalités sont un couple de nombre (min,max) où min représente la cardinalité minimale : c'est à dire le nombre minimal de fois que chaque occurrence d'une entité participe aux occurrences de l'association la cardinalité minimale peut prendre deux valeurs : 0 : si certaines occurrences de l’entité (c'est à dire au moins une ! ) peuvent ne pas être impliquées dans l’association = participation optionnelle Ex : EMMA 1 : si toutes les occurrences de l’entité sont impliquées au moins une fois dans l’association= participation obligatoire Ex : film et acteur ( un film est joué par au moins 1 acteur !) max représente la cardinalité maximale : c'est à dire le nombre maximal de fois que chaque occurrence d'une entité participe aux occurrences de l'association la cardinalité maximale peut prendre deux valeurs : 1 : si une occurrence de l’entité ne peut pas être impliquée plus d’une fois dans l’association=c'est l'unicité de participation Ex : un film n'est classé que dans un seul genre n : si une occurrence de l’entité peut être impliquée plusieurs fois dans l’association=c'est la multiplicité de participation exemple 1 : une personne peut être sans emploi ou travailler au sein d'une entreprise. exemple 2 : un salarié travaille dans un seul service exemple 3 : un salarié peut demander ou non de participer à des stages. Il lui est possible d'effectuer plusieurs demandes. exemple 4 : déterminer les cardinalités pour les entités FILM et ACTEUR A faire : représenter les entités, l'association et les cardinalités. Comment choisir entre 0,1 et 1,1 ? Comment choisir entre 0,n ou 1,n ? • • • C'est implicite ( un salarié travaille au moins dans un service) La règle de gestion est explicite ( un élève peut ne pas être spécialiste d'une matière, un salarié peut ne pas demander un stage ) Sinon … dans la réalité : vous obtiendrez toujours la réponse à votre interrogation mais en cas d'examen ou de contrôle, il peut vous arriver de ne pas trouver dans le sujet une réponse : vous devez alors fournir l'hypothèse que vous posez cas particuliers : La cardinalité minimale peut être supérieure à 1 si toutes les occurrences de l’entité sont impliquées au moins x fois dans l’association ( x est un entier connu). Exemple : une imprimante est partagée par au moins 10 personnes La cardinalité maximale peut être différente de >1 et différent de n si une occurrence de l’entité peut être impliquée au maximum x fois dans l'association ( x est un entier connu). Exemple : un employé ne peut faire que trois demandes de stage RÈGLES FONDAMENTALES Une propriété ne peut se trouver que dans une entité ou une association Une association ayant les cardinalités (1,1) sur l’une de ses pattes ne peut être porteuse de données. EXERCICES MCD – ASSOCIATIONS ­ CARDINALITÉS EXERCICE 1 : M. KASIER est responsable de la gestion des stocks de l'entreprise pharmaceutique PHARMATOP. Il gère des produits, caractérisés par une référence et un libellé, et des magasins caractérisés par un numéro et un libellé. Vous réaliserez un MCD en fonction des règles de gestion données pour chacun des cas ci– dessous. Premier cas : Les produits sont stockés dans un magasin. • • • • • Tous les produits référencés sont en magasin Un produit n'est stocké que dans un seul magasin On souhaite conserver la quantité en stock du produit Un magasin sert à stoker plusieurs produits Dès sa création, un magasin sert à stocker au moins un produit Deuxième cas : Les produits peuvent être stockés dans des magasins. • • • • • Certains produits sont référencés avant même d'être en magasin Un produit n'est stocké que dans un seul magasin On souhaite conserver la quantité en stock du produit Un magasin sert à stoker plusieurs produits Il se peut qu'un magasin nouvellement créé soit vide Troisième cas : Les produits sont stockés dans plusieurs magasins. • • • • • • Tous les produits référencés sont en magasin Un produit peut être stocké dans plusieurs magasins On souhaite conserver la quantité de produit stockée dans chaque magasin Lorsque la quantité de produit stockée par l'entreprise pharmaceutique PHARMATOP descend en dessous d'un certain seuil, le ré­approvisionnement à lieu : il faut donc conserver la quantité minimale de produit qui déclenchera ce ré­approvisionnement ( la gestion du ré­approvisionnement n'est pas gérée ici) Un magasin sert à stoker plusieurs produits Il se peut qu'un magasin nouvellement créé soit vide