Mthode MERISE : Niveau Conceptuel
Rponse la question : QUOI ?
COURS DE BASES DE DONNEES
Quest ce quon va grer comme
donnes, comment sont elles
organises
Modle Conceptuel de Donnes
MCD
Quest ce quon va raliser comme
traitement
Modle Conceptuel de Traitements
MCT
Luc Bouganim
La dfinition smantique des
donnes permet lapprhension
complte des informations
Mthode MERISE : Niveau Logique
Rponse la question : QUI ? QUAND ? OU ?
Description du systme,
indpendamment du logiciel SGBD
Passage automatique au modle
relationnel
Modle Logique de Donnes
MLD
Description indpendante de la
machine
Structuration en procdure
Modle Logique de Traitements
MLT
Validation et Optimisation du MLD par rapport aux traitements
La reconnaissance des traitements
fondamentaux met en vidence les
objectifs du systme
Mthode MERISE : Niveau Physique
Rponse la question : COMMENT ?, AVEC QUOI
Description interne des donnes en
fonction du logiciel SGBD
Dfinition des contraintes,
structures daccs, etc..
Modle Physique de Donnes
MPD
Description de larchitecture des
traitements
Spcifications dtailles de la
programmation (Algorithmes)
Modle Physique de Traitements
MPT
Notre dmarche
Dfinitions
1/ Dfinir lapplication (~MCT)
Entit : Objet pourvue dune existence propre
Que veut-on faire exactement
Dfinir les sorties
Client, Fournisseur, Produit sont des entits.
Association :Relation entre entits, dpourvue dexistence propre.
2/ Dfinir les donnes (~MCD)
Enseigne est une association entre lentit Prof et lentit Cours
quelles sont les donnes ncessaires ?
Comment organiser les donnes ?
Proprit : Plus petit lment dinformation caractrisant
partiellement une entit ou une association.
3/ Dfinir les requtes ncessaires pour lapplication (~MLT)
4/ Validation
Est ce que la structure choisie permet de rpondre aux requtes ?
retour en 1/ ou 2/
Nom, Code, Quantit, etc... sont des proprits
Occurrence : Valeur dune proprit, dune entit ou dune
association
Toto est une occurrence de la proprit Nom
Dupont louis 23 rue Mirbel est une occurrence de lentit Prof
Dupont 2h Math est une occurrence de lassociation Enseigne
5/ Dfinir le MLD, vrifier 4/ puis dfinir le MPD
Exemple : Profs et cours...
Exemple : Profs et cours...
Cours
Profs
Nom
Prnom
Adresse
Enseigne
NbreHeures
Profs
Crenn
Cours
NomCours
Description
Isabelle
....
Profs
Lewis
Jerry
....
Profs
Bouganim
Enseigne
9
Enseigne
5
Enseigne
26
Luc
Enseigne
.....
20
Profs
Ohana
17
Enseigne
Yollande
...
Math
.....
Cours
Info
...
Cours
Anglais
....
Cardinalits
Notre problme : Grer les notes des tudiants
Nombre minimum et maximum doccurrences dune association
pour une occurrence dentit
Elles sont indiqus sur chaque arc
Profs
Nom
0,1
Prnom
Enseigne
NbreHeures
0,1
Cours
NomCours
Description
Adresse
Profs
Nom
0,1
Prnom
Enseigne
NbreHeures
Cours
1,3
NomCours
Description
Adresse
Dtailler le problme : Que veut dire grer les notes
Que veut on faire ?
tablir les bulletins semestriels ?
tablir des bulletins provisoires ?
tablir des moyennes ?
Faire des statistiques sur plusieurs annes ?
Evaluer les notes en fonction des profs...
Premier brouillon des donnes grer...
Notes, tudiants, Cours...
Profs
Nom
Prnom
0,n
Enseigne
NbreHeures
1,n
Cours
NomCours
Description
Adresse
Profs
Nom
Prnom
1,n
Enseigne
NbreHeures
1,1
Cours
NomCours
Description
Adresse
Identifiant
Pour une entit, cest une (ou plusieurs) proprit(s) qui
dfinissent chaque occurrence de lentit
Permet de sassurer que cest une entit (et non une association).
exemples : prof, enseigne, ...
Plusieurs identifiants peuvent co-exister.
exemples : nom du prof, n de scu, code...
Pour une association, lidentifiant nexiste pas vraiment.
On dfini l identifiant dune association, comme la
concatnation des identifiants des entits associes.
exemple : pour enseigne : nom du prof, nom du cours.
Comment produire le MCD ?
Enoncer le rel avec des phrases.
Exemple pour la gestion de rendez vous (hpital)
Les patients ont des rendez vous avec des mdecins
Un patient peut avoir plusieurs RDV (voire aucun)
Un mdecin reoit plusieurs patients (voire aucun)
Patient
0,n
a un rdv
0,n
Mdecin
Un mdecin exerce dans une salle
Un mdecin nexerce que dans une seule salle
Une salle peut tre partage par plusieurs mdecins
Mdecin
1,1
Exerce
1,n
Salle
Patient
0,n
a un rdv
0,n
Mdecin
1,1
Exerce
O s'arrter ??
Salle
1,n
Pour connatre la salle, pour un rendez vous, on passe par le
mdecin....
Et si maintenant le mdecin peut exercer dans plusieurs salles ?
Patient
0,n
a un rdv
0,n
Mdecin
1,n
Exerce
Salle
1,n
Ne faire des entits que si elles ont une utilit
Comment connatre la salle dun rendez vous ??
Patient
0,n
a un rdv
0,n
Mdecin
Patient
0,n
a un rdv
0,n
Mdecin
1,n
1,n
Un tudiant obtient des notes des cours
Un tudiant habite dans une ville
Un tudiant a eu un bac dun certain type
Les tudiants sont regroups en sous groupes
Les sous groupes sont regroups en groupes
Les groupes sont regroups en promotions
OU
Salle
il y a plus dune proprits dans lentit
les entits sont lies dautres entits
Exerce
1,n
Dpend de lobjectif de la base de donnes et de lapplication
Salle
Verification du modle : (1) Identifiant
(2) Proprit rptitive ou sans signification
Une occurrence dentit peut tre identifi (sans ambiguit) grce
loccurrence dune proprit....c.a.d il existe un identifiant
Il faut vrifier que cet identifiant a bien t choisi
Pour une occurrence dentit, il ne peut y avoir quune occurrence
de chaque proprit de lentit
nom et prnom de ltudiant peut tre lidentifiant de ltudiant,
mais a peut ne pas tre suffisant....
Remarque importante
il ne faut pas concevoir le MCD en observant les donnes telles
quelles sont - par exemple lIUT tel quil est.
il faut concevoir le MCD pour le cas gnral (qui est le cas restreint
de lapplication quon se fixe) - lIUT tel quil peut tre.... et tel que
lon se prpose de le grer....
exemple: Cours ne peut tre une proprit de Prof, puisquun prof
enseigne plusieurs cours...
Remarque : Si un prof ne peut enseigner quun seul cours, cours
peut tre une proprit de prof
Une proprit ne peut tre sans signification pour une partie des
entits
exemple : si un prof ne peut enseigner quun seul cours, mais quon
a choisi de crer une entit personnel et non prof, on ne stockera
pas le cours dans lentit personnel car il serait sans signification
pour une secrtaire...
contre exemple : Tlphone et Fax pour un tudiant...
(3) Dpendance pleine des entits
(4) Respect des rgles de gestion
Les propits dune association doivent dpendre de la totalit
des entits associes. Si certaines proprits ne dpendent que
dun sous ensemble des entits, on devra
les rattacher une des entits
crer une nouvelle association associant ce sous ensemble
par exemple, lIUT:
Exemple:
1/ Un prof enseigne toujours dans la mme salle
2/ La salle dpend du prof et du cours
enseigne
Prof
Heure
Salle
Il faut vrifier que le MCD correspond bien au rel, cest dire
aux rgles fixes (celles que lapplication doit respecter)
Groupe
un prof enseigne plusieurs courss (Mme Maadani)
une matire est enseigne par plusieurs profs (info/anglais)
les notes peuvent tre donnes par nimporte quel prof ou par
plusieurs profs enseignant une matire... (info par exemple)
On peut redoubler une fois....
etc...
Cours
Les formes normales
Les formes normales sont des rgles que lon doit suivre pour
viter davoir des redondances dans notre base de donnes.
La redondance entrane une perte de place
des risques dincohrences
des difficults de mise jour
Premire forme normale
Toute proprit doit tre lmentaire.
Sinon, on introduit une complexit de traitement
Proprits lmentaires : Age, Salaire, N de rue
Proprits non-lmentaires : Adresse (complete), NSS
Attention, la notion dlmentaire dpend de lapplication.
Il existe 5 formes normales, de plus en plus complexes, de moins
en moins utiles...
Nous verrons les 3 premires (dj bien compliques)
Ladresse peut devenir lmentaire si elle est toujours manipul
comme tel (on ne cherchera jamais a faire un tri par ville)
Il nest pas gnant dclater des proprits qui devrait tre
groups, mais on ne peut grouper des proprits qui devrait tre
clates
Deuxime forme normale
Troisime forme normale
Toute proprit doit dpendre pleinement de lidentifiant (et non
dune partie de celui-ci)
sinon on introduit des redondances.
Exemple: lassociation enseigne possde comme identifiant
nomprof, nomcours, nomgroupe
1/ la salle ne dpend que du prof donc dune partie de lidentifiant
2/ la salle ne dpend que du prof et du cours....
Cette rgle rejoint la rgle 2 de vrification...
Prof
enseign
e
Heure
Salle
Groupe
Pas de dpendance transitive..
Une proprit ne peut dpendre dune autre proprit qui ne soit
pas lidentifiant.
Exemple :
Etudiant(nom, adresse, ville, pays)
Le pays dpend de la ville or lidentifiant dtudiant est le nom.
Nom
Jim
Jack
Joe
Jerry
Adresse
....
....
....
....
Ville
Paris
Paris
Mantes
Paris
Pays
France
France
France
France
Nom
Jim
Jack
Joe
Jerry
Adresse
....
....
....
....
Ville
Paris
Paris
Mantes
Paris
Ville
Mantes
Paris
Pays
France
France
Cours
Passage au niveau logique
Le modle conceptuel est un compromis entre la flexibilit de la
langue courante et la rigueur ncessaire dun traitement informatis.
Le niveau logique est une tape de plus vers cette informatisation
Utilisation du formalisme du modle relationnel :
Tables (ou relations)
attributs
domaine
clefs
contrainte dintgrit rfrentielles (relations entre tables)
Proprits, Entits
Rgle 1 : Chaque proprit devient un attribut.
Rgle 2 : Chaque entit devient une table et son identifiant
devient sa clef primaire
Rgle 3 : Une association liant plus de deux entits devient une
table dont la clef primaire est lensemble des clefs des entits
associes
Simplification du schma de la base
Des rgles trop strictes entrane des schmas trop complexes
On tolre un peu de redondances ou quelques valeurs nulles....
Rajout de mthodes daccs (index)
pour acclerer les traitements
Rgle 4 : Une association liant deux entits peut :
tre absorb par lune ou lautre des entit
devenir une table.
Cas 1
Profs
Enseigne
1,1
Nom
NbreHeures
Prnom
1,1
Un prof enseigne un et un seul
cours
Cours
NomCours
Description
Un cours est enseign par un et un
seul prof
Adresse
Nom
Bouganim
Crenn
Rousseau
Solution 1
Prnom
Luc
Isabelle
Martine
Solution 2
Nom
Bouganim
Crenn
Rousseau
Adresse
Paris
Paris
Versailles
Nom
Bouganim
Crenn
Rousseau
Prnom
Luc
Isabelle
M artine
Cas 2
NomCours
Info
Math
Droit
NomCours
Info
Math
Droit
Description
Informatique
Mathmatiques
Droit
NbreHeures
44
78
26
Nbreheures
44
78
26
Enseigne
1,1
Nom
NbreHeures
Prnom
0,1
Cours
NomCours
Description
Adresse
Nom
Bouganim
Crenn
Solution 1
Prnom
Luc
Isabelle
Adresse
Paris
Paris
Description
Informatique
M athmatiques
Droit
Nom
Bouganim
Crenn
Prnom
Luc
Isabelle
Adresse
Paris
Paris
NomCours
Info
Math
Cas 3
Profs
Enseigne
0,1
Nom
NbreHeures
Prnom
1,1
Cours
NomCours
Description
Adresse
Solution 1
Nom
Bouganim
Crenn
Rousseau
Prnom
Luc
Isabelle
Martine
Adresse
Paris
Paris
Versailles
Un cours est enseign par un et
un seul prof
Description
Informatique
Mathmatiques
NbreHeures
44
78
Solution 2
Nom
Bouganim
Crenn
Rousseau
Prnom
Luc
Isabelle
Martine
Profs
0,1
Nom
Prnom
Enseigne
NbreHeures
Nom
Bouganim
Crenn
NomCours
Info
Math
Droit
Description
Informatique
Mathmatiques
Droit
NbreHeures
44
78
NomCours
Info
Math
Description
NbreHeures
Informatique
44
Mathmatiques 78
0,1
Cours
NomCours
Description
Adresse
Solution 1
Nom
Bouganim
Crenn
Solution 2
Adresse
Paris
Paris
Versailles
Un cours est enseign par un prof
ou nest pas enseign
NbreHeures
44
78
NomCours
Info
M ath
Droit
Description
Informatique
M athm atiques
Droit
Cas 4
Un prof enseigne un cours ou
aucun
NomCours
Info
Math
Un prof enseigne un et un seul
cours
Solution 2
NomCours
Info
M ath
Droit
Adresse
Paris
Paris
Versailles
Profs
Nom
Bouganim
Crenn
Prnom
Luc
Isabelle
Prnom
Luc
Isabelle
Adresse
Paris
Paris
Nom
Bouganim
Adresse
Paris
Paris
Un prof enseigne un cours ou
aucun
Un cours est enseign par un prof
ou nest pas enseign
NomCours
Info
Description
Informatique
Droit
Droit
NomCours
Info
NbreHeures
44
Nbre Heures
44
NomCours
Info
Droit
Description
Informatique
Droit
Cas 5
Profs
Enseigne
1,1
Nom
NbreHeures
Prnom
1,n
Un prof enseigne un et un seul
cours
Cours
NomCours
Description
Un cours est enseign par un ou
plusieurs profs
Adresse
Nom
Bouganim
Crenn
Rousseau
Solution 1
Prnom
Luc
Isabelle
Martine
Cas 6
Adresse
Paris
Paris
Versailles
NomCours
Info
Info
Droit
Description
Informatique
Informatique
Droit
NbreHeures
20
24
26
Solution 2
Nom
Bouganim
Crenn
Rousseau
Profs
Enseigne
1,n
Nom
NbreHeures
Prnom
1,1
Cours
NomCours
Description
Adresse
Solution 1
Nom
Bouganim
Crenn
Crenn
Prnom
Luc
Isabelle
Isabelle
Adresse
Paris
Paris
Paris
Adresse
Paris
Paris
Versailles
NomCours
Info
Info
Droit
NbreHeures
20
24
26
NomCours
Info
Droit
Description
Inform atique
Droit
N om
B ouganim
C renn
Prnom
Luc
Isabelle
NomCours
Info
Math
Droit
Nom
Bouganim
Crenn
Crenn
Adresse
Paris
Paris
Cas 7
Profs
1,n
Prnom
Enseigne
NbreHeures
1,n
Cours
NomCours
Description
Adresse
Solution 1
Nom
Bouganim
Crenn
Crenn
Prnom
Luc
Isabelle
Prnom
Luc
Isabelle
Isabelle
Adresse
Paris
Paris
Paris
Nom
Bouganim
Crenn
Crenn
Solution 2
N om
B ouganim
C renn
Un cours est enseign par un et un
seul prof
Description
Informatique
Mathmatique
Droit
NbreHeures
20
48
26
Solution 2
Prnom
Luc
Isabelle
Martine
Nom
Un prof enseigne un ou plusieurs
cours
Adresse
Paris
Paris
Description
Informatique
Mathmatique
Droit
NbreHeures
20
48
26
Cas 8
Un prof enseigne un ou plusieurs
cours
Prof
1,n
Un cours est enseign par un ou
plusieurs profs
NomCours
Info
Info
Droit
NomCours
Info
Info
Droit
NomCours
Info
Math
Droit
Description
Informatique
Informatique
Droit
enseigne
Heure
Salle
Groupe
1,n
NbreHeures
22
26
34
Cours
Nom
Bouganim
Crenn
Crenn
Bouganim
Nbreheures
22
26
34
N om C ours D escription
Info
Inform atique
D roit
D roit
1,n
Nom
Bouganim
Crenn
Prnom
Luc
Isabelle
Adresse
Paris
Paris
NomCours
Info
Math
Info
Info
Groupe
2.1
2.1
2.2
2.1
N om C ours D escription
Info
Inform atique
M ath
M athm atique
heure
10h
12h
17h
14h
Salle
A1
A3
A1
A2
Groupe
2.1
2.2
Option
Finance
Comptabilit
Responsable
Guter Paul
Bourdin Jean
Passage au modle relationnel - Conclusion
Objectifs
Ne pas crer de tables inutiles
Ne pas dgrader le modle conceptuel (pas de proprit rptitive ni
sans signification)
Passage au niveau physique
Instructions pour la cration de la base de donnes dans le langage
du systme cible
Pour ACCESS, cela est souvent fait via linterface (cf TP) de
cration/modification de tables (voire avec les assistants)
Il est cependant possible dutiliser la partie Langage de Description
de Donnes (LDD) de SQL
CREATE TABLE Client (
Prnom TEXT,
Nom TEXT,
NSS INTEGER CONSTRAINT Clef PRIMARY KEY)
Mthode
Si possible, passer les proprits de lassociation dans lune ou
lautre des entits mais:
Si la cardinalit minimum est 0, on ne peut le faire car, pour certaines entits, il
y aurait des valeurs nulles (ex. un prof ne donnant pas de cours)
Si la cardinalit maximum est n, on ne peut le faire car il y aurait des attributs
rptitif (ex. un prof donnant plusieurs cours)
Sinon, crer une table pour lassociation contenant
les clefs des entits associes
les proprits de lassociation
Lavantage du LDD est quil est standard
Choix physiques dorganisation, doptimisation....
Premire modlisation restreinte
Modle entit-association
Grer les notes des tudiants veut dire:
Etudiant
Hypothses :
N
Nom
On a une base de donnes pour chaque promo et pour chaque semestre
Prnom
Donnes :
Etudiants (nom, prnom, groupe)
Matires (nom, ple, coefficient)
Notes (pour un tudiant et une matire : DS1, DS2, Participation, Examen)
Traitements :
Moyenne par matire pour chaque tudiant
Moyenne par ple pour chaque tudiant
Moyenne gnrale pour chaque tudiant
Jury de passage (ou de DUT)
Moyenne par groupe, par matire.
Groupe
0,n
a obtenu
DS1
DS2
Participation
Examen
0,n
Cours
NomCours
Ple
Coefficient
Critiques
Le schma est simple, il rpond au problme
On a un minimum de donnes
On ne peut pas faire de suivi sur une promo
On ne peut pas faire de suivi par prof
Pas de statistiques sur plusieurs annes
Problme de gestion: on aura 4 fois les mmes programmes
En relationnel
Modlisation complte
Grer les notes des tudiants veut dire:
Notes
N
001
001
001
002
002
003
004
004
004
NomCours
Info
Math
Anglais
Info
Math
Math
Info
Math
Anglais
DS1
13
17
13
8
5
18
12
13
4
DS2
12
9
11
13
12
14
8
13
Participation
14
18
11
13
15
9
10
13
11
Etudiant
N
001
002
003
004
005
Nom
Carey
Dalton
Lventreur
Lewis
Elton
Prnom
Jim
Joe
Jack
Jerry
John
Hypothses :
Examen
9
12
11
13
17
12
16
8
5
Une base de donnes pour lIUT (pour plusieurs annes)
On veut grer les profs pour faire des stats par profs, par promos, etc...
Problmes :
Donnes :
Cours
Groupe
2.1.1
2.1.1
2.1.2
2.1.2
2.1.2
Nom Cours
Info
M ath
Anglais
Ple
Gestion
Gestion
Langues
Gestion des redoublement, de la situation (actuelle) dun tudiant
Cohabitation de notes sur plusieurs annes, des profs, des tudiants ??
Les matires sont enseigns par plusieurs profs, qui met les notes ??
Comment modliser quun prof enseigne un groupe de TP ?
Etudiants, Matires, Notes
TypeDeNotes, Periodes, Profs, Groupes, etc...
Coefficient
2
2
4
Modle entit-association
Etudiant
TypeNote
Type
Coefficient
1,n
Etudiant
a obtenu
1,n
Note
Nom
Prnom
Cours
1,n
Priode
Est dans
1,n
1,n
1,n
Code
Anne
Semestre
Enseigne
Nb heures
1,n
1,n
Groupe
Code
1,n
N_etu
001
002
003
004
005
Nom
Carey
Dalton
Lventreur
Lewis
Elton
Prnom
Jim
Joe
Jack
Jerry
John
Profs
Nom
Prnom
Adresse
N_etu
001
001
001
001
001
001
001
002
002
Inscrit
N_etu
1
1
1
2
2
Priode
1
2
3
1
2
Cours
Notes
NomCours
Ple
Coefficient
1,n
1,n
En relationnel
NomCours
Info
Info
Info
Info
Math
Math
Math
Info
Info
TypeNote
DS1
DS2
Part
Exam
DS1
Part
Exam
DS1
DS2
TypeNote
Groupe
1.2.1
2.1.1
2.1.1
1.1.1
2.1.1
TypeNote
DS1
DS2
Part
Exam
Priode
Priode
1
2
3
Anne
1996
1997
1997
Coefficient
1
1
1
3
Semestre
2
1
2
Priode
2
2
2
2
2
2
2
2
2
Note
13
12
14
9
17
18
12
13
11
Nom
Bouganim
Crenn
Bouganim
Bouganim
Crenn
N om C ours
Info
M ath
Anglais
Ple
Gestion
Gestion
Langues
C oeff
2
2
4
Enseigne
NomCours
Info
Math
Info
Info
Math
Groupe
1.2.1
2.1.1
2.1.1
2.1.2
1.2.1
Priode
1
3
3
3
2
Profs
Nom
B ouganim
C renn
R ousseau
Prnom
Luc
Isabelle
M artine
Adresse
Paris
Paris
Versailles
NbH
20
17
20
20
10