Vous êtes sur la page 1sur 18

ECOLE NATIONALE DES INGENIEURS DES TRAVAUX AGRICOLES

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

Liste des informations retenues dans le modèle :


Nom Commentaire Entité Type Identifi
ant
ID comptable No artificiel Comptable A5 O
Nom comptable Comptable A30
Date naissance Comptable D
No tél Comptable A15
Id commune Commune I O
Nom commune Commune A30
Id agence No artificiel Agence A5 O
Nom agence Agence A40
Directeur Agence A30
Id exploitation No artificiel Exploitation A5 O
Nom exploitation Exploitation A25
SAU Exploitation N

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

GESTION DES LOGEMENTS DANS UNE AGENCE IMMOBILIERE

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

Liste des informations retenues dans le modèle :

Nom Commentaire Entité Type Identifi


ant
Id commune No artificiel Commune I Oui
Nom commune Commune A45 Non
Distance agence Distance moyenne d’une ville par Commune N Non
rapport à l’agence
Nombre d'habitants Commune N Non
N°identification No artificiel Individu I Oui
Nom Individu A35 Non
Prenom Individu A30 Non
Date de naissance Individu D Non

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

0..* rue : String


superficie : double

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

Modèle physique des données

Logement
No logement INTEGER <pk>
No quartier INTEGER <fk2>
Code type NOTE <fk1>
no NOTE
rue NOTE
Individu superficie NUMERIC

No individu INT EGER <pk>


No logement INT EGER <fk> T ype logment
Nom NOT E
Prenom NOT E Code type NOTE <pk>
Date naissance DATE Libellé type NOTE
tel NOT E

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

GESTION DES DROITS A PRODUIRE D’UNE EXPLOITATION

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.

Liste des informations retenues dans le modèle :

Nom Commentaire Entité / association Type Identifi


ant
Id droit No artificiel Droit A5 Oui
Libellé droit Représente un quota. Ex : quota Droit A30 Non
laitier, droit de plantation.
Unité Droit A20 Non
Id exploitation Exploitation A5 Oui
Nom exploitation Exploitation A30 Non
Commune Exploitation A30 Non
SAU Exploitation N Non
Id période No artificiel Période I Oui
Date début Période D Non
Date fin Période D Non
Valeur Droit Posséder (A) D Non

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

Liste des informations retenues dans le modèle :

Nom Commentaire Entité / association Type Identifi


ant
Identifiant culture No artificiel Culture SI Oui
Date début Culture D Non
Date fin Culture D Non
Qté récoltée Culture N Non
Date Date D Oui
Code élément Elément chimique A5 Oui
Libellé élément Ex : N, P ou K Elément chimique A20 Non
Id engrais Engrais N Oui
Nom engrais Engrais A20 Non
No parcelle No artificiel Parcelle SI Oui
Surface Parcelle N Non
Nom parcelle Parcelle A20 Non
Coordonnées A titre d’information : les Parcelle A20 Non
coordonnées GPS
Code production Production SI Oui
Nom production Production A20 Non
Unité Ex : ha, Q , kg … Unité A20 Oui
Valeur Ex : proportion d’un élément dans Posséder (A) N Non
un engrais
Qté épandue Epandre (A) N non

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

Liste des informations retenues dans le modèle :


Nom Commentaire Entité / association Type Identifi
ant
Id chasseur No artificiel Chasseur I Oui
Pseudo Chasseur A25 Non
Date naissance Chasseur D Non
Id_chasse No artificiel Chasse I Oui
Date chasse Chasse D non
Id espèce No artificiel Espèce I Oui
Nom espèce Espèce A20 Non
Poids moyen Espèce N Non
Code niveau Code artificiel Niveau tir A5 Oui
Libellé niveau Ex : facile, moyen, difficile Niveau tir A25 Non
Nb de points Tirer (A) SI Non

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..*

Tirer NIVEAU TIR


Code niveau : String
Libellé niveau : String
Tirer 1..1 Nb de points : short

Nb poissons : short 0..*


Classifier
ESPECE
1..*
Id espèce : int
Nom espèce : String
Poids moyen : double

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.

Liste des informations retenues dans le modèle :

Nom Commentaire Entité / association Type Identifi


ant
Id catégorie No artificiel Catégorie I Oui
Libellé catégorie Catégorie A20 Non
Id champ course No artificiel Champ de course I Oui
Nom du champ de Champ de course A25 Non
course
Nombre de places Champ de course N Non
Identifiant cheval No artificiel Cheval SI Oui
Nom cheval Cheval A30 Non
Date naissance Cheval D Non
Sexe Cheval A1 Non
Identifiant course No artificiel Course A5 Oui
Désignation course Course A25 Non
Identifiant épreuve No artificiel Epreuve SI Oui
Dotation Epreuve N Non
Date épreuve Epreuve D Non
Identifiant individu No artificiel Individu N Oui
Nom individu Individu A25 Non
Prénom individu Individu A35 Non
Numéro de dossard No commun au cheval et au Participer (A) SI Non
jockey lors d’une épreuve
Place Place obtenue à l’issue d’une Participer (A) SI Non
épreuve

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

Modèle physique des données

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.

Liste des informations retenues dans le modèle :

Nom Commentaire Entité / association Type Identifi


ant
Code niveau Code artificiel Niveau difficulté A5 Oui
Libellé niveau Ex : facile, moyen, difficile Niveau difficulté A20 Non
Bonus Bonus relatif au niveau de Niveau difficulté N Non
difficulté
Nom obstacle Obstacle A30 Oui
Note mini Obstacle N Non
N° participation No artificiel Participation N Oui
Date Participation D Non
Matricule No de matricule du soldat Soldat A20 Oui
Nom Soldat A30 Non
Prénom Soldat A40 Non
Note instructeur Note attribuée par l’instructeur au Passer (A) N Non
passage d’un obstacle
Temps Temps réalisé sur le passage d’un Passer (A) D non
obstacle

Diagramme de classes

PARTICIPATION
N° participation : double
Date : Date 1..*

0..*
OBSTACLE

0..* Passer Nom obstacle : String


Note mini : double 0..*

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.

Liste des informations retenues dans le modèle :


Nom Commentaire Entité Type Identifi
ant
no acteur No artificiel ACTEUR SI Oui
Nom ACTEUR A50 Non
No ACTEUR A5 Non
Rue ACTEUR A50 Non
Code postal ACTEUR A8 Non
Code ville No artificiel VILLE A8 Oui
Nom ville VILLE A8 Non
Id catégorie d'agent No artificiel CATEGORIE AGENT A5 Oui
Catégorie d'agent Ex : comptable, informaticien CATEGORIE AGENT A45 Non
Code tva CODE TVA A5 Oui
Libellé code TVA CODE TVA A45 Non
No intervention No artificiel INTERVENTIONS SI Oui
Date INTERVENTIONS D Non
Heure début INTERVENTIONS T Non
Heure fin INTERVENTIONS T Non
Id période No artificiel PERIODE I Oui
Date début période PERIODE D Non
Date fin période PERIODE D Non
Id sous type No artificiel SOUS TYPE TRAVAIL A5 Oui
Libellé sous type Ex : suivi JA, autre SOUS TYPE TRAVAIL A35 Non
Id type travail No artificiel SOUS TYPE TRAVAIL A5 Oui
Libellé type travail Ex : comptabilité TYPE TRAVAIL A35 Non
Coût horaire HT ASSOCIER (A) N Non
Taux TVA CONCERNER (A) N Non

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

ACT EUR Id type travail : String


0..*
Libellé type travail : String
no acteur : short
Nom : String
Associer
No : String
Rue : String 0..1 0..1 Coût horaire HT : double
Code postal : String Classifier

0..*

0..* 1..1 SOUS T YPE T RAVAIL


Effectuer pour client
Id sous type : String
Appartenir
Libellé sous type : String

0..1 Effectuer par agent


1..1
CAT EGORIE AGENT 0..*
Concerner
Id catégorie d'agent : String 0..*
INT ERVENT IONS
Catégorie d'agent : String 0..*
No intervention : short
Date : Date
Heure début : Date
Heure fin : Date

Modèle physique des données

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

SOUS TYPE TRAVAIL


CATEGORIE AGENT INTERVENTIONS Id sous type NOTE <pk>
Id catégorie d'agent NOTE <pk> Id type travail NOTE <fk>
No intervention SMALLINT <pk>
Catégorie d'agent NOTE Libellé sous type NOTE
Id sous type NOTE <fk2>
no acteur SMALLINT <fk1>
ACT_no acteur SMALLINT <fk3>
Date DATE
Heure début DATE
Heure fin DATE

ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 18

Vous aimerez peut-être aussi