TD 6 MCD « modèle entité association »

Download Report

Transcript TD 6 MCD « modèle entité association »

Corrigé TD 6 MCD « modèle entité association »
Exercice 1
Médecin
Médecin
Médecin
37
Allouche
14
Mohamed
02
Meddour
110, Place des
Debouz Leila
martyrs
Mouloud 333, Commune
43
110, pla 39
Maitre assist
Maitre assist
48
Médecin
Code
Nom
Prénom
Adresse
Age
grade
Médecin
01
Mokhtar
Ali
23, rue la
Professeur
45
Maître assist
…
.
Dans ce schéma, il est présenté :
 A gauche, une entité nommée MEDECIN et ayant pour identifiant la propriété code. Les
autres propriétés de cette entité sont Nom, Prénom, Adresse, Age et Grade.
 A droite, les occurrences de l’entité MEDECIN (ne sont présentées que quatre).
Il est présenté aussi les occurrences des différentes propriétés, y compris l’identifiant. Nous
avons :
 Les différentes occurrences de l’identifiant sont : 01, 02, 14 et 37.
 Les différentes occurrences de la propriété Nom sont : Mokhtar, Debouz, Meddour et
Allouche.
Exercice 2
jouer
Match
Code
Nom
Lieu
score
gagner
Joueur
n-jo
Nom
Prénom
Age
nationalité
1. Le schéma représente un MCD (ou, un diagramme E-A), composé de 2 entités
(MATCH, JOUEUR) et de deux associations binaires (Jouer, Gagner). L’entité MATCH a
pour propriétés code (c’est l’identifiant), Nom, Lieu et Score. L’entité JOUEUR a pour
propriétés N-Joueur (c’est l’identifiant), Nom, Prénom, Age et Nationalité.
Dans ce schéma, on peut lire :
a. Un match est joué par un (des) joueur(s), un joueur joue dans un (plusieurs)
match(s).
b. Un match est gagné par un (des) joueurs (s), un joueur gagne un (plusieurs)
match(s).
2. Cardinalité (dans le cas où on est dans un match de tennis) :
a. Si les matchs sont joués en simple exclusivement : un match est joué à deux, il n’y
a qu’un seul gagnant, chaque joueur peut jouer plusieurs matchs (au moins 1,
puisqu’il est déjà dans le tournoi) et chaque joueur peut gagner plusieurs matchs
comme il ne peut n’en gagner aucun : donc la cardinalité de l’association Jouer est
2,2 côté MATCH, et 1,N côté JOUEUR ; et la cardinalité de l’association Gagner est
1,1 côté MATCH, et 0,N côté JOUEUR.
b. Si les matchs sont joués en simple et en double : un match est joué à deux ou à
quatre, il peut y avoir un seul gagnant (dans le cas des matchs en simple), comme
il peut y avoir deux gagnants (dans le cas des matchs en double), chaque joueur
Avril 2014/ MrBouchama
Page 1
Corrigé TD 6 MCD « modèle entité association »
peut jouer plusieurs matchs (au moins 1, puisqu’il est déjà dans le tournoi) et
chaque joueur peut gagner plusieurs matchs comme il ne peut n’en gagner aucun :
donc la cardinalité de l’association Jouer est 2 ou 4 côté MATCH, et 1,N côté
JOUEUR ; et la cardinalité de l’association Gagner est 1,2 côté MATCH, et 0,N côté
JOUEUR.
Exercice 3
Les salariés d'une société sont caractérisés par un code et un nom ; chaque salarié habite dans
une ville et travaille dans une ville. Les villes sont caractérisées par un code et un nom.
Trois entités : salarié, établissement, ville. Trois associations : habite, travaille, se
trouve.
etablissement
code
travaille
nom
1,n
raison
adresse
<Indéfini>
telephone
1,1 <Indéfini>
...
<Indéfini>
<Indéfini>
<Indéfini>
<Indéfini>
salarié
code
nom
prénom
age
fonction
salaire
...
habite
1,1
1,1
<Indéfini>
<Indéfini>
<Indéfini>
<Indéfini>
se trouve
<Indéfini>
ville
code
nom
...
0,n
0,n
<Indéfini>
<Indéfini>
Exercice 4
Au service de l'administration :
 Chaque ordinateur est identifié par un N° d'inventaire crée par l'intendant.
 Sa date d'achat doit être conservée, ainsi que son nom générique et sa marque.
 Les informations courantes sur le fournisseur de l'ordinateur sont notées.
 Le type de garantie : pièces, la date de signature, sa durée sont indispensables.
 Un contrat peut couvrir plusieurs ordinateurs et a un coût forfaitaire.
 Un contrat est toujours signé auprès d'une société dont on désire garder toutes les
coordonnées. Celle-ci est bien souvent le fournisseur. Présentez le MCD
fournisseur
code
nom
prénom
adresse
tel
...
1,n
<Indéfini>
<Indéfini>
<Indéfini>
fournit
<Indéfini>
<Indéfini>
1,1
avoir
piece
1,1
1,n
ordinateur
N invent
date achat
nom generique
marque
...
signer-aupres
1,1
1,1
contrat
N contrat
date signature
cout forfitaire
...
0,n
Avril 2014/ MrBouchama
<Indéfini>
<Indéfini>
<Indéfini
N piece
nom
cout
...
1,1
<Indéfini>
1,n
<Indéfini>
<Indéfini>
<Indéfini>
assure
garantie
N garantie
type
duree
<Indéfini>
0,n
<Indéfini>
<Indéfini>
couvrir
Page 2
Corrigé TD 6 MCD « modèle entité association »
Exercice 5
Classe
Code
Nbre_eleve
inscrit
Professeur
n-prof
Nom
Prénom
enseigne
Elève
matricule
matière
numéro
nom
Suit
1. les propriétés de l’entité élève.
Comme nom, prénom, date naiss, adresse (voir schéma ci-dessous)
2. Donnez des exemples de matières (occurrences)
matiere1
311
histoire
2
...
matiere2
matiere10
matiere3
101
<Indéfini>
402
<Indéfini>
maths <Indéfini>physique
<Indéfini>
4
<Indéfini>
<Indéfini> 2
...
<Indéfini>
<Indéfini>
211
<Indéfini>
<Indéfini> anglais
1
<Indéfini>
<Indéfini>
3. Envisagez l'hypothèse où une matière dans une classe peut être enseignée que par deux
Professeurs (cours + exercices).
Le MCD n’est pas valide pour cette requête car pour une matière on peut lister tous les
professeurs mais on ignore les classes dont y sont rattachées.
Validation : Remplacer les associations (suit et enseigne) par une association ternaire
enseigne avec une propriété type-séance
4. Présentez le MCD complet.
eleve
matricule
nom
prénom
date naiss
lieu naiss
adresse
tel
...
avoir_prof_principal
<Indéfini>
<Indéfini>
<Indéfini>
inscrit
1,1
<Indéfini>
<Indéfini>
1,1
1,n
<Indéfini>
classe
code
nbre eleve
0,n
professeur
<Indéfini>
enseigne
1,n
0,n
type-seance
<Indéfini>
<Indéfini>
1,n
matiere
numero
nom
coeff
<Indé
<Indéfin
<Indéfini>
N prof
nom
prénom
age
adresse
tel
mail
...
<
<Indéfini>
<Indéfini>
<Indéfini>
Exercice 6
Présentez un MCD qui vous permettrait de gérer l'ensemble de toutes les évaluations de vos
élèves, sachant que :
 Vous avez plusieurs classes.
 Vous enseignez éventuellement plusieurs matières.
 A la veille de chaque conseil de classe (3 dans l'année) vous voulez conserver la
moyenne trimestrielle de chaque élève.
Avril 2014/ MrBouchama
Page 3
Corrigé TD 6 MCD « modèle entité association »
inscrit
eleve
classe
<Indéfini>
<Indéfini>
1,1
<Indéfini>
<Indéfini>
<Indéfini>
matricule
nom
prénom
date naiss
lieu naiss
adresse
tel
...
code
nbre eleve
1,n
<Indéfini>
<Indéfini>
1,n
avoir note
note
...
1,n
matiere
<Indéfini>
numero
nom
coeff
1,n
trimestre
1,n
<Indéfini>
<Indéfini>
enseigne
type-seance
1,n
<Indéfini>
<Indéfini>
<Indéfini>
<Indéfini>
date
...
Exercice 7 : Gestion de films
On vous fourni le modèle conceptuel des données suivant. Il comporte des erreurs.
FILM
ANNEE DE REALISATION
Année
Est realise en
1,n
1,1
Code
Titre
Duree
Resume
Genre
1,1
SUPPORT
Appartient
1,n
CodeSupport
Support
1,1
Joue
1,n
ACTEUR
CodeActeur
NomActeur
PrenomActeur
Photo
Nationalite
1. Modifier le modèle afin de le rendre cohérent
Les changements sont : cardinalité 1, n (film- acteur), cardinalité 1, n (film –
support).
2. Expliquer brièvement les changements
Dans Un film participent plusieurs acteurs et donc 1, n au lieu de 1,1
Un film long peut être stocké sur deux voir plusieurs supports, ceci est courant en cas
d’utilisation des anciens types de supports (K7, 33 trs, CD…..) et donc 1, n pour cardinalité.
Avril 2014/ MrBouchama
Page 4
Corrigé TD 6 MCD « modèle entité association »
Exercice 8 : Agence de voyage
Une agence de voyage utilise un logiciel de gestion de clientèle, qui repose sur une base de
données dont un extrait vous est présenté ci-dessous.
Afin de faire évoluer l’application, on a besoin de représenter dans la base de données les
différentes réservations des clients pour les vols charters.
Un vol est caractérisé par :
 Le numéro du vol, La date et l’heure de départ, La date et l’heure d’arrivée
 Les aéroports de départ et d’arrivée, La compagnie assurant le transport
Un même client peut réserver plusieurs places (adulte ou enfant) sur un même vol, mais toutes
les places concernent une même classe (Affaire ou tourisme) pour un même client. Un vol est
assuré par une compagnie arienne.
HOT EL
VOYAGE
Reference Hotel
Nom Hotel
Adresse Hotel
Categori e Hotel
Etape
0,n
Reference Voyage
Date debut
Date fi n
1,n
Nom bre j ours
0,n
effectue
0,n
CLIENT
Identi fi ant cl i ent
Nom cl i ent
Prenom cl i ent
Adresse cl i ent
T el ephone cl i ent
1. Expliquer le MCD
Ce schéma comporte des données utilisées par une agence de voyage. Dans cette
agence, le client peut effectuer des voyages et réserver dans des hôtels.
Description
Trois entités : client, voyage, hôtel
Deux associations : effectue et étape
Des propriétés dans chaque entité + nombre jours dans étape.
Interprétation des associations
Un client peut effectuer plusieurs voyages. .Un voyage peut être effectué par plusieurs
clients.
Un voyage est réalisé sur plusieurs étapes ou chaque étape doit réserver un hôtel. Un
hôtel peut être étape de plusieurs voyages.
2. Modifier le MCD fourni afin d’y modéliser les nouvelles données.
1,1
client
0,
n
Réserver
Place
Numéro
Type
classe
1,
1
appartient
1,n
Vol
Numéro
D_H_départ
D_H_arrivé
Aerp_départ
Aerp_arrivée
compagnie
Compagnie : peut être éclatée en nouvelle entité, si on gère les propriétés de la compagnie
aérienne dans ce système. La propriété type peut avoir deux valeurs : enfant ou adulte.
Avril 2014/ MrBouchama
Page 5
Corrigé TD 6 MCD « modèle entité association »
Exercice 9
1. Exprimer en quelques phrases en langage naturel la réalité décrite par le MCD précédent.
Ce MCD représente les données d’un système dans la gestion des projets.
Les clients commandent des projets constitués de taches. Ces taches sont effectuées par
des salariés de ce système, en utilisant de matériels.
2. Quelle est l'information exprimée par l'association "compose".
C’est une association réflexive (lie les occurrences de la même entité). L’interprétation se
fait dans les deux sens du lien :
a- composé : un matériel peut être composé de plusieurs autres matériels
exemples : un ordinateur est composé de : boitier, carte, câble, vis…
Le vis n’est composé d’aucun matériel (matériel élémentaire).
b- composant : un matériel peut être composant de plusieurs autres matériels.
Exemples : le vis composent : ordinateur, clavier, table, chaise….
L’ordinateur ne compose aucun autre matériel (produit fini)
3. Modifier et/ou compléter le MCD ci dessus pour prendre en compte les besoins suivants :
a. Un salarié peut participer à plusieurs tâches et une tâche peut impliquer plusieurs salariés,
chacune ayant une date de début et une date de fin d'intervention dont on souhaite garder
la trace.
Cardinalités : 0-n (salarié- tache), 0-n (tache- salarié)
Les propriétés : date_debut, date_fin : dans l’entité tache (pas de répétions de taches dans
les projets question b)
b. Un projet comporte plusieurs tâches alors qu'une tâche fait partie d'un seul projet. Aucune
tâche ne peut être envisagée en dehors d'un projet.
Cardinalité : 1-n (projet- tache), 1-1 (tache-projet), car une tache c’est un projet.
c. Pour faciliter la gestion des projets, on souhaite s'adresser à un seul client pour un projet
donné.
Cardinalité : 1-1 (projet- client)
d. On souhaite connaître pour chaque salarié l'encadreur dont il dépend et pour chaque
salarié encadreur les salariés qui lui sont rattachés.
Créer une association réflexive « encadre » reliant l’entité salarié ayant comme
cardinalité :
Coté encadreur 0-n : un salarié peut être l’encadreur de plusieurs autres salariés.
Coté encadré : 0-1 :un salarié peut être encadré par un seul encadreur.
e. Un salarié peut participer à une ou plusieurs activités de la société. Chaque équipe est
identifiée par un numéro unique et a un domaine de spécialisation.
Rajouter une entité « équipe ou activité » et une association « appartient » entre les entités
équipe et salarié, ayant comme cardinalité 1-n (équipe) et 0-n (salarié).
Est ce que le MCD ci dessus permet de connaître le salarié qui coordonne un projet. Si la
réponse est non, proposer une solution permettant de prendre en compte ce besoin.
Il existe un lien indirect entre projet et salarié en transitant par tache. Ce lien donne
l’information suivante : un projet contient plusieurs taches, et chacune d’elles est exécutée par
plusieurs salariés et donc il affichera la liste de tous les salariés qui participent dans un projet,
d’où l’invalidité.
La question peut être valide si la coordination est vue comme tache par le système.
Validation : créer une association « coordonne » liant salarié au projet.
Cardinalité : 1-1 (projet-salarié), 0-n (salarié- projet).
Avril 2014/ MrBouchama
Page 6