Académique Documents
Professionnel Documents
Culture Documents
Cours Info.294
Cours Info.294
DE BORDEAUX
DEPARTEMENT ENTREPRISE ET SYSTEME
UNITE DE FORMATION INFORMATIQUE
~o~O~o~
EXERCICES D’ELABORATION DE
MODELES DE DONNEES
CORRIGES
Septembre 2005
Jérôme STEFFE
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 1
EXERCICE 1
GESTION DES DOSSIERS COMPTABLES D’UN CENTRE DE GESTION
Choix de gestion :
- On considère que la commune et la ville sont des homonymes
- Le nom du directeur de l’agence n’est donné qu’à titre indicatif et aucun
renseignement complémentaire sur le directeur n’est nécessaire
- On ne gère pas l’historique de la SAU sur l’exploitation
- On ne gère que le commune du siège social de l’exploitation
Diagramme de classes
COMMUNE
Id commune : int
Nom commune : String
1..1 1..1
LOCALISER DANS
SITUER SUR 0..*
AGENCE
0..*
Id agence : String
Nom agence : String
EXPLOITATION
Directeur : String
Id exploitation : String
Nom exploitation : String
SAU : double 1..1
1..* TRAVAILLER
GERER
1..*
1..1
COMPTABLE
ID comptable : String
Nom comptable : String
Date naissance : Date
No tél : String
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 2
Modèle physique des données
COMMUNE
Id commune INTEGER <pk>
Nom commune NOTE
FK_AGENCE_LOCALISER_COMMUNE
FK_EXPLOITA_SITUERSUR_COMMUNE
AGENCE
Id agence NOTE <pk>
EXPLOITATION Id commune INTEGER <fk>
Nom agence NOTE
Id exploitation NOTE <pk>
Directeur NOTE
Id commune INTEGER <fk2>
ID comptable NOTE <fk1>
Nom exploitation NOTE
SAU NUMERIC
FK_COMPTABL_TRAVAILLE_AGENCE
FK_EXPLOITA_GERER_COMPTABL
COMPTABLE
ID comptable NOTE <pk>
Id agence NOTE <fk>
Nom comptable NOTE
Date naissance DATE
No tél NOTE
EXERCICE 2
Choix de gestion :
- L’unité géographique retenue pour la gestion des logements est le quartier et on
considère que chaque commune possède au moins un quartier.
- On ne s’intéresse qu’aux signataires du contrat uniquement et pas aux locataires
- Les logements inoccupés font également partie de la gestion
- L’historique des occupations des logements n’est pas utile
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 3
Nom Commentaire Entité Type Identifi
ant
N°téléphone Individu A12 Non
N° logement No artificiel Logement I Oui
No Logement A5 Non
Rue Logement A60 Non
Superficie Logement N Non
Loyer Logement N Non
Id quartier No artificiel Quartier I Oui
Libellé quartier Quartier A35 Non
Type logement Classifie le logement en fonction Type logement A25 Oui
du nb de pièces (ex : T1, T2)
Charges forfaitaires Montant forfaitaire appliqué en Type logement N Non
fonction du type (ex : 200F pour
un studio).
Diagramme de classes
1..1 Logement
Occuper
No logement : int
no : String 0..* Correspondre
Individu 1..1
No individu : int
0..* Type logment
Nom : String
Prenom : String Code type : String
Date naissance : Date Libellé type : String
tel : String Situer
1..1
Quartier
Commune
No quartier : int
No commune : int
Libellé quartier : String 1..* Nom commune : String
Appartenir Distance agence : double
1..1 Nb habitants : double
Logement
No logement INTEGER <pk>
No quartier INTEGER <fk2>
Code type NOTE <fk1>
no NOTE
rue NOTE
Individu superficie NUMERIC
Quartier
Commune
No quartier INT EGER <pk>
No commune INT EGER <fk> No commune INTEGER <pk>
Libellé quartier NOTE Nom commune NOT E
Distance agence NUMERIC
Nb habitants NUMERIC
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 4
EXERCICE 3
Choix de gestion :
- On ne gère pas l’historique de la SAU des exploitations
- L’information commune n’est donnée qu’à titre indicatif.
Solution :
PERIODE
Id période : int
Date debut : Date
Date fin : Date
DROIT
Id droit : String
1..1 Libellé droit : String
Unité : String
1..1
EST VALABLE POUR
EXPLOITATION
ATTRIBUER
Id exploitation : String
Nom exploitation : String
1..1
Commune : String
1..* 1..*
SAU : double
POSSEDER
VALEUR DROIT
Identifiant valeur : short
0..*
Montant droit : double
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 5
Modèle physique des données
Solution :
PERIODE
Id période INTEGER <pk>
Date debut DATE
Date fin DATE
DROIT
Id droit NOTE <pk>
Libellé droit NOTE
Unité NOTE
EXPLOITATION
Id exploitation NOTE <pk>
Nom exploitation NOTE
Commune NOTE VALEUR DROIT
SAU NUMERIC Identifiant valeur SMALLINT <pk>
Id période INTEGER <fk3>
Id droit NOTE <fk2>
Id exploitation NOTE <fk1>
Montant droit NUMERIC
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 6
EXERCICE 4
GESTION DES RENDEMENTS DES PARCELLES D’UNE EXPLOITATION
Choix de gestion :
- Les coordonnées géographiques ne sont fournies qu’à titre indicatif
- On ne n’intéresse ici qu’aux parcelles culturales
- On considère que le liste des éléments d’un engrais peut s’élargir à d’autres que les N,
P et K.
- La jachère est considérée comme une production particulière
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 7
Diagramme de classes
CULTURE
Identifiant culture : short
Date début : Date
Date fin : Date
Qté récoltée : double
0..*
1..* CONCERNER
UNITE
PRODUIRE 1..1 1..1
UNité : String
Production GERER
1..1
Parcelle Code production : short
0..* 1..1
Nom production : String
1..1
No parcelle : short
Surface : double
Nom parcelle : String AVOIR
Coordonnées : String
0..*
0..1 Engrais
Id engrais : double
EPANDRE Nom engrais : String
Correspondre
EPANDRE 0..1
0..*
1..* 0..*
EPANDRE
no epandage : int
1..* Qté épandue : double POSSEDER
EPANDRE
0..*
0..1 0..*
POSSEDER
Valeur : double ELEMENT CHIMIQUES
Date
Code élément : String
Date : Date
Libellé élément : String
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 8
Modèle physique des données
CULTURE
Identifiant culture SMALLINT <pk>
Code production SMALLINT <fk2>
No parcelle SMALLINT <fk1>
Date début DAT E
Date fin DAT E
Qté récoltée NUMERIC
UNITE
UNité NOTE <pk>
Production
Code production SMALLINT <pk>
Parcelle UNité NOT E <fk>
No parcelle SMALLINT <pk> Nom production NOT E
Surface NUMERIC
Nom parcelle NOTE
Coordonnées NOTE
Engrais
Id engrais NUMERIC <pk>
UNité NOTE <fk>
Nom engrais NOTE
EPANDRE
no epandage INTEGER <pk>
No parcelle SMALLINT <fk2>
Id engrais NUMERIC <fk1>
Date DAT E <fk3>
Qté épandue NUMERIC
POSSEDER
Code élément NOTE <pk,fk1> ELEMENT CHIMIQUES
Date Id engrais NUMERIC <pk,fk2>
Valeur NUMERIC Code élément NOT E <pk>
Date DATE <pk>
UNité NOT E <fk>
Libellé élément NOT E
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 9
EXERCICE 5
GESTION D’UN CLUB DE CHASSE SOUS-MARINE
Choix de gestion :
- Une chasse est toujours individuelle
- Toutes les sorties réalisées le même jour sont comptabilisées dans une et une seule
chasse
Diagramme de classes
CHASSE
Id_chasse : int CHASSEUR
Réaliser
Date chasse : Date 0..* 1..1 Id chasseur : int
Pseudo : String
Date naissance : Date
1..*
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 10
Modèle physique des données
CHASSE
Id_chasse INTEGER <pk> CHASSEUR
Id chasseur INTEGER <fk>
Date chasse DAT E Id chasseur INTEGER <pk>
Pseudo NOTE
Date naissance DAT E
NIVEAU TIR
Code niveau NOT E <pk>
Libellé niveau NOT E
T irer Nb de points SMALLINT
Id_chasse INT EGER <pk,fk1>
Id espèce INT EGER <pk,fk2>
Nb poissons SMALLINT
ESPECE
Id espèce INTEGER <pk>
Code niveau NOTE <fk>
Nom espèce NOTE
Poids moyen NUMERIC
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 11
EXERCICE 6
GESTION DES COURSES HIPPIQUES
Choix de gestion :
- Un jockey peut être propriétaire
- On ne gère pas l’historique du nombre de places dans un champ de course
- On ne gère que les jockeys ayant participé à une course.
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 12
Diagramme de classes
CHAMP DE COURSE
Id champ course : int
Nom du champ de course : String
Nombre de places : double
1..*
1..1
ACCUEILLIR
ACCUEILLIR
1..*
1..*
CATEGORIE DE COURSES
COURSE Id catégorie : int
1..*
Libellé catégorie : String
Identifiant course : String APPARTENIR 1..1
Désignation course : String
1..1
COMPORTER
1..* EPREUVE
Identifiant épreuve : short
INDIVIDU Dotation : double
Identifiant individu : double Date épreuve : Date
Nom individu : String
Prénom individu : String
PARTICIPER
0..* 0..1
No participation : int 1..*
1..1 PARTICIPER Numéro de dossard : short PARTICIPER
0..1
Place : short
1..*
PARTICIPER
EST PROPRIETAIRE DE EST PARENT DE
0..*
0..1 est parent de
CHEVAL
Identifiant cheval : short
0..* Nom cheval : String 0..*
Date naissance : Date est enfant de
Sexe : String
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 13
Modèle physique des données
CHAMP DE COURSE
Id champ course INTEGER <pk>
Nom du champ de course NOTE
Nombre de places NUMERIC
ACCUEILLIR
Id catégorie INTEGER <pk,fk1>
Id champ course INTEGER <pk,fk2>
CATEGORIE DE COURSES
COURSE
Id catégorie INTEGER <pk>
Identifiant course NOTE <pk>
Libellé catégorie NOTE
Id champ course INTEGER <fk1>
Id catégorie INTEGER <fk2>
Désignation course NOTE
EPREUVE
Identifiant épreuve SMALLINT <pk>
Identifiant course NOTE <fk>
INDIVIDU Dotation NUMERIC
Date épreuve DATE
Identifiant individu NUMERIC <pk>
Nom individu NOTE
PARTICIPER
Prénom individu NOTE
No participation INTEGER <pk>
Identifiant épreuve SMALLINT <fk1>
Identifiant individu NUMERIC <fk2>
Identifiant cheval SMALLINT <fk3>
Numéro de dossard SMALLINT
Place SMALLINT
EST PARENT DE
Identifiant cheval SMALLINT <pk,fk1>
CHE_Identifiant cheval SMALLINT <pk,fk2>
CHEVAL
Identifiant cheval SMALLINT <pk>
Identifiant individu NUMERIC <fk>
Nom cheval NOTE
Date naissance DATE
Sexe NOTE
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 14
EXERCICE 7
GESTION DES CONCOURS D’APPRENTIS MENUISIERS
Diagramme de classes
ETRE TUTEUR DE
0..1
CONCOURS
INDIVIDU
No concours : double
Code individu : String 0..* Nom concours : String
Nom : String Lieu : String
Prénom : String Date : Date
Dotation : double
1..1
1..1
Obtenir
Concerner
0..* 1..*
PARTICIPATION
Id participation : double
Nb points obtenus : double
Nom objet réalisé : String
ETRE T UT EUR DE
0..1
CONCOURS
INDIVIDU
No concours : double
Code individu : String 0..* Nom concours : String
Nom : String Lieu : String
Prénom : String Date : Date
Dotation : double
1..1
1..1
Obtenir
Concerner
0..* 1..*
PARTICIPATION
Id participation : double
Nb points obtenus : double
Nom objet réalisé : String
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 15
EXERCICE 8
GESTION DU PARCOURS DU COMBATTANT
Choix de gestion :
- Il n’y a pas de transition entre les obstacles. Le temps total pour le parcours est donc la
somme des temps obtenus sur chacun des obstacles.
Diagramme de classes
PARTICIPATION
N° participation : double
Date : Date 1..*
0..*
OBSTACLE
Avoir
Avoir
1..1
NIVEAU DIFFICULTE
1..1
Code niveau : String
SOLDAT Passer Libellé niveau : String
Bonus : double
Matricule : String Note instructeur : double
Nom : String Temps : Date
Prenom : String
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 16
Modèle physique des données
PARTICIPATION
N° participation NUMERIC <pk>
Matricule NOT E <fk>
Date DATE
OBSTACLE
Nom obstacle NOT E <pk>
Code niveau NOT E <fk>
Note mini NUMERIC
NIVEAU DIFFICULTE
Code niveau NOTE <pk>
SOLDAT Libellé niveau NOTE
Passer Bonus NUMERIC
Matricule NOT E <pk>
N° participation NUMERIC <pk,fk1>
Nom NOT E
Nom obstacle NOTE <pk,fk2>
Prenom NOT E
Note instructeur NUMERIC
Temps DAT E
EXERCICE 9
GESTION DES TEMPS DE TRAVAUX
Choix de gestion :
- On ne gère pas l’historique des types d’agent
- Un agent ne peut être que d’un et d’un seul type
- Un sous-type de travail n’appartient qu’à un seul type de travail
- Si 2 agents travaillent ensemble, on individualisera leurs interventions.
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 17
Diagramme de classes
CODE T VA
Concerner
Code tva : String
Libellé code T VA : String T aux TVA : double
VILLE
No ville : int 1..1 1..*
Nom ville : String
Concerner
Classifier 1..*
1..1
PERIODE
Situer dans Id période : int
1..* 1..* Date début période : Date
0..* Date fin période : Date
TYPE T RAVAIL Associer
0..*
CODE TVA
Concerner
Code tva NOTE <pk>
Id période INTEGER <pk,fk1>
Libellé code TVA NOTE
Code tva NOTE <pk,fk2>
Taux TVA NUMERIC
VILLE
No ville INTEGER <pk>
Nom ville NOTE
TYPE TRAVAIL
PERIODE
Id type travail NOTE <pk>
Code tva NOTE <fk> Id période INTEGER <pk>
Libellé type travail NOTE Date début période DATE
Date fin période DATE
ACTEUR
no acteur SMALLINT <pk>
Id catégorie d'agent NOTE <fk1>
No ville INTEGER <fk2> Associer
Nom NOTE
Id période INTEGER <pk,fk1>
No NOTE
Id type travail NOTE <pk,fk2>
Rue NOTE
Coût horaire HT NUMERIC
Code postal NOTE
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 18