6 Exercices corrigés Modèle Entité Association

Les exercices corrigés suivants concernent le modèle Entité Association, la construction, la modélisation et la compréhension à partir de cas d’usage.

modèle entité association

Exercice 1

Ci-dessous le diagramme E/A représentant les visites dans un centre médical. Répondez aux questions suivants (strictement en fonction de ce qui est indiqué dans le schéma).

entité-association

1. Un patient peut-il effectuer plusieurs consultations ?

2. Un médecin peut-il recevoir plusieurs patients dans la même consultation ?

3. Peut-on prescrire plusieurs médicaments dans la même consultation ?

4. Deux médecins différents peuvent ils prescrire le même médicament ?

  1. Oui => (1,n) vers assiste
  2. Non => consultation vers assiste (1,1)
  3.  Oui => consultation vers prescrit (0,n), O à n médicaments sont prescrits dans une consultation  
  4. Oui => Rien ne l’interdit dans le schéma.  Un médecin donne des consultations, des médicaments sont prescrits mais aucun lien entre le médicament et le médecin  prescripteur  Pas d’infos sur ce point sans l’écriture de contraintes en complément du schéma.

Exercice 2

Ci-dessous le diagramme E/A représentant un tournoi de tennis. Répondez aux questions suivantes (strictement en fonction de ce qui est indiqué dans le schéma)

modèle entité association

  1. Peut-on jouer des matchs de double ?
  2. Un joueur peut-il gagner un match sans y avoir joué ?
  3. Peut-il y avoir deux matchs sur le même terrain à la même heure ?
  4. Comment empêcher 2 matchs à la même heure sur le même terrain ?
  1. Non, uniquement des matchs de simple => match vers participe (2,2) 2 joueurs seulement
  2. Oui, rien ne l’interdit dans le schéma, aucun lien entre participer et gagner.

Il faut rajouter une contrainte d’intégrité qui ne peut être exprimée dans le modèle

  1. Oui selon le schéma => l’horaire est une propriété de Match seulement
  2. L’horaire devient une propriété de (match,terrain) donc une propriété de l’association

Exercice 3

Un groupe de compagnies aériennes travaillant sur le territoire européen souhaite organiser un système d’information commun. Chaque compagnie organise des vols entre les villes dont elle assure la liaison.

Une compagnie est définie par son nom et un vol est identifié par un n° de vol (AF234 par exemple)

  1. Rédigez le schéma E/A correspondant
  2. Complétez le schéma en tenant compte de l’information suivante :

Les vols sont affrétés sur des avions qu’elle possède ou qu’elle loue aux autres compagnies du groupe.

Un avion est identifié par un n° d’appareil et est d’un type défini (Airbus A340) par exemple 3. Intégrez dans votre schéma le besoin (d’un suivi de son personnel) suivant exprimé par les compagnies aériennes

Qui a volé sur quel vol et quelle y était sa fonction (Commandant de Bord, Pilote Navigant, Mécanicien, Personnel Navigant Commercial) ?

Pour les pilotes, il faut intégrer la notion de grade et de qualification des pilotes pour tel ou tel type d’appareil.

Exercice 4

Construire le schéma relationnel des cas précédents :

  • Centre médical
  • Tournoi de tennis
  • Compagnie aérienne

Centre Médical 

Medicament ( Code , Libelle )

Medecin ( Matricule , Nom )

Patient ( N°SS , Nom )

Consultation ( , Date ,#N°SS , #Matricule )

Prescrit ( #N° , #Code , NbPrises )

Tournoi de tennis

Joueur ( N°J , Nom )

Match ( N°M , Horaire , #N°T  , #N°J1  , #N°J2  , #N°G )

Terrain ( N°T , Surface )

Compagnie aérienne

compagnie ( nomC , nationalité , adresse )

vols ( numVol , jour , heure , nomC  , #nomVdepart , #nomVarrivée  , #numAppareil ) 

avions ( numAppareil , anneeFab , #modele ) 

villes ( nomV , pays )

type_avion ( modèle , nombrePassager )

personnel ( numSS , nom , fonction )

loue ( #numC  , #numAppareil , dateDebut , dateFin )

possede ( #numC , #num_appareil , dateAchat )

emploie ( #numC ,#numSS , date_embauche )

a_pour_fonction ( #numVol , #numSS , fonctionSurVol )

est_qualifie ( #numSS , #modele , grade )

Exercice 5

On souhaite créer le système d’information d’un hôpital. L’objectif est de pouvoir répondre aux questions suivantes :

  • Quel médecin travaille dans quel service ?
  • Quel médecin suit quel malade? et réciproquement ?
  • Dans quel service a été admis un patient ?
  • Permettre le suivi des prescriptions faites à un malade (quoi et par qui …)

Dans cet hôpital, il y a plusieurs services, chacun identifié par leur nom ;

Chaque médecin est attaché à un service ;

Un patient est admis dans un service et n’en change plus ;

Un patient peut être suivi par plusieurs médecins (potentiellement de services différents).

Les informations dont on souhaite disposer dans le SI sont :

  • service : spécialité, nombre_lits, localisation (batiment-étage)
  • médecin : nom, num_telephone, num_inscription_ordre, spécialité
  • patient : nom, num_SS, pathologie, date_entree, date_sortie
  • prescription : patient, médecin, médicament, posologie, date

Vous ajouterez toutes les informations qui vous sembleraient nécessaires à la construction du diagramme E/A et vous rédigerez le schéma E/A du SI de l’hôpital puis le schéma relationnel.

modèle entité-association

Hopital ( nomH :varchar , telephoneH :varchar )

Services (nomS :varchar ,  specialite :varchar , nbre_lits :int , #nomH :varchar ,#num_etage :int)

Medecins ( num_ordre :int , num_telephone :varchar , spécialité_med : varchar, #nomH :varchar  , #nomS : varchar)

Patients ( num_SS , nom_P )

Hospitalisé ( #num_SS , #nomS , date_entree , date_sortie )

Soigne ( #num_ordre ,# num_SS , pathologie )

Etage ( num_etage , #nom_batiment )

Batiment ( nom_batiment , nbre etages)

Consultation (numero_Consultation, date_Consultation, #num_ordre, #num_ss)

Prescrit (numero_Consultation, numero_Medicament, posologie_Prescrit)

Medicament (numero_Medicament, libelle_Medicament)

Exercice 6

Le responsable du master GG désire développer une application Web pour la gestion des informations sur les étudiants inscrits dans l’option et les anciens étudiants de l’option.

Les informations à conserver sont les coordonnées (nom, prénom, adresse, email, mot de passe, abandon ou suspension), le cheminement dans le cursus (cours suivi, et notes ainsi que les cours à suivre), les informations sur le mémoire (titre, directeur(s), lecteurs, date d’obtention, note). Pour les anciens étudiants on voudrait également conserver les coordonnées et les emplois actuels et anciens.

Les modifications aux données sont régies par les règles suivantes :

–  Le responsable de l’option peut modifier toutes les données;

–  Les étudiants peuvent mettre à jour leurs coordonnées, le cursus à suivre et suivi, les notes obtenues aux cours suivis (le système n’est pas connecté au système de l’École et les notes sont là uniquement pour information du responsable de l’option) ainsi que les informations sur leurs emplois.

Le système doit mémoriser la date de la dernière modification au cursus faite par un étudiant pour que le responsable puisse consulter les modifications.

Seul le responsable d’option et l’étudiant concerné peuvent consulter les informations concernant le cursus.

On désire pouvoir, pour les personnes autorisées, envoyer un courriel aux étudiants actuels et/ou aux anciens étudiants.

On désire également publier, pour le grand public, l’annuaire des anciens de l’option DataScience ainsi que la liste des étudiants actuellement dans le cursus.

Vous ajouterez toutes les informations qui vous sembleraient nécessaires à la construction du diagramme E/A puis le schéma relationnel.

Attention à ne pas vouloir tout écrire dans le modèle E/A, les droits en lecture, écriture et modification seront mis en place selon les profils des utilisateurs

L’envoi des mails ne fait pas partie des structures de données mais des actions à mener. Il faut juste s’assurer que les données seront présentes pour le réaliser.