Sujet 04 — Modèle Entité-Association

Sujet 04 — Modèle Entité-Association

Sujet 04 — Modèle Entité-Association. Cette série porte sur les entités fortes et faibles, les identifiants, les associations, les rôles, les cardinalités et les populations. Les schémas sont intégrés à cette page sous forme de SVG. L’énoncé ne contient pas de corrigé.

Conventions. Les cardinalités sont notées (min,max), avec N pour « plusieurs ». Les identifiants sont soulignés. Une entité faible est dessinée en double rectangle. Un lien d’héritage ou d’identification est représenté par un losange (« EST UN », « ID ») ou une flèche vers l’entité dont elle dépend. Une association considérée comme entité est encadrée en pointillés.

Exercice 1 — Questions de cours

  1. Vrai ou faux ? Dans les exemples du cours, Employé (par rapport à Personne) et Appartement (par rapport à Bâtiment) sont deux entités faibles pour la même raison : dans les deux cas, il s’agit d’un lien d’héritage, et la clé de l’entité faible est composée uniquement de ses propres attributs. Répondez par vrai ou faux et justifiez précisément, en citant les deux cas distingués dans le cours.
  2. Vrai ou faux ? Dans l’association CATALOGUE liant Fournisseur et Produit, on peut rattacher l’attribut Prix à l’entité Produit sans perte d’information, car un produit a un prix. Justifiez en utilisant la définition d’un attribut d’association et la notion d’occurrence d’une association.
  3. Vrai ou faux ? Dans l’association ternaire LIVRAISON (Rayon, Fournisseur, Article), un article a1 fourni par un seul fournisseur f1, mais dans plusieurs rayons, a une cardinalité maximale égale à 1 vers LIVRAISON, puisqu’il n’a qu’un seul fournisseur. Justifiez avec la définition formelle des cardinalités d’un lien entre une entité et une association n-aire, puis donnez la cardinalité correcte.
  4. Technique. Soit l’association binaire VENTE entre Rayon et Article. Chaque article est vendu dans exactement un rayon; un rayon peut ne vendre aucun article ou en vendre plusieurs.
    1. Donnez les couples de cardinalités de chaque lien et dessinez le diagramme.
    2. Classez VENTE (1:1, 1:N ou M:N) en appliquant la classification du cours.
    3. Pour chaque entité, précisez si sa participation est totale ou partielle.
    4. Appliquez les règles du cours pour déterminer l’identifiant de l’association VENTE.
  5. Technique. Représentez par un diagramme chacune des deux situations suivantes et donnez la clé de l’entité faible, même si elle n’est pas notée.
    1. Un Pilote (attributs Nom, Prénom) est un Employé (attribut clé N°Employé) : donnez les deux notations possibles.
    2. Une Série (clé Nom, attribut Producteur) est composée d’épisodes numérotés (Numéro) à l’intérieur de la série.
    Démontrez, pour (b), que Numéro seul n’est pas un identifiant d’Épisode, puis que Épisode est bien une entité faible au sens de la définition du cours.

Exercice 2 — Lecture de schémas

Schéma 1 — Résidence universitaire

Schéma 1 : résidence universitaireUn bâtiment contient zéro à plusieurs appartements. Chaque appartement dépend d’un seul bâtiment et a un identifiant composé du numéro de bâtiment et du numéro d’appartement. Une personne habite zéro à plusieurs appartements selon le lien, et chaque personne du schéma habite exactement un appartement.BÂTIMENTN°Bâtiment (identifiant)NombreAppDateConstrCONTIENTAPPARTEMENTN°Bâtiment (clé héritée)N°Appart. (clé partielle)Taille · Étage0,N1,1HABITEPERSONNEN°SécuritéSoc.Nom · Prénom0,N1,1
Schéma donné — Résidence universitaire. Les deux cadres de l’appartement signalent une entité faible.
  1. Identifiez les entités fortes et faibles. Pour chaque entité faible, précisez le type de lien (héritage ou identification), la clé et expliquez pourquoi N°Appart. seul ne suffit pas.
  2. Interprétez en français chaque cardinalité de CONTIENT et de HABITE. Classez ces associations et précisez la participation (totale ou partielle) de chaque entité dans chacune.
  3. Déterminez l’identifiant de HABITE en justifiant par la règle du cours. Que devient cette règle si certaines personnes n’habitent pas la résidence ? Quelle cardinalité faudrait-il alors écrire côté Personne ?

Schéma 2 — Personnel

Schéma 2 : personnelL’association réflexive Chef relie un employé subalterne à un employé supérieur. Les cardinalités sont zéro à un côté subalterne et zéro à plusieurs côté supérieur. Pilote est une spécialisation de Employé.EMPLOYÉN°Employé (identifiant)Nom · SalaireSubalterne0,1Supérieur0,NCHEFEST UNPILOTEN°Employé (hérité)nbHeuresVol
Schéma donné — Personnel. Les rôles distinguent les deux participations d’Employé dans l’association réflexive CHEF.
  1. Quel est le type de l’association CHEF ? Pourquoi la spécification des rôles est-elle indispensable ici ? Combien de supérieurs directs un employé peut-il avoir ? Classez CHEF.
  2. Pilote est liée à Employé par EST UN. (a) Donnez la clé de Pilote. (b) Redessinez ce lien avec l’autre notation. (c) Peut-on avoir une occurrence de Pilote dont le N°Employé n’apparaît pas dans Employé ? Justifiez avec la définition de l’entité faible (premier cas).

Schéma 3 — Logiciels et serveurs

Dans ce schéma, ACHAT est une association considérée comme entité. Complétez les cardinalités à partir de la règle suivante : un département peut acheter plusieurs logiciels et un logiciel peut être acheté par plusieurs départements, éventuellement par aucun; un logiciel acheté par un département est forcément installé sur au moins un serveur; un serveur peut héberger plusieurs achats ou aucun.

Schéma 3 : logiciels et serveursL’association ACHAT, considérée comme entité, relie Logiciel et Département. L’association INSTALL relie ACHAT à Serveur. Les cardinalités restent à compléter.LOGICIELcodeLog (identifiant)nomLogDÉPARTEMENTcodeDept (identifiant)nomDeptSERVEURnumServ (identifiant)adresseIPassociation considéréecomme entitéACHATINSTALL(?,?)(?,?)(?,?)(?,?)
Schéma donné — Logiciels et serveurs. Les cardinalités sont à compléter à partir de l’énoncé.
  1. Expliquez pourquoi une association ternaire INSTALL(Logiciel, Département, Serveur) ne peut pas exprimer la contrainte « pour tout couple (logiciel, département) existant, il existe au moins un serveur ».
  2. Complétez les cardinalités du schéma en justifiant chacune.
  3. Donnez l’identifiant de ACHAT. Que faut-il ajouter si un département peut racheter plusieurs fois le même logiciel ? Classez INSTALL.

Exercice 3 — Problème : la pharmacie universitaire Penka Michel (Dschang)

La pharmacie universitaire Penka Michel, située à Dschang, souhaite informatiser sa gestion. Le schéma se construit par étapes : chaque partie enrichit la précédente, et chaque question s’appuie sur les réponses aux questions précédentes.

Partie A — Catalogue des fournisseurs

Chaque médicament est repéré par un code unique codeMed et décrit par son nom commercial nomMed et sa forme forme. Chaque fournisseur est repéré par un numéro numF et décrit par son nom nomF et son adresse adresseF. La base ne conserve que les fournisseurs qui proposent au moins un médicament; en revanche, un médicament peut figurer dans la base sans être actuellement proposé. Un fournisseur peut proposer plusieurs médicaments et un médicament peut être proposé par plusieurs fournisseurs. Le prix unitaire prixUnit dépend à la fois du fournisseur et du médicament.

  1. Dessinez le MCD correspondant : entités, associations, attributs, identifiants soulignés et cardinalités. Quel type de nom (verbe ou nom) est le plus adapté à cette association, et pourquoi ?
  2. Classez l’association (1:1, 1:N, M:N) et précisez la participation de chaque entité. Expliquez pourquoi prixUnit ne peut être rattaché ni à Médicament ni à Fournisseur. Donnez enfin une occurrence de chaque entité et une occurrence de l’association, puis une population de trois occurrences de l’association.

Partie B — Évolution des tarifs

Les prix évoluent : un fournisseur peut proposer le même médicament à plusieurs prix, à des dates différentes (attribut dateTarif). Pour un même couple (fournisseur, médicament), deux tarifs ne peuvent pas avoir la même date.

  1. Donnez l’identifiant de PROPOSE avant (partie A) et après (partie B) cette évolution, en citant les deux règles du cours sur les identifiants d’association. Montrez pourquoi l’ancien identifiant n’est plus valable et précisez les cardinalités de dateTarif et prixUnit.

Partie C — Rayons, étagères et livraisons

La pharmacie est organisée en rayons, repérés par un numéro numRayon et un intitulé intitulé. Chaque rayon comporte des étagères numérotées 1, 2, … à l’intérieur du rayon (il existe donc une étagère n°1 dans chaque rayon); une étagère a une capacité capacité et appartient toujours à un rayon. Un rayon vient parfois d’être créé et n’a alors aucune étagère.

Lorsqu’un fournisseur livre un médicament, celui-ci est rangé sur une étagère précise; on retient la quantité livrée et la dateLivraison. Un même fournisseur peut livrer le même médicament sur la même étagère à des dates différentes (au plus une livraison par jour pour un même triplet). Un médicament peut n’avoir jamais été livré; une étagère peut être vide; tout fournisseur de la base a effectué au moins une livraison.

  1. Complétez le MCD avec Rayon et Étagère. Montrez qu’Étagère est une entité faible (en citant la définition), donnez son identifiant, le type de lien, les cardinalités et dessinez la partie correspondante.
  2. Ajoutez l’association LIVRAISON entre Médicament, Fournisseur et Étagère. Déterminez les trois cardinalités en justifiant au moins l’une d’elles avec la définition formelle (couples). Donnez l’identifiant de LIVRAISON.

Partie D — Le personnel

Les personnes sont identifiées par un matricule, avec un nom, un prénom, une date de naissance, une adresse composée d’une rue, d’un quartier et d’une ville, et zéro, un ou plusieurs numéros de téléphone. La pharmacie suppose qu’il n’existe jamais deux personnes ayant les mêmes nom, prénom et date de naissance. Certaines personnes sont des employés, avec un salaire; parmi les employés, certains sont des pharmaciens, avec un numOrdre et une spécialité. Un pharmacien est un employé, un employé est une personne, et leur matricule est celui de la personne.

Chaque employé a au plus un responsable direct, lui-même employé; un employé peut encadrer plusieurs employés ou aucun. Le directeur n’a pas de responsable.

  1. (a) Classez chaque attribut de Personne (simple/complexe, monovalué/multivalué, obligatoire/facultatif) avec sa cardinalité. (b) Donnez tous les identifiants de Personne en justifiant. (c) Dessinez la chaîne Personne–Employé–Pharmacien en utilisant les deux notations du lien d’héritage, et donnez les clés d’Employé et de Pharmacien.
  2. Dessinez l’association ENCADRE sur Employé avec ses rôles et ses cardinalités. Justifiez la cardinalité minimale côté subalterne, classez l’association et vérifiez qu’une population de quatre employés (un directeur E1, deux subalternes E2 et E3 de E1, et E4 subalterne de E2) respecte le schéma.

Partie E — Délivrances et lots

Un patient (numPatient, nomPatient) se fait délivrer par un pharmacien des médicaments sur ordonnance. Chaque délivrance concerne un pharmacien, un patient et un médicament, avec une quantité et une dateHeure; le même pharmacien peut délivrer le même médicament au même patient à plusieurs moments. Chaque médicament est conservé en lots, repérés par un numLot (qui n’est unique que parmi les lots d’un même médicament) et une datePéremption. À chaque délivrance doit obligatoirement correspondre au moins un lot dont on prélève une quantitéPrélevée; un lot peut alimenter plusieurs délivrances ou aucune.

  1. Représentez l’association DÉLIVRANCE (cardinalités 0,N pour les trois entités) et déterminez son identifiant. Justifiez la présence de dateHeure dans l’identifiant.
  2. Montrez qu’une association n-aire ne peut pas exprimer la contrainte « chaque délivrance a au moins un lot », puis modifiez le schéma en conséquence (association considérée comme entité) en dessinant DÉLIVRANCE, PRÉLÈVE et Lot avec leurs cardinalités et leur attribut.
  3. Rendez Lot entité faible vis-à-vis de Médicament. Donnez l’identifiant de Lot, de l’association d’identification et de PRÉLÈVE. Classez PRÉLÈVE.

Partie F — Vérification et synthèse

Voici une population proposée pour le schéma (les rayons R1 et R2 existent seuls) :

PROPOSE (numF, codeMed, dateTarif, prixUnit)Étagère (numRayon, numEtagère)Fournisseur
(F1, M1, 2025-01-10, 500)(R1, 1)F1
(F1, M1, 2025-06-01, 550)(R1, 2)F2
(F2, M1, 2025-01-10, 480)(R2, 1)F3
(F1, M1, 2025-01-10, 520)(R1, 2)—
(F2, M3, 2025-02-15, 1200)(R3, 1)—

Le médicament M2 existe dans Médicament mais n’apparaît dans aucune ligne de PROPOSE.

  1. Relevez toutes les violations du schéma, en justifiant chacune par une notion du cours (identifiant, cardinalité, entité faible), et dites si l’absence de M2 dans PROPOSE est une violation.
  2. (a) La pharmacie vend des trousses de premiers secours (numTrousse, typeTrousse, poids) composées de médicaments et de pansements (codePansement, taille). Dessinez l’association de composition correspondante et expliquez pourquoi le cours recommande de l’utiliser « avec précaution »; proposez deux ajouts qui évitent l’ambiguïté. (b) Complétez le tableau de synthèse ci-dessous pour le schéma final.
    EntitéForte / faibleType de lienIdentifiant
    Médicament
    Fournisseur
    Rayon
    Étagère
    Personne
    Employé
    Pharmacien
    Patient
    Lot
Afficher l’accordéon du corrigé

Questions / Réponses

Aucune question. Soyez le premier à poser une question.
★ ★ ★ ★ ★
2 votes. Moyenne 4.5 sur 5.

Ajouter un commentaire

Anti-spam