Вы находитесь на странице: 1из 172

BTS Informatique de gestion, 1re anne

Jean-Yves Fvrier

Dveloppement dapplications
informatiques et gnie logiciel
Cours 1 (Merise)

Directrice de publication : Valrie Brard-Trigo


Les cours du Cned sont strictement rservs lusage priv de leurs destinataires et ne sont pas destins une utilisation collective. Les personnes
qui sen serviraient pour dautres usages, qui en feraient une reproduction intgrale ou partielle, une traduction sans le consentement du Cned,
sexposeraient des poursuites judiciaires et aux sanctions pnales prvues par le Code de la proprit intellectuelle. Les reproductions par
reprographie de livres et de priodiques protgs contenues dans cet ouvrage sont effectues par le Cned avec lautorisation du Centre
franais dexploitation du droit de copie (20, rue des Grands Augustins, 75006 Paris).

Conseils gnraux
La place de lanalyse
Dans le rfrentiel
Le cours que vous tes en train de lire vous permettra dacqurir la pratique de la mthode danalyse Merise.
Cest un cours essentiel pour le BTS informatique de gestion car, dans cette branche de linformatique, la programmation doit imprativement tre prcde dune phase danalyse pour bien
cerner le travail effectuer.
Dans le rfrentiel de la formation, ce cours est inclus dans le savoir S3 DAIGL (Dveloppement
dApplications Informatiques et Gnie Logiciel) avec la programmation. Plus prcisment, nous
traiterons ici le savoir S32 du rfrentiel intitul Analyse et conception de systmes logiciels :
mthodes et outils .
Les neuf squences de ce cours abordent les diffrents concepts du savoir S32.

Dans la formation
En formation initiale (en lyce), la premire anne stend sur 35 semaines, le volume horaire
hebdomadaire de lanalyse tant 2 heures de cours et 1 heure et demie de travaux dirigs. Cela
reprsente plus de 120 heures !
Faut-il donc passer 120 heures sur ce support ? Non, sans doute pas, car bien quapportant les
mmes connaissances (vous ntes pas vol !) il est prsent de faon plus concise et lapprentissage est plus rapide. Nanmoins, il ne faut pas esprer matriser lanalyse en lisant dune traite ce
cours. Vous devez apprendre passer du temps sur les concepts prsents.
En effet, il y a une grande diffrence entre comprendre plus ou moins le principe et parfaitement assimiler un concept . Dans le premier cas, le savoir nest pas assimil et cela vous bloquera
dans la suite du cours ; dans le second cas, tout ira bien.
Pour chacun des concepts que nous verrons, il faudra dune part apprendre parfaitement sa dfinition (travail de mmoire) et dautre part identifier ce que cela signifie (travail de comprhension).
Quand on commence un nouveau cours, on est toujours dubitatif face tous les concepts et dfinitions. Certes, cest du jargon et on a toujours limpression que lon passe son temps redfinir
des notions dj connues. Ce nest pas tout fait vrai : il est ncessaire de tout redfinir pour viter l-peu-prs. On rencontrera dailleurs de nombreux cas o l-peu-prs nest pas acceptable.

Prsentation du support de cours


Ce cours a t conu pour pallier au maximum les difficults de lapprentissage distance : les
notions retenir (dfinitions) sont mises en avant et des exercices et questions sont prsents
tout au long du cours pour vous permettre de vrifier votre comprhension.
Mais jinsiste sur le point suivant : quelle que soit la qualit pdagogique de ce cours, il ne vous
permettra pas dassimiler lanalyse par simple imprgnation visuelle. Vous devez fournir un travail
dapprentissage (le cours), de rflexion (toujours le cours) et dentranement (les exercices).
3
8 3932 TG PA 01

Squence 1

Le cours est constitu de deux fascicules : le cours proprement dit et un fascicule autocorrection
contenant la correction de tous les exercices.

Organisation
Le fascicule de cours contient diffrentes choses :
neuf squences de cours correspondant aux savoirs de S32 ; la fin de chaque squence, vous
trouverez une fiche synthse vous rappelant les choses essentielles ( apprendre !) ;
des exercices intgrs aux squences de cours. Vous devez faire ces exercices quand vous arrivez dessus puis aller consulter la correction. Attention, ces exercices permettent de vrifier
votre assimilation du cours. Leur corrig, trs dtaill, ne doit pas tre nglig : jy prsente
des situations, des techniques, des ides et des raisonnements qui ne sont pas anecdotiques
et font partie intgrante du cours. Sils ny sont pas physiquement, cest uniquement pour
conserver une certaine lisibilit au document ;
trois sries dexercices jouant le rle de travaux dirigs. Elles sont places des endroits stratgiques du cours ;
une tude de cas et danalyse grandeur relle quivalent un BTS blanc. faire la fin de
lanne, il reprend tous les concepts abords dans le cours.
Le fascicule de correction comprend :
la correction des exercices intgrs aux squences ;
la correction des squences de TD ;
la correction de ltude de cas.
En plus de vous donner la solution des exercices, jai essay de dtailler ces corrections pour envisager les diffrentes solutions possibles, les erreurs viter Plus que des corrections, ce sont de
vritables lments de cours. Il ne faut donc pas les prendre la lgre !

Contenu
Les neuf squences abordent cinq notions distinctes mais nanmoins lies :
le modle conceptuel des donnes (MCD) est tudi de la 1re la 4e squence avec un
complment dans la 6e ;
la 5e squence fait un sort au modle logique des donnes (MLD) ;
les dpendances fonctionnelles et leur utilisation pour construire le MCD sont tudies dans
les 7e et 8e squences. La 8e squence aborde galement le dictionnaire des donnes ;
le graphe acteur/flux est dissqu dans la 9e squence.
Vous remarquerez que le dcoupage des squences ne correspond pas aux notions tudies puisque, si le MLD tient en une squence, le MCD stale sur cinq squences. En effet, les squences
ont t dfinies pour vous aider tablir votre progression. Elles reprsentent donc approximativement un volume de travail identique. Le dcoupage nest nanmoins pas arbitraire : les diffrents concepts ont t rpartis au mieux pour que chaque squence reste cohrente.

Notations
Pour vous aider identifier les diffrents constituants du cours, jai utilis les reprsentations
suivantes :
tous les paragraphes dont les caractres sont en couleur doivent tre appris par cur.
Cela correspond aux dfinitions ou explications quil est absolument ncessaire de connatre
pour sen sortir en analyse. Quand je dis apprendre, ce nest pas retenir pour lheure qui suit afin
dpater les convives au prochain repas. Il sagit dune vraie leon, dont vous devez vous souvenir
tout au long de votre vie dinformaticien, ou, plus prosaquement, au moins jusqu lexamen.
Ces informations sont reprises la fin de chaque squence dans la fiche synthse ;
4
8 3932 TG PA 01

Introduction

les exercices intgrs dans les squences et destins vrifier votre comprhension sont numrots et prsents sur fond couleur. Il faut donc les faire au fur et mesure de la lecture du
cours. Leur correction se trouve dans le fascicule autocorrection .

Quelques conseils
Le seul conseil utile que je puisse vous donner est de garder lesprit la fable de La Fontaine
Le livre et la tortue : il ne sert rien de travailler comme un fou en juin ; travaillez plutt ds
maintenant quelques heures par semaine r-gu-li--re-ment (jaurais pu crire rgulirement ou
RGULIREMENT, mon but tant juste dinsister sur le mot).
La difficult de lenseignement par correspondance rside dans le fait que, par dfinition, vous
tes seul face au cours, personne nest l pour vous guider, insister sur lessentiel ou tablir la
progression du cours.
Pour vous aider suivre un rythme correct, une dure indicative est mentionne en tte de chaque
squence.
Attention ! Vous avez sans doute le souvenir de vos tudes o, pour obtenir un mme rsultat,
certains travaillaient toute la soire et dautres se contentaient dtre prsents en cours. Il en est de
mme ici. Par exemple, si 4 heures sont indiques, ce nest quun ordre de grandeur.
Cela signifie juste que 15 minutes, ce nest pas assez, mais 25 heures, cest trop.
Retenez quil vaut mieux passer 8 heures sur une squence et la comprendre parfaitement, que
faire exactement 240 minutes (4 heures) en passant ct de lessentiel.
De plus, le cours contient des dizaines de petits exercices faire au fur et mesure. Plus vous passerez du temps dessus (et cest conseill), plus vous risquez de dpasser les dures indiques.

Sommaire
Squence 1 : Introduction

Squence 2 : MCD : les concepts de base 1/2

17

Squence 3 : MCD : les concepts de base 2/2

29

Travaux dirigs 1

51

Squence 4 : MCD : fin

57

Squence 5 : le MLD

71

Squence 6 : rgles de validation du MCD

89

Travaux dirigs 2

103

Squence 7 : les dpendances fonctionnelles (thorie)

107

Squence 8 : les dpendances fonctionnelles (utilisation)

121

Travaux dirigs 3

145

Squence 9 : graphe acteurs/flux

151

tude de cas rcapitulative

167

5
8 3932 TG PA 01

Squence 1

Introduction
Dure indicative : 2 heures

Cette squence dintroduction va vous expliquer ce quest et quoi sert une


mthode danalyse. On prsentera ensuite la mthode que vous tudierez dans
ce cours : Merise.

Capacits attendues
Percevoir limportance et le rle de lanalyse
Matriser le vocabulaire et la dmarche de la mthode Merise

Contenu
1.

Introduction lanalyse ....................................................................... 8

1A.
1B.
1C.

Pourquoi lanalyse ? ..................................................................................... 8


Linformatique de gestion ........................................................................... 8
Les mthodes danalyse ............................................................................. 10

2.

La mthode Merise .............................................................................. 11

2A.
2B.

Donnes et traitements ............................................................................. 11


Les trois niveaux de modlisation ............................................................ 12

3.

Programme de la formation............................................................. 13

7
8 3932 TG PA 01

Squence 1

1.
1A.

Introduction lanalyse
Pourquoi lanalyse ?
Lanalyse informatique est un outil indispensable pour la programmation.
Dailleurs, quest-ce que la programmation en informatique de gestion ? Cela consiste
crire un programme (par exemple, Windows, Word, Internet Explorer sont des programmes) permettant de raliser informatiquement les tches de gestion dune entreprise : la paye, le suivi de la clientle, la facturation
Linformatique na rien invent, que ce soit en analyse ou en programmation. Si vous
voulez tapisser une pice, vous achetez le papier peint, la colle, deux ou trois outils et
vous vous lancez. En revanche, si vous souhaitez btir une maison Jespre que vous
nachterez pas les matriaux pour, hop ! commencer la construction.
La dmarche habituelle consiste faire un plan dtaill pour se mettre daccord sur la disposition des pices, leur nombre et leur superficie. Ensuite, on choisit les matriaux (brique, parpaing), les revtements (moquette, parquet, carrelage) et les coloris. Enfin,
aprs toutes ces tapes, on dbute la construction. Le plan sera le document contractuel
de rfrence. Le constructeur ne va pas btir une maison selon votre description ( je
veux une belle maison, ensoleille, plein sud, un grand sjour, trois chambres ), mais en
fonction du plan, tant entendu que le plan doit traduire exactement vos souhaits.
Lintrt du plan vis--vis de votre description ? Un grand sjour ne veut pas dire grandchose, chacun ayant sa propre vision de ce quest une grande pice. En revanche, une
pice de 30 m2, tout le monde comprend.
Tous les corps de mtiers concerns (plombiers, carreleurs, maons, menuisiers) se
rfreront au plan pour raliser leur tche. Ils ne vous demanderont rien directement,
et heureusement car a priori vous ntes pas du mtier donc seriez bien en peine de
rpondre leurs questions techniques.

1B.

Linformatique de gestion
Cest la mme chose en informatique de gestion : on ne doit pas se lancer bille en tte
dans la programmation, cela ne peut quchouer. Avant de commencer, il faut bien
comprendre ce que lon doit faire, quelles sont les donnes que lon utilise, comment
lentreprise fonctionne. On fera cela grce lanalyse.
Schmatiquement, il y a deux types dinformatique : linformatique de gestion et linformatique scientifique.
En informatique scientifique, on fait surtout des mathmatiques en programmant des calculs
complexes (intgrales, quations). La difficult est principalement de trouver une solution
mathmatique, la programmation sen suivant naturellement. Il ny a pas de problme avec
les donnes, puisque lon ne manipule que des chiffres. Par exemple, la mtorologie utilise
linformatique pour faire ses prdictions. La difficult est de trouver les quations reprsentant le plus fidlement possible le temps. Ensuite, il ny a plus qu les rsoudre.
En informatique de gestion, cest le contraire : il sagit dautomatiser les tches de
gestion de lentreprise (classiquement la comptabilit, les relations client/fournisseur
commandes, factures, relances , la paie, la gestion de stocks). Le programme est en
gnral assez simple ; en revanche, la difficult est reporte dans la gestion des donnes.

8
8 3932 TG PA 01

Introduction

En effet, on va manipuler non plus de btes chiffres, mais des objets rels.
Voici quelques exemples classiques dobjets manipuls en gestion :
un client, caractris par son nom, son adresse, son tlphone ;
un produit, caractris par son nom, son type, sa marque, son prix ;
un fournisseur, caractris par son nom et son adresse.
De plus, il va falloir grer la faon dont tous ces objets interagissent entre eux.
Prenons lexemple suivant :
Lentreprise que lon tudie achte le produit Pomme de terre au fournisseur LaFritte,
pluche, coupe et cuit ce produit puis le revend au client MacR.
Cela semble simple ? Certes ! Mais cest un cas dcole. Dans la ralit, lentreprise va
mettre en concurrence plusieurs fournisseurs par produit, elle livrera beaucoup de
clients, emploiera des acheteurs qui ngocieront les prix auprs des fournisseurs et des
commerciaux qui tenteront de convaincre des prospects (clients potentiels) dacheter
leurs produits. Bien entendu, acheteurs et commerciaux seront rmunrs avec un fixe
plus une commission proportionnelle leur rsultat et leur anciennet. videmment, il
faut tenir compte des diffrents contrats possibles (CDD, CDI, stage), des congs, arrts
maladie Joubliais les tats fiscaux sortir, les dclarations de TVA, dURSSAF.
Si maintenant je vous demande de me donner la liste des commerciaux ayant plus de cinq
ans danciennet et ayant ralis moins de 80 % de leur objectif, comment ferez-vous ?
Deux solutions : soit vous compulsez pendant des heures des classeurs pleins de chiffres
pour trouver ceux dont vous avez besoin, puis vous faites les calculs. Et si ce nest plus
cinq ans danciennet, mais dix ? Il faut tout refaire. Seconde solution, vous utilisez un
programme informatique et, en quelques secondes, vous obtenez le rsultat.
Mais comment fera le programme ? Exactement comme vous, mais en plus rapide. Il va
prendre la liste des commerciaux et ne conservera que ceux qui ont plus de cinq ans
danciennet. Pour chacun deux, il comparera lobjectif avec le rsultat. Si ce dernier est
infrieur 80 % de lobjectif, il limprimera. Et lutilisateur obtient la liste.
On voit ici la complexit du stockage des donnes : avoir deux listes indpendantes, la
liste des commerciaux dun ct et la liste de leur objectif de lautre, cela napporte rien.
Ce quil faut, cest obtenir, pour un commercial donn, lobjectif qui lui est fix. Bref, on
a besoin de relier les donnes entre elles de faon cohrente.
De mme, on ne peut pas mlanger clients et fournisseurs : pas question denvoyer un
chque au client au lieu dune facture ! On peut multiplier les exemples lenvi : que le
CNED possde toutes les notes des inscrits ne sert rien sil ne peut pas attribuer la note
ltudiant concern.
Lentreprise possde donc des donnes (liste des clients, fournisseurs, produits, comptabilit), dont lensemble forme le systme dinformation de lentreprise. Cest une possession immatrielle, au contraire de btiments, doutils, de vhicules mais cest la plus
importante car elle est irremplaable et unique.

9
8 3932 TG PA 01

Squence 1

Cet exemple me permet de vous donner la dfinition suivante :


Linformatique de gestion consiste grer, manipuler et exploiter le systme dinformation (les donnes) de lentreprise pour chercher linformation utile.
Raliser un programme de gestion passe par une tape essentielle : simprgner du fonctionnement de lentreprise et des donnes quelle manipule. Et cela na rien dvident
car chaque entreprise a ses propres rgles. Ensuite, il ny a plus qu crire le programme.
Si vous avez mal compris linterconnexion des donnes entre elles, le programme ne
pourra pas fonctionner correctement.
Par exemple, si vous avez gr les commerciaux individuellement alors quils sont regroups en quipe, vous ne pourrez pas leur affecter une prime globale. Vous serez oblig
dattribuer individuellement la prime chaque membre de lquipe en esprant ne faire
aucune erreur de saisie qui entranerait des primes diffrentes au sein de lquipe.
De mme, supposons une entreprise qui installe des panneaux publicitaires sur des murs ou
des terrains et les loue ensuite des clients. Si vous voulez informatiser cette activit, vous
tes bien daccord quil vaut mieux savoir avant de commencer si un panneau peut avoir une
publicit diffrente par face ou ne possde quune face utilisable. En dautres termes, va-t-on
associer un seul ou deux clients chaque panneau ? Ce nest pas du tout la mme chose !

1C.

Les mthodes danalyse


Eh bien, tout cela, cest un des rles de lanalyse : modliser les donnes de lentreprise
et leur interconnexion. Bien entendu, il y a deux problmes :
1. Comment faire cela ?
2. Comment faire pour que la modlisation soit comprhensible donc utilisable par
dautres personnes que son concepteur ?
Des thoriciens ont tudi ce problme et ont fourni des solutions : les mthodes danalyse. Elles rpondent aux deux problmes prcdents :
1. Dune part, elles fournissent une faon (mthode) pour reprsenter (analyser) les donnes de manire efficace et complte.
2. Dautre part, elles permettent une reprsentation codifie et normalise comprhensible par tous ceux qui connaissent la mthode en question. Un dveloppeur peut alors
raliser le programme en exploitant uniquement lanalyse, sans se rfrer au monde
rel . Cela simplifie normment le travail. On retrouve parfaitement la notion de
plan pour la construction de la maison : le maon se rfre au plan quil sait lire, et non
vous qui ne pouvez que rpter un grand sjour, hein ! Et, plein sud ! .
Je vous propose la dfinition suivante.
Mthode danalyse : technique de modlisation du rel utilisant une reprsentation normalise.

En fait, les mthodes danalyse modlisent les donnes mais aussi les traitements (ce que lon fait).
Mais lessentiel du travail reste la gestion des donnes, sur laquelle on travaille cette anne.
10
8 3932 TG PA 01

Introduction

Cette dfinition na lair de rien, mais, comme souvent, chaque mot possde un sens trs
prcis quil faut comprendre :
Technique
Ensemble de procds employs pour [...] obtenir un rsultat dtermin. (Petit Robert)
Cela signifie que lutilisation dune mthode danalyse ne se fait pas au pif , mais en
utilisant une dmarche et des rgles prcises, qui sont lobjet de ce cours.
Modlisation du rel
Reprsentation simplifie mais fiable (correcte) du monde rel, qui permet une comprhension plus aise de la ralit.
Reprsentation normalise
Permet que toute personne connaissant la mthode puisse lire la modlisation et donc
assimiler le rel sous-jacent.
Je reviens sur mon grand mot : linformatique na rien invent. Ce besoin de reprsenter
la ralit de faon prcise et codifie nest pas nouveau. Cest le rle du dessin technique
par exemple.
Le travail danalyse, fait par un analyste, consiste donc comprendre parfaitement le rel
(comment lentreprise fonctionne, quelles donnes elle manipule, ce quelle fait), puis le
reprsenter. Ce nest pas du tout vident car il faut obtenir les informations, les agencer
La reprsentation obtenue (lanalyse) sera la base de travail du programmeur, qui programmera ce qui est modlis. Il naura donc pas faire leffort de comprendre le rel.
Pour un petit projet, analyse et programmation peuvent tre faites par une seule personne : un analyste-programmeur. Mais cela ne veut pas dire quil faut ngliger lanalyse.
Car, rptons-le encore, sans travail danalyse, il ny a pas de comprhension du rel ;
linformatisation sera donc ncessairement un chec.
Pour un gros projet, on aura plusieurs personnes pour raliser lanalyse, puis une quipe
de programmeurs crant le programme, dautres personnes tant charges des tests
pour vrifier que le programme respecte bien lanalyse.

2.

La mthode Merise
Cette partie nest quune sensibilisation aux principes de la mthode Merise. Ne vous
inquitez pas si cela ne vous semble pas trs clair. Cest normal puisque vous navez pas
encore commenc le cours. Il serait judicieux de relire cette partie dans quelques semaines. Tout sclairera !
La mthode danalyse la plus utilise en France dans linformatique de gestion est la
mthode Merise, dveloppe en 1979 par des industriels et universitaires franais. Cest
elle que nous tudierons dans ce cours.
Merise modlise sparment les donnes et les traitements. Expliquons ces termes.

2A.

Donnes et traitements
Donnes
Ce sont les objets que lon manipule et leur interaction (en cuisine, ce sont les ingrdients). La modlisation des donnes signifie leur description complte. Cest ici que lon
dira que lentreprise de location despaces publicitaires gre des panneaux et des clients,
que les panneaux ont une taille prcise, sont implants une adresse donne et supportent une ou deux publicits
11

8 3932 TG PA 01

Squence 1

Traitements
Cest ce que lon fait (en cuisine, ce serait la recette). La modlisation des traitements
permet de dcortiquer la faon dont le travail est fait, ce qui permet ensuite de linformatiser en crivant un programme. Cest ici que lon dira que lentreprise de location
despaces publicitaires installe un panneau aprs avoir reu une commande dun client,
envoie la facture aprs linstallation du panneau et ventuellement une relance si la
facture nest pas paye au bout dun mois.
Chacune de ces modlisations (donnes et traitements) se fera en trois tapes successives, du plus abstrait au plus concret. Ces tapes, appeles niveaux de modlisation, sont
dans lordre le niveau conceptuel, le niveau logique et enfin le niveau physique.
De mme, en construction, on va dessiner le plan dune maison (conceptuel), puis on
choisit les matriaux (logique), enfin on ralise la construction (physique).

2B.

Les trois niveaux de modlisation


Niveau conceptuel
On va reprsenter (modliser) le rel indpendamment de tout choix matriel ou dorganisation de lentreprise. Par exemple, concernant les traitements, on retiendra que la
facture est tablie aprs lenvoi de la commande. Le fait que ce soit le service facturation
qui envoie cette facture est sans importance. On modlisera :
dune part les donnes, ce qui donnera le MCD, Modle Conceptuel des Donnes ;
dautre part les traitements, ce qui donnera le MCT, Modle Conceptuel des
Traitements.
Niveau organisationnel (ou logique)
On adapte le modle du niveau conceptuel pour prendre en compte les contraintes
matrielles (matriel informatique disponible, contraintes diverses).
le MCD donnera le MLD, Modle Logique des Donnes ;
le MCT donnera le MOT, Modle Organisationnel des Traitements.
Niveau oprationnel (ou physique)
On adapte le modle du niveau organisationnel pour produire le programme en prenant
en compte le formalisme du langage choisi :
le MLD donnera le MPD, Modle Physique des Donnes ;
le MOT donnera le MOPT, Modle OPrationnel des Traitements.
On notera que, donnes et traitements tant indpendants, leur modlisation peut tre
effectue en parallle par deux quipes distinctes. Notez galement que le premier
niveau (le conceptuel) est indpendant de tout matriel informatique ou choix technique. Un mme MCD peut donc donner diffrents MLD et MPD selon les choix techniques
retenus. Idem entre le MCT et les MOT et MOPT.
Le niveau conceptuel est le plus complexe. Par exemple, le passage du MCD au MLD est suffisamment simple pour pouvoir se faire automatiquement (par des programmes). Le MLD
est nanmoins important car il dcrit lorganisation des donnes en fonction du programme utilis pour les stocker. Jadis on utilisait des fichiers, maintenant on utilise des bases de
donnes personnelles (Access, Paradox) ou professionnelles (SQL Server, Oracle).

12
8 3932 TG PA 01

Introduction

En pratique, une informatisation russie suivra le schma suivant (on laisse de ct les
traitements) :
Comprhension
du mtier
informatiser

3.

laboration
du MCD

laboration
du MLD

Dveloppement
de la base
de donnes

Programme de la formation
En premire anne, on tudiera les niveaux conceptuels et logiques des donnes (c.--d.
les MCD et MLD).
En seconde anne, vous tudierez le reste. Notons que, depuis 1979, les techniques et
outils de programmation ont volu. La mthode Merise galement. Vous verrez donc
aussi en seconde anne les extensions de Merise.
Vous pouvez maintenant apprcier la cohrence de lorganisation de vos cours :
vous devez tudier lanalyse et lalgorithmique en parallle ;
ces deux savoirs tant acquis, vous pouvez ensuite tudier Access.
On retrouve le schma de dveloppement prcdent : dabord lanalyse puis la cration
de la base de donnes. Les cours dinformatique ne sont pas du tout indpendants !
Comme promis, le paragraphe suivant synthtise toutes les informations importantes de
cette squence. Il faut donc lapprendre !

13
8 3932 TG PA 01

Synthse

Linformatique de gestion consiste grer, manipuler et exploiter le systme dinformation (les donnes) de lentreprise pour chercher linformation utile.
Une mthode danalyse est une technique de modlisation du rel utilisant une
reprsentation normalise.
La mthode danalyse Merise modlise de faon spare les donnes (les informations que lon manipule et leurs interactions) et les traitements (ce que lon
fait avec ces donnes). Donnes et traitements sont modliss par trois niveaux
successifs, du plus abstrait au plus concret : conceptuel, organisationnel, oprationnel.

Le tableau ci-dessous rsume les productions fournies chaque tape.


Niveau
Conceptuel reprsente la perception
du rel sans se proccuper des moyens
dimplantation
Organisationnel
spcification du niveau organisationnel
avec les choix techniques (langages)
Oprationnel prise en compte
des moyens physiques dimplantation

Donnes
MCD
Modle Conceptuel
des Donnes
MLD
Modle Logique
des Donnes
MPD
Modle Physique des
Donnes

Traitements
MCT
Modle Conceptuel
des Traitements
MOT
Modle Organisationnel
des Traitements
MOPT
Modle OPrationnel
des Traitements

Les trois tapes MCD, MCT et MLD sont incontournables. Lessentiel de la formation portera sur elles.

15
8 3932 TG PA 01

Squence 2

MCD : les concepts de base 1/2


Dure indicative : 5 heures

Dans cette squence, nous allons tudier une partie des constituants lmentaires
du MCD. Nous allons apprendre ce que sont les entits, les proprits et les associations. Nous verrons galement comment reprsenter graphiquement ces notions.

u Capacits attendues
Matriser le vocabulaire de Merise
Assimiler les concepts vhiculs par ces termes
Reprsenter graphiquement un MCD

u Contenu
1.

Analyse du sujet ................................................................................... 18

2.

Les entits ............................................................................................... 19

2A.
2B.

Prsentation ................................................................................................ 19
Reprsentation graphique ......................................................................... 20

3.

Les proprits ........................................................................................ 21

3A.
3B.

Dfinition .................................................................................................... 21
Reprsentation graphique ......................................................................... 22

4.

Les associations ..................................................................................... 23

4A.
4B.

Prsentation ................................................................................................ 23
Reprsentation graphique ......................................................................... 24

5.

Complments ......................................................................................... 26
Synthse

17
8 3932 TG PA 01

Squence 2

1.

Analyse du sujet
Nous allons travailler sur lexemple suivant :
Le Cned vous demande de raliser le MCD de la gestion des inscriptions de lanne scolaire courante en vue de son informatisation.
Bien, cela ne semble pas sorcier ! Si vous lisez ce document, cest que vous vous tes
inscrit au Cned ; vous connaissez donc la dmarche de linscription, vous avez lu les consignes pour lenvoi des devoirs sur cet exemple prcis, vous avez donc lavantage de
connatre dj le monde rel que lon veut modliser.
Peut-on donc passer immdiatement la modlisation des donnes ? Non, car il y a plusieurs choses prciser ! Relisons le sujet :
de lanne scolaire courante
Cela signifie que le Cned ne conserve pas lhistorique des inscriptions des annes prcdentes (on dira que lon nhistorise pas). En fin danne scolaire, les donnes relatives
aux inscriptions sont dtruites. Cette prcision est importante car la modlisation sera
diffrente selon que lon historise ou pas.
gestion des inscriptions
Dj une remarque : on ne parle que dinscription. Inutile donc de grer les copies, les
notes En premire approximation, la phrase du sujet signifie quune personne va payer
pour suivre un cours. Lobjectif sera donc de grer le lien entre les personnes et les cours
pour savoir qui sest inscrit quoi. Cela permettra notamment denvoyer les cours correspondant linscription. Mais quappelle-t-on une personne ? Dj, il vaut mieux tre prcis ! Les personnes concernes ne sont pas nimporte qui dans la rue, mais quelquun qui
suit une formation. On utilisera donc plutt le terme dtudiant.
De mme, quest-ce quun cours ? Deux possibilits.
Ce peut tre une formation (par exemple BTS informatique de gestion).
Ce peut tre un module inclus ou non dans une formation (par exemple ce module
danalyse, inclus dans la formation BTS). On pourrait ruser en disant que linscription
une formation signifie linscription chacun de ses modules. Mais cest une bien pauvre ruse, puisque cela obligerait le secrtariat vous inscrire aux cours de franais, de
maths, danglais, dconomie, danalyse, de programmation au lieu de vous inscrire
simplement la formation BTS informatique de gestion. Dans le monde rel (dans la
vraie vie ), vous pouvez vous inscrire :
une formation, comme le BTS informatique de gestion ;
un module dune formation comme Prparation lpreuve pratique, issu du BTS
informatique ;
un module indpendant comme matrise de langlais ou initiation linformatique.
Vous remarquerez quun sujet dune ligne peut amener un travail pouss ! Nous allons temporairement simplifier et dire que le Cned ne gre que les inscriptions des cours indpendants. Autrement dit, on ne gre pas la notion de formation regroupant plusieurs cours.
Le Cned vous demande
Quoi, il faut aussi dcortiquer cette petite phrase toute simple ? Oui et non ! Il sagit juste
de prciser que lon veut modliser lintrieur du Cned. On ne va donc pas reprsenter
Ce mot est un nologisme, inutile de le chercher dans le dictionnaire !

18
8 3932 TG PA 01

MCD : les concepts de base 1/2

le Cned lui-mme, qui reste implicite. Et, bien entendu, on modlise le fonctionnement
du Cned et non celui de votre ancien lyce. Donc attention ne pas inventer des informations qui nexistent pas.

2.

Les entits

2A.

Prsentation
Bien. Aprs une demi-page dexplications, on peut enfin produire le schma suivant :
tudiant
cours
Rien dimpressionnant. La flche reprsente le lien entre un tudiant et un cours, savoir
quun tudiant sinscrit un cours. Cependant, on pourrait tout aussi bien dire quun
cours est suivi par un tudiant. Bref, si ltudiant est reli au cours, alors le cours est galement reli ltudiant. Le nouveau schma sera alors :
tudiant
cours
Bien, on progresse ! Mais en fait, quoi sert une flche ? indiquer une direction. Ainsi,
le fait de mettre une flche de chaque ct signifie finalement quil ny a pas de sens
privilgi puisque le lien entre tudiant et cours peut se lire dans les deux sens. Dans ce
cas, on simplifie en ne mettant aucune flche ! Ce qui donne :
tudiant

cours

Maintenant, soyons ralistes : ce schma reprsente-t-il toutes les donnes ncessaires


la gestion des inscriptions ? Il faut bien avouer que non ! Concrtement, qui sont les
tudiants ? quels cours sont-ils inscrits ? Informatique, conomie, anglais ?
Si vous voulez grer les tudiants et les intgrer dans votre base de donnes, cest pour
leur envoyer les cours. Il faut donc un nom et une adresse pour chaque tudiant. Bien
entendu, un tudiant possde dautres donnes : un numro de tlphone, une date
de naissance mais aussi des rfrences bancaires, des parents, une formation scolaire,
peut-tre un permis de conduire, un aliment prfr, etc. Cette numration a pour
objet de bien vous faire comprendre quun tudiant est caractris par beaucoup (voire
une infinit) de donnes. Quand on parle de dcrire un tudiant, ce nest donc pas dans
labsolu, mais en fonction de lusage que lon en fera. On ne lui attribuera pas les
mmes caractristiques selon que lon veut reprsenter ltudiant :
dans le systme dinformation Gestion des inscriptions au Cned ;
dans le systme Scurit Sociale tudiante ;
dans le systme Prt tudiant dune banque
Dans notre exercice, on aura besoin des nom et prnom de ltudiant et de son adresse
(rue, code postal et ville). On peut se poser la question de stocker le numro de tlphone ou une adresse e-mail. Si vous informatisiez rellement les inscriptions, vous
demanderiez au responsable du Cned sil dsire (sil a besoin de) ces informations.
Dans un devoir (ou lexamen du BTS), vous aurez plus ou moins clairement la liste des
informations ncessaires : certaines seront tout fait explicites, tandis que dautres ne se
laisseront dbusquer quaprs une lecture trs attentive du sujet. Cela fait partie de la
difficult de lexercice.

19
8 3932 TG PA 01

Squence 2

de mettre un maximum dinformations partant du principe quil vaut mieux


O Leen fait
mettre dix de trop quen oublier une nest pas acceptable. Dune part ce nest
pas intellectuellement dfendable (on masque une incomprhension du modle
par une profusion dinformations), dautre part une telle dmarche vous conduirait
demander ltudiant de fournir des informations qui seraient sans rapport avec
linscription, ce qui ne lui plairait pas.

2B.

Reprsentation graphique
Reprenons : un tudiant est caractris par ses nom, prnom et adresse. On va reprsenter
cela dans notre schma. Le formalisme sera le suivant :
TUDIANT
Nom
Prnom
Rue
Code postal
Ville

Ceci est une notation normalise de Merise : dans un rectangle, on


met le nom dun objet , puis on tire un trait et lon met la liste des
caractristiques utiles en dessous, quil y en ait une ou cinquante, sans
ordre particulier.
Le nom de lobjet est au singulier ; cest sans importance pour linstant,
on abordera ce point plus tard. Par contre, le fait dcrire le nom de
lobjet en majuscules est un choix personnel : je trouve cela plus lisible.

Tant quon y est, on va donner un nom plus professionnel que rectangle ou objet cette
reprsentation : on dira qutudiant est une entit, de mme que Cours. La dfinition suit !
Entit : Objet considr comme un tre dou dunit matrielle [] (Petit Robert).
Une entit est une chose du monde rel qui possde une existence propre (concrte
ou abstraite), des caractristiques bien dfinies, qui prsente un intrt et a un sens
pour le systme dinformation tudi.
Encore une fois, il nous faut expliquer les mots de cette dfinition.
chose du monde rel
Lobjectif de lanalyse est dinformatiser des activits humaines relles. Ces activits
exploitent des donnes complexes : un mdecin ne traite pas un numro de Scurit
Sociale, mais un patient, dcrit entre autres par ce numro, un nom, un prnom Ce
concept est rapprocher des donnes structures que vous verrez en programmation.
possde une existence propre
Cest une consquence directe de lexpression prcdente ( chose du monde rel ). Je
lai rpt pour bien vous faire assimiler le fait quil sagit de grer des entits qui existent vraiment, qui sont cohrentes. Do la notion dunit matrielle.
caractristiques dfinies
On manipule des objets rels ; il faut pouvoir les dcrire compltement afin de les stocker
correctement dans le systme dinformation. Notons bien que seules les caractristiques
utiles lentreprise seront retenues (en non toutes les caractristiques dcrivant lentit
dans labsolu). Ainsi la mme entit pourra tre valablement dfinie avec des caractristiques diffrentes dans deux systmes dinformation (par exemple une banque et une
entreprise de formation reprsenteront diffremment lentit Client).
un intrt et un sens pour le systme dinformation tudi
Cest toujours la mme chose : un objet rel possde des caractristiques qui le dcrivent compltement, mais aussi une fonction prcise, qui dpendra de ce que lon veut informatiser.

Complexe, dans le sens qui contient, qui runit plusieurs lments diffrents .
20
8 3932 TG PA 01

MCD : les concepts de base 1/2

Un exemple classique : un grossiste a comme fournisseurs et comme clients des entreprises.


Aura-t-on une seule entit Entreprise ou deux entits Fournisseur et Client ? Certes, les fournisseurs et les clients ont, en tant quentreprises, les mmes caractristiques (un nom, une
adresse). Mais leur fonction, donc leur smantique, est distincte (voire oppose). On aura
donc deux entits diffrentes. Parmi tous les objets qui existent, on ne retiendra que ceux
qui sont utiles lentreprise et on les dcrira daprs les donnes que cette dernire utilise.
On retiendra donc toujours le point de vue de lentreprise.
existence concrte ou abstraite
Cest un point assez complexe, o les non-informaticiens achoppent. Nous venons de voir
assez longuement que les entits taient des objets cohrents manipuls par le systme
dinformation. Mais il en existe de deux types.
Les entits concrtes, qui ont une existence physique tangible. Elles ne posent pas de
problme car on identifie facilement un fournisseur, un client ou un patient comme
autant dentits.
En revanche, lentreprise manipule dautres entits qui nont pas forcment une existence tangible : les factures (qui ne sont physiquement que des feuilles de papier), mais
aussi des impays, qui sont un concept abstrait mais crucial pour toute entreprise.
Pour fixer les ides, voici une dfinition moins thorique, mais regroupant les notions
vues plus haut :
Une entit est un objet cohrent vu (dcrit) avec lil de lentreprise tudie.
Pour faire le MCD, on devra notamment structurer les informations en les regroupant
pour former des entits. Cest l quintervient lentranement et lintelligence de lanalyste : il nest pas toujours vident de bien cerner les contours des entits, dautant quil
nexiste pas de technique rigoureuse. Il faut travailler par intuition.

3.

Les proprits

3A.

Dfinition
Proprit : donne lmentaire et pertinente pour le systme dinformation tudi. Le
regroupement cohrent de proprits dfinit les entits. Symtriquement, une entit
sera dcrite par ses proprits.
Cest maintenant devenu une coutume revenons sur quelques termes de cette dfinition :
donne pertinente pour le systme dinformation
Nous lavons dj dit, on ne retient que les informations utiles lentreprise que lon
informatise.
donne lmentaire pour le systme dinformation
Voici un point thorique trs discut. Une donne lmentaire est une donne que lon
ne peut plus dcomposer (cest lquivalent dun corps simple en chimie). Dit autrement,
si lon dcompose une donne lmentaire, on nobtient plus rien de significatif.
Par exemple, mon nom complet Jean-Yves Fvrier nest pas une donne lmentaire,
puisque je peux le dcomposer en Jean-Yves (mon prnom) et Fvrier (mon nom).
En revanche, mon prnom et mon nom sont lmentaires puisquen les dcomposant, je
nobtiens quun groupe de lettres sans signification.
21

8 3932 TG PA 01

Squence 2

Les donnes doivent tre dcomposes pour que linformatisation se passe bien. Je ne
peux vous le dmontrer, mais, de faon informelle, vous serez daccord quil est plus simple daccder un prnom sil est directement fourni que sil faut aller le chercher dans
une suite de mots.
Si lon sarrte ce point de la dfinition, ladresse 1, boulevard Jean-Jaurs 54000
NANCY nest pas du tout lmentaire.

Exercice 1
Dailleurs, pourriez-vous dcomposer cette adresse en donnes lmentaires ?

Le corrig de lexercice montre quil y a de nombreuses faons de considrer laspect lmentaire des donnes. Pour rgler le problme, il suffit de bien lire la dfinition : donne lmentaire pour le systme dinformation. Cette nuance passe hlas souvent la trappe. Ainsi,
on dira quune donne est lmentaire pour le systme dinformation si sa dcomposition ne
donne rien de significatif (dutile) pour le systme dinformation tudi.
Donc, je ne le rpterai jamais assez, on ne prend en compte que les rfrences de lentreprise que lon informatise pour savoir jusquo dcomposer les donnes. Ce qui est
considr comme lmentaire dans un cas ne le sera pas forcement dans un autre.
ne sagit pas de passer des heures sinterroger sur lventuelle non-lmentarit
O Ildune
donne. La difficult nest pas l. Il suffit dutiliser son bon sens.

Exercice 2
Pourriez-vous nommer les proprits de lentit tudiant du systme dinformation tudi
(inscriptions au Cned) ?

3B.

Reprsentation graphique
Il ny a rien en dire puisque la reprsentation de lentit comprenait dj celle des
proprits ! Reprenons lentit tudiant vue dans le paragraphe 2B. en expliquant avec
les termes techniques la reprsentation graphique :
TUDIANT
Nom
Prnom
Rue
Code postal
Ville

Dans un rectangle, on met le nom de lentit, puis on tire un trait et


lon met la liste des proprits en dessous sans ordre particulier.

Revenons sur notre gestion des inscriptions. Aprs ltude dtudiant, occupons-nous de
Cours. Il vous faut toutes les informations relatives un cours. Vous demandez au responsable du Cned ce qui caractrise un cours. On vous rpond quun cours possde un
titre et une dure en mois.
(On est daccord que, face un non-informaticien, vous viterez demployer des mots
tels que entit et proprit qui nont de sens que pour un analyste.)
22
8 3932 TG PA 01

MCD : les concepts de base 1/2

Exercice 3
1. Le fait quun cours soit une entit dans le systme tudi doit tre assez naturel. Mais,
votre avis, est-ce une entit concrte ou abstraite ?
2. Imaginez deux informaticiens discutant. Le second rpond au premier titre et dure en
mois . Quelle tait la question du premier ? (Utilisez les termes techniques.)
3. Dessinez lentit Cours daprs le formalisme Merise.

4.

Les associations

4A.

Prsentation
Bien. Dans notre schma, jai remplac les mots tudiant et cours par des entits. Nous
obtenons alors :
TUDIANT
Nom
Prnom
Rue
Code postal
Ville

COURS
Titre
Dure

Je ne connais pas votre faon de travailler. Peut-tre que vous navez pas pos ce document depuis que vous lavez commenc. En revanche, moi, jai fait une pause et viens
de reprendre la rdaction aprs deux jours dinterruption. Et je vous avouerai que le trait
entre les deux entits je ne sais plus trop sil signifie inscription, demande de renseignements ou autre. Jai t oblig de relire les pages prcdentes pour massurer de sa
signification (il reprsente une inscription).
Cest assez ennuyeux car dans un schma rel, on aura dautres intervenants en plus des
tudiants et des cours et ces intervenants seront relis entre eux. On aurait donc une ou
plusieurs dizaines de traits ? Tout ceci serait compltement illisible.
Le formalisme Merise impose donc de nommer les traits. De faon assez logique, on va
leur donner un nom proche de leur fonction. Ainsi, le trait entre un tudiant et un cours
signifie que ltudiant est inscrit un cours.

Et dans ce cas, je me demande si vous avez vraiment pu assimiler tout ce que lon a vu ! Mine de rien,
il y a dj beaucoup de concepts et de dfinitions.
23
8 3932 TG PA 01

Squence 2

4B.

Reprsentation graphique
On obtiendra donc le schma suivant :
TUDIANT
Nom
Prnom
Rue
Code postal
Ville

sinscrire

COURS
Titre
Dure

Notons le formalisme Merise : le nom du lien est crit dans un ovale.

Devinez ! Je vais vous donner une dfinition formelle dun lien. Et, du coup, on oubliera
le mot lien au profit dassociation.
Association : une association reprsente un lien smantique entre des entits. On
parlera dassociation binaire (ou plus simplement de binaire) si elle relie deux entits, de ternaire si elle relie trois entits
Exceptionnellement, il y a peu de choses expliquer. Le lien smantique reprsente les
interactions des entits entre elles. On ajoute le terme smantique car le lien vient du
sens des entits : si on relie lentit tudiant Cours, cest cause de ce que reprsentent
les tudiants et les cours dans le monde rel.
On notera que lassociation se fait entre plusieurs entits (au minimum deux, pas de
maximum). En pratique, on aura quasi exclusivement des binaires et des ternaires. Une
association quaternaire (4 entits) ou plus peut exister, mais cest souvent une erreur de
conception.
Il semble y avoir une diffrence fondamentale entre entit et association ; pourtant, nous
verrons que pour modliser certains objets, on peut valablement hsiter entre une entit
ou une association. Je vous lavais promis : lanalyse est un loisir cratif.
On notera que lassociation est un lien smantique ; rien nempche quune entit soit
relie par plusieurs associations, chacune reprsentant un lien. (On y reviendra.) Bien. On
progresse ! Mais on a vu il y a longtemps (quand on en tait encore relier les mots
tudiant et cours par une flche) que lassociation entre les deux entits est symtrique.
Dailleurs, jai plac tudiant gauche et Cours droite, mais je pourrais faire le contraire
puisquil ny a pas dordre entre les deux concepts. Cela donnerait le schma qui suit.
TUDIANT
COURS
Titre
Dure

sinscrire

Nom
Prnom
Rue
Code postal
Ville

Cest toujours juste mais un peu droutant la lecture, qui se fait habituellement de
gauche droite. On prfrera alors nommer lassociation en prenant le cours comme
sujet, soit est suivi par , comme dans le schma page suivante.

24
8 3932 TG PA 01

MCD : les concepts de base 1/2

TUDIANT
COURS

Nom
Prnom
Rue
Code postal
Ville

est suivi par

Titre
Dure

On est confront un problme qui nest pas du tout vident : essayer de nommer lassociation en fonction de la position des entits dans le schma. Notre raisonnement va
dailleurs nous mener une impasse car :
1. Il nest pas question de privilgier arbitrairement une entit ou une autre pour donner
le sens de lecture. Si lon peut dire ici qutudiant lemporte sur Cours (un tudiant est
un humain, donc on va nommer le lien sinscrire ), on ne va pas lancer de dbat
thorique pour savoir qui lemporte entre Facture et Produit.
2. La faon dont on dispose les entits (tudiant gauche, Cours droite ou linverse)
est uniquement guide par la lisibilit du schma : si Cours nest li qu tudiant, on
aura tendance le mettre sur un bord. En revanche, si Cours est li dautres entits
(par exemple Correcteur, Rdacteur), on le mettra au centre pour pouvoir tracer les
associations sans quelles se chevauchent. En pratique, la position de Cours par rapport
tudiant sera quelconque (une entit sous lautre, en diagonale)
Ainsi, un MCD naura pas de sens de lecture prdfini (notamment pas de haut en bas et
de gauche droite). On vitera donc dajouter artificiellement un ordre de lecture par
le nom des liens. La solution sera dutiliser un verbe linfinitif.
Ici, on pourra utiliser sinscrire ou suivre, et on ne relancera pas le dbat pour savoir lequel
de ces deux verbes est le plus adquat. En effet, je vois chaque anne des tudiants passer
plus de temps choisir un nom dentit ou dassociation qu laborer le MCD lui-mme. Or,
ces noms ne servent qu se reprer dans le schma. Mettre sinscrire, suivre, apprendre est
totalement indiffrent. Lessentiel est davoir un descriptif comprhensible et li lassociation que lon dcrit (on ne mettrait pas vendre, nourrir ou soigner entre Cours et tudiant !).
Pour illustrer cela, vous trouverez ci-aprs trois reprsentations diffrentes, mais tout
fait correctes, de notre schma.
COURS

TUDIANT
Nom
Prnom
Rue
Code postal
Ville

suivre

COURS
Titre
Dure

Titre
Dure

apprendre

TUDIANT

COURS

TUDIANT

Titre
Dure

s'inscrire

Nom
Prnom
Rue
Code postal
Ville

Nom
Prnom
Rue
Code postal
Ville

25
8 3932 TG PA 01

Squence 2

On remarque en passant que lassociation reliant les deux entits peut sarticuler, la seule
contrainte tant que les entits soient clairement relies. On ne sautorisera nanmoins
que des segments de droites et aucune courbe.
Enfin, on sobligera crire horizontalement et de gauche droite tous les noms dentits
et dassociations. Sinon, le modle serait illisible. Cette association est donc proscrite :
COURS
Titre
Dure

Apprendre
TUDIANT
Nom
Prnom
Rue
Code postal
Ville

Bien, nous avons presque termin.

5.

Complments
Ltudiant Jean Dupond sinscrit au cours initiation Internet. Comment vais-je le reprsenter dans mon schma ?
Eh bien, je ne le reprsente pas ! Ce qui mintresse dans le MCD, cest linterconnexion
des donnes entre elles (un tudiant sinscrit un cours) indpendamment des donnes
elles-mmes (quel tudiant sinscrit quel cours).
Pourtant, lintrt de linformatisation des inscriptions est dobtenir la liste des tudiants
un cours donn. Comment faire le lien entre la reprsentation thorique des associations entre les entits et les donnes relles ?
Ce sera le rle des autres niveaux de modlisation (si vous avez jou le jeu et appris le
cours, vous comprenez de quoi je parle). Par exemple, le MLD dcrira la faon dont les
donnes relles seront stockes.
Ainsi, cest le MLD qui va dterminer comment je vais stocker :
ltudiant Jean Dupond (et tous les autres) ;
le cours initiation Internet (et tous les autres) ;
le fait que M. Jean Dupond soit inscrit au cours initiation Internet (et toutes les
autres inscriptions).

26
8 3932 TG PA 01

Synthse

Je vous rappelle pour la dernire fois que la synthse reprend toutes les notions
imprimes en vert ; il faut donc lapprendre.

Les dfinitions
Entit : une entit est une chose du monde rel qui possde une existence
propre (concrte ou abstraite), des caractristiques bien dfinies, qui prsente un
intrt et a un sens pour le systme dinformation tudi.
Dit autrement : une entit est un objet cohrent vu (dcrit) avec lil de lentreprise tudie.
Proprit : donne lmentaire et pertinente pour le systme dinformation tudi. Le regroupement cohrent de proprits dfinit les entits. Symtriquement,
une entit sera dcrite par ses proprits.
On ne prend donc en compte que les rfrences de lentreprise que lon informatise pour savoir jusquo dcomposer les donnes. Ce qui est considr comme
lmentaire dans un cas ne le sera pas forcement dans un autre.
Association : une association reprsente un lien smantique entre des entits.
On parlera dassociation binaire (ou plus simplement de binaire) si elle relie deux
entits, de ternaire si elle relie trois entits

Dans tout travail danalyse, il faut prendre le point de vue de lentreprise tudie.

27
8 3932 TG PA 01

Squence 3

MCD : les concepts de base 2/2


Dure indicative : 10 heures

Dans cette squence, nous allons tudier les derniers constituants lmentaires
du MCD. Nous allons apprendre ce que sont les occurrences, les identifiants et
les cardinalits. Nous verrons galement comment reprsenter graphiquement
ces notions, puis une technique assez empirique pour construire un MCD partir
dun sujet.

u Capacits attendues
Matriser le vocabulaire de Merise
Assimiler les concepts vhiculs par ces termes
Reprsenter graphiquement un MCD
Se doter dune dmarche rigoureuse pour pouvoir btir un MCD

u Contenu
1.

Les occurrences...................................................................................... 30

1A.
1B.

Occurrence dentit .................................................................................... 30


Occurrence dassociation ........................................................................... 31

2.

Les identifiants ...................................................................................... 32

2A.
2B.
2C.

Approche par le MLD ................................................................................. 32


Identifiant dune entit ............................................................................. 37
Identifiant dune association ..................................................................... 39

3.

Interlude : comment construire un MCD (1)............................... 40

4.

Les cardinalits ...................................................................................... 41

4A.
4B.
4C.
4D.

Prsentation par lintuition ....................................................................... 41


Dfinition des cardinalits ......................................................................... 44
Les diffrentes cardinalits ....................................................................... 46
Distinguons les cardinalits maximales.................................................... 47

5.

Interlude : comment construire un MCD (2)............................... 48


Synthse

29
8 3932 TG PA 01

Squence 3

1.

Les occurrences

1A.

Occurrence dentit
Oh non, encore une ? Euh, oui, encore une petite dfinition. Et en plus, cest une dfinition trs importante car en apparence vidente, mais du coup souvent oublie et qui
entrane des erreurs sur dautres concepts.
Je vous prviens que le concept est vident, mais que je nai pas russi trouver une
dfinition simple. Heureusement tout sclaircira avec les explications et les exemples.
Occurrence dentit : une occurrence dentit est une ralisation (concrtisation) de
cette entit.
Vite, on explique.
ralisation (concrtisation) de cette entit
Je vous ai parl dentits concrtes et abstraites. Ctait un abus de langage dans la
mesure o la notion mme dentit est abstraite. Cela devient de la philosophie, mais
lentit tudiant (le concept dtudiant) est une abstraction. Seuls existent des tudiants
physiques. Dire que Jean Dupond est un tudiant est un raccourci pour dire Jean
Dupond fait partie de lensemble des tudiants et non Jean Dupond est un synonyme
dtudiant . En fait, vous le saviez, car Jean Dupond est une invention de ma part, mais
cela ne signifie pas que les tudiants nexistent que dans ma tte.
De mme un chat. Jaime beaucoup Pollen, mon chat, mais je sais que ce nest pas Le
Chat, personnification, incarnation de toute la race des chats. En fait, Le Chat nexiste
pas. Seules existent physiquement des choses qui font partie de la famille des chats.
Et comment peut-on dire que la chose qui sappelle Pollen fait partie de la famille des
chats, et non de celle des teckels sympas et fins gourmets ? Parce que lon connat les
caractristiques (proprits) de la famille des chats, et que le petit Pollen, brave animal,
possde ces caractristiques.
Eh bien, on peut reprendre le vocabulaire prcis de lanalyse pour dire que :
la famille des chats se modlise par lentit Chat ;
mon petit Pollen est une occurrence de Chat.
Bien entendu, je ne demande pas mon occurrence de Femme si elle a donn des occurrences de Croquette notre occurrence de Chat. Cela ferait pdant. Mais pourtant, cest
ce quil faudrait dire. Cette longue explication tait ncessaire car trs bientt, on va
jongler entre les entits et les occurrences.

Oui, il ny a plus de limite. Javais commenc par crire seuls existent des animaux qui font
partie [] , mais, de la mme faon, lAnimal nexiste pas. On peut juste dire quil existe des
choses faisant partie de la famille des animaux, et encore, il nexiste pas de Chose, mais seulement
des occurrences de Chose. (Et ne me dites pas quune Occurrence nexiste pas, mais juste des occurrences dOccurrence, car l, je craque.)
Ceci est la dmonstration que lon ne dfinit pas des termes pour le plaisir. Ces subtilits
sont obligatoires en analyse car on manipule autant les types dobjets que les objets eux-mmes.
Heureusement, cette prcision dans les termes na aucun intrt dans la vie courante.
30
8 3932 TG PA 01

MCD : les concepts de base 2/2

Faisons un petit dtour par lalgorithmique (programmation) : on va retrouver le mme


principe.
Quand vous dclarez une variable :
var i : entier

On lit i est un entier mais cela signifie i fait partie de la famille


des entiers et non i est lentier . (sinon on aurait le syllogisme 0
est un entier, 1 est un entier donc 0 est 1 !)

Quand vous crivez un test :


si a = b alors

L, on dit si a gale b , mais on pourrait dire si a est b car il


sagit vraiment dune quivalence absolue (dailleurs, vous savez
depuis longtemps que si a = 2 et a = b, alors b = 2).

On retrouve mon grand mot : non seulement, linformatique ninvente rien, mais en plus
les mmes concepts se retrouvent dune discipline informatique lautre.

Exercice 4
Vous vous doutez sans doute de la question ! Citez-moi une occurrence dtudiant (sousentendu : une occurrence de lentit tudiant). Et, tant qu faire, pouvez-vous men donner
une seconde ?
Au vu de la correction de lexercice 4, il est bon de prciser ce qui suit :
Une occurrence dentit aura une valeur pour chaque proprit de lentit. Lensemble
de ces valeurs caractrise cette occurrence.

Exercice 5
Aprs avoir lu le corrig de lexercice prcdent, donnez trois occurrences de lentit Cours.
Le concept doccurrence dentit nous permet de justifier pourquoi le nom de lentit
doit tre au singulier.
Le nom de lentit est au singulier car lentit (le concept) est unique. Il ny aura pas deux
entits tudiant. Mettre un pluriel serait une confusion entre les occurrences de lentit
et lentit elle-mme. En effet, sil ny a quune entit tudiant, il y aura plusieurs occurrences dtudiant.

1B.

Occurrence dassociation

Exercice 6
Sans lire ce qui suit, essayez de donner une dfinition d occurrence dassociation , sachant
que cest tout fait similaire loccurrence dentit. Essayez de donner ensuite une occurrence
de lassociation suivre (entre tudiant et Cours) de notre MCD.

31
8 3932 TG PA 01

Squence 3

Occurrence dassociation : une occurrence dassociation est une ralisation (concrtisation) de cette association.
Eh oui, la dfinition est similaire ! Mais le concept sous-jacent est moins simple. Que
peut-on appeler une ralisation dassociation ? On va essayer de trouver un exemple.
Une occurrence dentit revient finalement renseigner (donner des valeurs) aux diffrentes proprits. Dans ce cas, le concept doccurrence dassociation tant similaire, il
reviendrait donner des valeurs aux proprits de lassociation. Le problme, cest que
lassociation nen a pas (rassurez-vous, cela ne durera pas !). Cependant, nous avons dit
quune association reliait des entits. Donner une occurrence dassociation reviendra
donc donner une occurrence de chaque entit relie.
Concrtement, lassociation suivre reprsente le fait quun tudiant suit un cours. Une
occurrence de suivre sera constitue de deux choses :
un tudiant donn (soit une occurrence dtudiant), tel Dupond/Jean/1, bd JeanJaurs/54000/NANCY ;
lun des cours quil suit (soit une occurrence de Cours), tel Initiation Internet/2.
Une occurrence de suivre sera donc Dupond/Jean/1, bd Jean-Jaurs/54000/NANCY//
Initiation Internet/2.
Si Jean Dupond est inscrit deux cours (Initiation Internet et Analyse), loccurO rence
de suivre ne sera pas Dupond/Jean/1, bd Jean-Jaurs/54000/NANCY//Initiation
Internet/2//Analyse/9, mais

Exercice 7
Comment faire pour reprsenter linscription de Jean Dupond ces deux cours ?

On retiendra ce qui suit :


Sur le MCD, une association relie des entits. En revanche, une occurrence dassociation ne concerne que des occurrences dentits. Elle sera forme par une (et une
seule) occurrence de chaque entit relie.

2.

Les identifiants

2A.

Approche par le MLD


Ce ntait pas prvu, mais nous allons passer temporairement au MLD (vous tes sens
savoir exactement ce que cest !).
Le MCD permet dindiquer comment les donnes structures (les entits, pas les donnes
relles que sont les occurrences) sont relies entre elles.
Le MLD va indiquer, pour un mode de stockage donn, de quelle faon on va organiser
les donnes physiques (relles, donc les occurrences) pour maintenir les liens tablis dans
le MCD.
Cela doit vous paratre plus clair que lors de lintroduction du cours ! Et cela va ltre
encore plus dans les lignes qui suivent.

32
8 3932 TG PA 01

MCD : les concepts de base 2/2

Nous avons dit dans lintroduction que le MCD donnait naissance des MLD diffrents
selon le mode de stockage choisi. Jadis, le mode de stockage tait les fichiers. Depuis
lavnement des bases de donnes, on nutilise plus quelles. Lavenir nous fournira
sans doute de nouvelles techniques de stockage.
Oubliez temporairement tout ce que vous avez vu dans ce cours. Imaginez-vous travaillant
au CNED, sans avoir dordinateur disposition. Comment allez-vous stocker la liste des
tudiants ? Dit autrement, comment stocker les occurrences de lentit tudiant ?
Eh bien, comme je viens de le dire, vous allez en faire une liste.
Si les informations qui vous intressent sont les nom, prnom, adresse, code postal et
ville de ltudiant, vous aurez la liste des tudiants crite sur une feuille. Cela donnera,
en se limitant quatre tudiants :
Jean Dupond
Pollen LeChat
Nina LeTeckel
Alf LeLapin

1, boulevard Jean-Jaurs
8, avenue de la Libration
13, rue de lEurope
Square Fleuri

54000 NANCY
45000 ORLANS
95000 CERGY
34830 CLAPIERS

De mme, vous aurez une liste des cours (qui ont un titre et une dure) :
Initiation Internet
Word
Excel
Access
Linux

2
2
3
6
4

(les donnes inscrites dans les listes sont mises sans ordre particulier.)
Le problme est que ces listes ne sont pas parlantes. Sil est vident que la premire
est une liste de personnes et dadresses, on peut sinterroger sur la seconde colonne de
la seconde liste : on ne peut pas deviner ce que reprsentent les chiffres. Dans la vraie
vie, vous mettrez donc une ligne den-tte, et vous obtenez un tableau, ce qui vous
ramne en terrain connu
On obtient donc les tableaux prsents ci-aprs.
PRNOM
Jean
Pollen
Nina
Alf

NOM
Dupond
LeChat
LeTeckel
LeLapin

tudiant
ADRESSE
1, boulevard Jean-Jaurs
8, avenue de la Libration
13, rue de lEurope
Square Fleuri

CODE POSTAL
54000
45000
95000
34830

VILLE
NANCY
ORLANS
CERGY
CLAPIERS

Cours
TITRE
Initiation Internet
Word
Excel
Access
Linux

DURE (MOIS)
2
2
3
6
4

Trs schmatiquement, une base de donnes est un outil (un logiciel) grant des donnes de faon
structure. Ce logiciel propose lutilisateur un langage (SQL) pour rcuprer les donnes utiles en formulant une requte ; par exemple, on peut interroger la base de donnes des inscriptions pour demander la liste des tudiants habitant Lyon qui se sont inscrits un cours dune dure de 3 6 mois.
Lintrt est quil suffit dcrire la requte car cest le logiciel de base de donnes qui se dbrouillera
pour rcuprer les donnes. Cest une grande avance face au stockage avec des fichiers o le dveloppeur dapplications devait programmer lui-mme tous les accs aux donnes.
33
8 3932 TG PA 01

Squence 3

Les tableaux, cest peut-tre un peu ringard. Mais, sans le savoir, que vient-on de faire ?
Eh bien, nous venons de dfinir le MLD ! Nous avons choisi le type de stockage des
donnes (les tableaux). Le MLD a consist dfinir les colonnes (combien de colonnes,
quelles donnes elles contiennent) ; le MLD est donc constitu de len-tte des tableaux
(la premire ligne, grise).
La phase suivante a consist remplir ces tableaux avec des donnes (les occurrences).

Exercice 8
Un bmol toutefois notre MLD nest pas complet : toutes les informations reprsentes dans
le MCD ne sont pas dans le MLD. Pouvez-vous trouver ce qui manque et le rajouter ?

Nous allons donc ajouter un tableau pour contenir les occurrences de suivre. Chaque
ligne du tableau contiendra le fait quun tudiant est inscrit un cours :
Suivre
TITRE
Excel
Initiation Internet
Access
Initiation Internet
Initiation Internet
Word

NOM
LeTeckel
LeLapin
Dupond
Dupond
LeChat
Dupond

Quelques remarques
1. On avait dit quune occurrence de suivre tait forme dune occurrence dtudiant et
dune occurrence de Cours. Dans le tableau, nous devrions donc avoir toutes les proprits
de Cours et dtudiant et pas seulement le titre et le nom. Mais cela ferait un tableau un
peu long, donc je me suis permis de ne pas le faire, vu qua priori, cela ne change rien.
2. Jai arbitrairement inscrit les tudiants divers cours.
3. Tous les tudiants sont inscrits au moins un cours. Cest logique, car sinon ils ne seraient
pas des tudiants (on reviendra sur ce point). En revanche, certains cours nont aucun
inscrit. On reprsentera cela avec les cardinalits dans la suite de cette squence.
4. Comme pour les deux autres tableaux, il ny a toujours pas dordre particulier, ni pour
les occurrences, ni pour les colonnes.
Nous pouvons tre satisfaits de notre travail. En premire approximation, nous pouvons
dailleurs estimer quil est termin. En effet, si lon veut envoyer les supports de formation aux inscrits du cours Initiation Internet, notre tableau nous indique que Dupond,
LeChat et LeLapin sont concerns, leur prnom et adresse tant accessibles dans le
tableau contenant les tudiants comme le prouve le dessin suivant :
Suivre
TITRE
Excel
Initiation Internet
Access
Initiation Internet
Initiation Internet
Word

NOM
LeTeckel
LeLapin
Dupond
Dupond
LeChat
Dupond

PRNOM
Jean
Pollen
Nina
Alf

NOM
Dupond
LeChat
LeTeckel
LeLapin

tudiant
ADRESSE
1, boulevard Jean-Jaurs
8, avenue de la Libration
13, rue de lEurope
Square Fleuri

CODE POSTAL
54000
45000
95000
34830

VILLE
NANCY
ORLANS
CERGY
CLAPIERS

34
8 3932 TG PA 01

MCD : les concepts de base 2/2

Tout se passe donc bien jusqu ce que Mlle Frdrique Dupond (11, rue des Arbres
60100 CREIL) sinscrive aux cours dAccess et dExcel.

Exercice 9
Mettez jour les tableaux pour quils contiennent les inscriptions de Mlle Dupond. Mettez en
vidence le problme qui se pose lorsque lon dsire la liste des adresses des tudiants inscrits
la formation Excel ou si lon veut retrouver quels cours sest inscrite Mlle Dupond.

Exercice 10
Aprs avoir consult le corrig de lexercice prcdent, proposez une solution pour remdier
au problme.

La correction de lexercice prcdent nous indique que le couple nom/prnom nest pas
suffisant pour identifier coup sr un tudiant. En gnralisant, on ne peut pas se contenter de rajouter lune ou lautre des proprits. Le risque dhomonymie nest pas lev.
La seule solution est donc de mettre toutes les proprits dtudiant dans le tableau
suivre. Bref, on met dans suivre toutes les informations dont on dispose sur les tudiants.
On obtient :
Suivre
TITRE
Excel

PRNOM
Nina

NOM
LeTeckel

ADRESSE
13, rue de lEurope

CODE POSTAL
95000

VILLE
CERGY

Initiation Internet

Alf

LeLapin

Square Fleuri

34830

CLAPIERS

Access

Jean

Dupond

1, boulevard Jean-Jaurs

54000

NANCY

Initiation Internet

Jean

Dupond

1, boulevard Jean-Jaurs

54000

NANCY

Initiation Internet

Pollen

LeChat

8, avenue de la Libration

45000

ORLANS

Word
Access
Excel

Jean
Frdrique
Frdrique

Dupond
Dupond
Dupond

1, boulevard Jean-Jaurs
11, rue des Arbres
11, rue des Arbres

54000
60100
60100

NANCY
CREIL
CREIL

On remarquera les points suivants :


1. Si lon informatisait vraiment les inscriptions avec des tableaux, on naurait pour le
moment plus besoin du tableau tudiant puisque toutes les informations quil contenait sont dans le tableau suivre.
2. Le problme dhomonymie ne se pose pas pour le cours puisque son titre lidentifie
sans ambigut (heureusement !). On najoute donc pas la dure.
Bon, on a toujours le risque davoir un homonyme une mme adresse mais il faut
savoir sarrter, dautant quil y a plus urgent : M. Dupond vient dappeler. Il a dmnag,
voici sa nouvelle adresse : 78, avenue de la Libration 58000 NEVERS .

35
8 3932 TG PA 01

Squence 3

Exercice 11
Corrigez les diffrents tableaux pour tenir compte du changement dadresse.
Reprenons le tableau de la correction :
Suivre
TITRE
Excel

PRNOM
Nina

NOM
LeTeckel

ADRESSE
13, rue de lEurope

CODE POSTAL
VILLE
95000
CERGY

Initiation Internet

Alf

LeLapin

Square Fleuri

34830

CLAPIERS

Access

Jean

Dupond

78, avenue de la Libration

58000

NEVERS

Initiation Internet

Jean

Dupond

78, av. de la Libration

58000

NEVERS

Initiation Internet

Pollen

LeChat

8, avenue de la Libration

45000

ORLANS

Word
Access
Excel

Jean
Frdrique
Frdrique

Dupond
Dupond
Dupond

78 av. Librations
11, rue des Arbres
11, rue des Arbres

58000
60100
60100

NEVERS
CREIL
CREIL

Vous observerez que les trois adresses ont t crites diffremment, de faon de plus
en plus abrge. Certes, je lai fait sciemment. Mais je vous assure que, dans la vraie
vie, cest ce qui se passerait. Au bout de quelques semaines, les donnes ne seraient pas
toutes jour, chacun les saisissant comme il le veut, sans parler des problmes de fautes
de frappe !
Ce problme porte le nom technique dintgrit : lintgrit des donnes (leur cohrence) nest pas assure. Autre problme technique : la redondance dinformations. Rien
que dans le petit tableau ci-dessus, ladresse de Jean Dupond est crite trois fois.
Rsumons-nous :
1. Avoir mis toutes les proprits dtudiant dans le tableau des inscriptions a supprim
tout problme dambigut. Mais
2. on paye cela au prix fort. En effet, le tableau des inscriptions devient volumineux
pour rien (redondance), il est difficile mettre jour.
3. Pire encore, les mises jour peuvent introduire des erreurs dans les donnes (on en
oublie une, on fait une faute de frappe).
Maintenant, pensez au cas gnral dune informatisation et non ce cas jouet. Imaginez
que vous informatisiez un cabinet mdical grant lhistorique de plusieurs milliers de
patients, certains ayant plusieurs dizaines dordonnances archives. Les problmes de
redondance et dintgrit deviennent rellement proccupants !
Bien entendu, jai une solution vous proposer. Eh oui
Si lon a rajout toutes les proprits dtudiant dans le tableau des inscriptions (suivre),
ctait uniquement pour identifier sans ambigut chaque tudiant. Le problme ne sest
pas pos avec les cours puisque leur titre les identifie sans ambigut.

36
8 3932 TG PA 01

MCD : les concepts de base 2/2

Exercice 12
En pensant aux diffrents contrats (EDF, tlphone), commandes (vente distance) ou relations
avec des organismes (Impts, Scurit Sociale, CNED) qui peuvent vous concerner dans la vraie
vie, pourriez-vous dire de quelle faon assez simple et naturelle toutes ces entreprises ou organismes, qui ont un nombre considrable de clients, rglent le problme dhomonymie ?
Nous allons reprendre ce concept de numro de client dans le MCD.

2B.

Identifiant dune entit


2B1. Dfinition
Identifiant dune entit : lidentifiant dune entit est une proprit ou un ensemble
de proprits de cette entit. La valeur de lidentifiant doit tre stable, non nulle
et caractriser de faon unique loccurrence correspondante. Lidentifiant peut tre
naturel ou artificiel.

Analysons cette phrase


un identifiant est une proprit dune entit
Lidentifiant sera donc une caractristique de lentit. Comme pour toute proprit, chaque occurrence de lentit possdera une valeur pour lidentifiant.
la valeur de lidentifiant doit caractriser de faon unique loccurrence correspondante
La diffrence entre une proprit quelconque et lidentifiant est la smantique. Chaque
proprit apporte une information, une caractristique, tandis que lidentifiant ne sert
qu identifier.
Chaque valeur de lidentifiant ne correspond qu une seule occurrence de lentit. Par
exemple, un numro de Scurit Sociale identifie de faon unique (ne correspond qu)
une personne.
De mme, chaque occurrence dentit ne possde quune valeur didentifiant. En mathmatiques, on parlerait de bijection entre les identifiants et les occurrences.
Le fait que lidentifiant dtermine loccurrence ne signifie pas qu partir de la
O valeur
de lidentifiant, vous pouvez dterminer la valeur des autres proprits de
loccurrence (si je vous donne un numro de Scurit Sociale, vous ne pourrez pas
en dduire le nom de la personne). Cela signifie que, pour une valeur donne de
lidentifiant, il nexiste quune valeur pour chacune des autres proprits de loccurrence (mais quelles sont ces valeurs mystre !).
Une consquence importante : pour une entit donne, chaque valeur de lidentifiant
est unique.
Une remarque : dans la dfinition, jaurais d mettre la valeur de lidentifiant identifie . Mais comme cela faisait un peu redondant, jai prfr utiliser caractrise.

37
8 3932 TG PA 01

Squence 3

Exercice 13
Attention bien comprendre cet exercice, il y a une subtilit !
Lidentifiant dtermine loccurrence ; or, le numro de Scurit Sociale est identifiant. Ainsi, le
numro 1 70 11 54 395 997 88 correspond une seule personne que lon supposera tre Jean
Dupond, 58 000 NEVERS.
Or, dans mon systme dinformation, jai aussi loccurrence 1 07 03 57 110 005 27, Jean Dupond,
58 000 NEVERS .
Jai limpression quune mme personne a deux numros de Scurit Sociale. Que pensez-vous
de cette situation ? Expliquez pourquoi elle peut nanmoins tre correcte.

la valeur de lidentifiant doit tre stable [et] non nulle


Daprs ce que lon vient de voir, lidentifiant peut varier en permanence. Mais le bon
sens peut-il accepter cela ? Si mon numro de Scurit Sociale change, ce nest pas
gnant tant quil continue midentifier de faon unique. Enfin, pas gnant en thorie
car en pratique je devrai changer ma carte dayant droit, prvenir mon employeur, ma
mutuelle
De mme, si le numro dun client change, il faut mettre jour ses factures, ses commandes, bref tout ce qui le concerne. Finalement, lidentifiant faisant rfrence une
occurrence, on sen servira trs souvent. Accepter que les identifiants varient entranerait
un travail de mise jour norme et finalement idiot.
Je peux justifier cela dune manire plus intuitive, quil faut sentir : lidentifiant est un
peu la proprit phare de loccurrence, celle qui dtermine tout le reste. Cest en quelque sorte un point fixe. Le fait que ce point fixe varie est assez ennuyeux. Pour la mme
raison, une valeur nulle est techniquement une valeur. Mais bon tre caractris par
rien, cest angoissant. On refuse donc la valeur nulle lidentifiant.
proprit naturelle ou artificielle dune entit
Le rle de lidentifiant est donc didentifier. Jespre vous avoir montr dans lexemple
des inscriptions au CNED que lon avait besoin dun identifiant pour grer les tudiants.
En gnralisant, on dfinira un identifiant pour chaque entit. Pour faire cela, on observe lentit :
soit il existe dj une proprit qui peut servir didentifiant car elle en a la caractristique. Dans ce cas, cette proprit naturelle est promue au rang didentifiant. On
parlera didentifiant naturel ;
soit, et cest le cas le plus frquent, aucune proprit ne peut tre identifiant. On va
donc rajouter une proprit artificielle (gnralement juste un numro) dont le seul
rle est de servir didentifiant. On parlera alors didentifiant artificiel.
proprit ou ensemble de proprits
Il peut tout fait arriver quune seule proprit ne soit pas identifiant, mais que deux
proprits accoles le soient. Nous verrons des exemples dans la suite du cours (cela reste
un cas assez rare).
(On dfinira plus tard de faon thorique lidentifiant dans la partie de cours
sur les dpendances fonctionnelles. On verra alors le cas o un identifiant est
constitu par plusieurs proprits.)

38
8 3932 TG PA 01

MCD : les concepts de base 2/2

2B2. Reprsentation graphique


Dans le MCD, on fait figurer toutes les proprits de chaque entit. Pour distinguer
lidentifiant, on le souligne et on le met en tte des proprits.
Voici lexemple de lentit Client avec lidentifiant NumroClient, puis le cas gnral avec
lentit Entit :
CLIENT

ENTIT

NumroClient

Identifiant

NomClient

Proprit_1

PrnomClient

Proprit_2

AdrClient

Proprit_3

CodeClient

(etc)

VilleClient

Proprit_n

TlphoneClient

Exercice 14
On mettra donc systmatiquement un identifiant chaque entit. Donnez un identifiant pour
chaque entit tudiant et Cours. Prcisez si ces identifiants sont naturels ou artificiels.

Exercice 15
Aprs avoir vu le corrig de lexercice prcdent, rajoutez les identifiants dans le MCD puis
modifiez en consquence la dfinition et le contenu des tableaux, notamment suivre.

Exercice 16
Vrifiez quavec le changement dans le tableau des inscriptions, on a toujours la possibilit
dobtenir :
les adresses des inscrits au cours Excel ;
quels cours est inscrite Mlle Dupond.

2C.

Identifiant dune association

Exercice 17
Nous avons vu la notion didentifiant dentit. La notion didentifiant dassociation existe galement. Partant du principe que lidentifiant identifie loccurrence concerne, essayez de rflchir ce que peut tre lidentifiant dune association sans regarder la suite du cours. Donnez
lidentifiant de lassociation suivre.

39
8 3932 TG PA 01

Squence 3

La dfinition sera la suivante :


Identifiant dassociation : lidentifiant dune association est la concatnation des
identifiants des entits relies.
Par exemple, si Pollen LeChat (tudiant numro 2) suivait le cours Excel, on aurait une
occurrence de suivre identifie par 2/Excel (la concatnation des deux valeurs).
Cette notion ne sert pas grand-chose. Dailleurs, elle nest pas reprsente dans le
MCD : les identifiants des entits sont souligns, mais on ne les souligne pas une seconde
fois pour indiquer quils sont identifiants dune ou plusieurs associations.
Donc, me diriez-vous si jtais devant vous, vous nous apprenez des choses inutiles ?
Ce nest pas raisonnable ! . Certes ; jai donc une justification : la notion didentifiant
dassociation est utile pour la comprhension de lassociation.
Par dfinition, toute valeur didentifiant (dentit ou dassociation) est unique. Cest
pourquoi on ne peut pas relier deux fois les mmes occurrences dentit par une
mme association.
Dit autrement, le mme ensemble doccurrences dentit ne peut constituer deux occurrences dune mme association. Par rapport notre exemple dinscription, cela signifie
que Jean Dupond ne peut pas sinscrire deux fois au mme cours. Ce qui, ma foi, est assez
raisonnable. Ce point semble mme trivial, mais je vous assure que ce sera un bon gardefou lorsque vous ferez un MCD trapu o lon a vite fait de perdre ses repres.

3.

Interlude : comment construire un MCD (1)


Nous avons vu ensemble les diffrents constituants du MCD. Cependant, je ne vous ai
donn aucune technique pour passer dun sujet en franais au MCD. Le sujet ci-dessous
est donc volontairement explicite. De plus, je vous donne les conseils suivants :
1. Ne tenez pas compte dans le sujet de ce qui a trait aux traitements, ni de ce qui est
extrieur au domaine considr.
2. Identifiez les entits et les associations.
3. Identifiez les proprits.
4. Dterminez les identifiants (identifiants naturels) ou rajoutez-en (identifiants artificiels).
5. Il ny a plus qu faire le MCD.
Avant daborder le dernier constituant (cardinalits) du MCD, je vous propose un petit
jeu : la modlisation du sujet suivant.
Gestion des permis de construire la mairie (premire partie).
Un terrain est caractris par une rfrence cadastrale, une surface en ares, un type
(constructible, inondable, indtermin). Un propritaire est caractris par ses nom,
prnom, adresse et date de naissance.
Un terrain appartient un seul propritaire, lachat tant ralis devant notaire. Les
gens qui ne sont pas du mtier nayant pas une bonne comprhension de ce quest un
are, il est dcid davoir aussi la surface en m2.

Un are = 100 m2 (et un hectare = 100 ares = 10 000 m2).


Dans la vraie vie, cest faux. Mais cest sans importance ici, puisque seul le sujet compte.
40
8 3932 TG PA 01

MCD : les concepts de base 2/2

Exercice 18
Essayez dtablir le MCD. Une petite aide : il y a deux entits et une association.

Exercice 19
Au vu du corrig de lexercice prcdent, faites le MLD (avec des tableaux) et mettez deux ou
trois terrains et propritaires fictifs. Essayez davoir un jeu dessai (des donnes) significatif,
savoir reprsentatif de la ralit (cest tout un art !). Quel est lidentifiant de possder ?

4.

Les cardinalits

4A.

Prsentation par lintuition


Cest la dernire notion utile dans un MCD et cest sans doute la plus simple comprendre.
Son importance est nanmoins norrrrrrrrrrrrrrrrrrrrrrrrme ! Depuis le dbut du cours,
jai essay de justifier tout ce que lon voyait. En effet, mon dada est de dire que tout
en informatique a une justification et un intrt. Ainsi, si lon utilise des identifiants, ce
nest pas pour le plaisir, mais parce quon en a besoin.
Cest la mme chose pour les cardinalits, sauf que je vous avoue humblement navoir
pas trouv de biais pour le prsenter. Le concept est tellement simple que je pourrais vous
dire bon, les cardinalits, cest comme cela, point . Mais cela ne serait pas srieux.
Reprenons les deux exercices prcdents (les inscriptions et les permis de construire). Je
ne les ai pas choisis au hasard : bien que similaires (deux entits, une association, on ne
peut pas faire plus simple), ils ont une diffrence essentielle que lon navait pas encore
exploite.
Cas des inscriptions :
un cours peut tre suivi par plusieurs tudiants ;
un tudiant peut suivre plusieurs cours.

Exercice 20
Vous remarquerez que le descriptif prcdent concerne les occurrences. Pouvez-vous faire la
mme chose entre les entits Propritaire et Terrain ? Je vous conseille de relire le sujet, qui
contient explicitement la rponse.

O est la diffrence avec les inscriptions ? Dans le cas des inscriptions, lassociation est symtrique : chaque occurrence dune entit peut tre associe plusieurs occurrences de lautre. En
revanche, on ne retrouve pas cette symtrie dans la gestion des permis de construire.
quoi va nous servir cette constatation ? optimiser notre MLD, cest--dire la faon
dont on stockera les donnes. Le MCD est par dfinition conceptuel. Mais il importe quil

41
8 3932 TG PA 01

Squence 3

embarque le plus dinformations possible sur le rel pour que limplantation future
sur ordinateur soit efficace.
Dit autrement, les niveaux de modlisation sont par principe tout fait distincts. En
poussant le raisonnement jusquau bout, il nest pas gnant quun niveau abstrait comporte des informations que lon ne sache pas exploiter dans les niveaux plus levs. En
effet, il est tout fait possible que, la technique voluant, lon sache implanter cela dans
lavenir. Cela dit, pas daffolement : le raffinement que lon va introduire sera exploit
dans le MLD.
La phrase qui mintresse est un terrain na quun propritaire . Voyez-vous o je veux
en venir ? Je pourrais dire aussi un terrain na quune surface . Cela vous claire ? Vous
pensez que le propritaire est en fait une proprit du terrain ? Eh bien, SURTOUT PAS !
Enfin, lide va revenir en gros au mme, mais pas sous cette forme. En effet, comme
le propritaire et le terrain sont des objets rels et autonomes (cest la dfinition dune
entit), on ne peut pas inclure lun dans lautre ; lentit Terrain englobant un propritaire nest pas un objet rel.
Jinsiste ! Oubliez jamais toute ide du genre de celles prsentes ci-aprs.
TERRAIN

TERRAIN

RfrenceCadastrale

RfrenceCadastrale

Surface

Surface

Type
NumroPropritaire
Nom
Prnom
DateDeNaissance
Code
Ville

Type
Proprit fautive

PROPRITAIRE
NumroPropritaire
Nom
Prnom
DateDeNaissance
Adresse
CodePostal
Ville

Concept fautif

Cela peut sembler sduisant, notamment la deuxime solution. Mais cest un leurre !
Vous navez pas optimis le modle Merise, ni invent un nouveau concept. Cest une
erreur de logique laquelle on sest tous fait prendre. Un tel Terrain na aucun sens
puisque vous imbriquez deux objets rels.
La remarque un terrain na quun propritaire naura donc aucune incidence sur le
MCD, mais uniquement sur le MLD. On va pouvoir se passer du tableau possder. En
effet, mme si dun point de vue conceptuel terrain et propritaire sont des objets distincts, le fait est que lon peut associer le propritaire au terrain. Et cest ce que lon fera
en ajoutant une colonne.
Jinsiste encore ! Vous voyez que le MCD ne change pas, seule limplantation (MLD) est
modifie. Cest a, lintrt de la modlisation en niveaux diffrents. Dit autrement, inutile dutiliser un tableau possder puisque lon peut sen passer. Et le fonctionnement du
programme sera dautant plus rapide : pour trouver le propritaire dun terrain donn,
on gagne une tape puisque lon passe par un tableau de moins.

42
8 3932 TG PA 01

MCD : les concepts de base 2/2

Le jeu dessai donn dans la correction de lexercice prcdent deviendra :


Propritaire
NUMRO PROPRIETAIRE
1
2

NOM
LeChat
LeTeckel

PRNOM

DATE DE NAISSANCE

ADRESSE

25/01/1998
12/04/1996

ici
l

Pollen
Nina

CODE
59000
34000

VILLE
LILLE
MONTPELLIER

Terrain
RFRENCE CADASTRALE
1B19GH
BB2GH
FRRR88

SURFACE
20
15,5
10

TYPE
constructible
constructible
inondable

NUMRO PROPRITAIRE
2
1
1

Propritaire est inchang, terrain possde une colonne de plus (mise arbitrairement la
fin) et possder a disparu. Bien entendu, si les rgles du jeu (le rel) changeaient et quun
terrain pouvait avoir plusieurs propritaires, il faudrait revenir aux tableaux initiaux.
Normalement, quelque chose doit vous chiffonner : je vous dis que lon modifiera le MLD en
fonction du rel en passant par dessus le MCD qui ne bouge pas. Cela va lencontre du principe mme de Merise, o toute modification du rel ne doit tre rpercute que sur le MCD,
sachant quen cascade, les modifications du MCD en entraneront dautres sur le MLD.
Bref, il faut que lon reprsente sur le MCD le nombre doccurrences dentit auxquelles
une occurrence dentit donne peut tre relie travers une association donne. Bon,
cette phrase nest pas claire du tout, bien que jaie pass dix minutes la concevoir.
Soyons plus explicite : concrtement, on reprsentera combien un terrain peut avoir de
propritaires, combien un propritaire peut avoir de terrains, combien un tudiant peut
suivre de cours, combien dtudiants peuvent tre inscrits un cours.
Maintenant, si je vous demande combien un propritaire peut possder de terrains,
ou combien de cours vous pouvez vous inscrire au CNED ma foi, vous navez pas la
rponse et moi non plus : la majorit des franais ne possdent quun terrain, sur lequel
ils ont fait construire leur maison. En revanche, il existe des investisseurs qui possdent
des dizaines de terrains. Idem pour les cours : tant que vous payez chaque inscription, il
nexiste aucune limite thorique au nombre de cours que vous pouvez suivre.
Mais alors, comment faire ? Mettre un nombre arbitraire, par exemple 1 000 terrains
maximum par propritaire, 10 cours par tudiant ? Et, dans ce cas, combien de commandes par client si lon modlise lactivit dun magasin ? Cela ne va pas !
La solution sera donc pragmatique : on ne distinguera que des cas gnraux, en disant
quune occurrence dentit sera relie 0, 1 ou plusieurs occurrences dentit. Cette
simplification ne pose aucun problme puisque lon vient de voir que les deux seuls cas
que lon distingue sont :
une occurrence dentit est relie au plus une autre (comme le terrain reli au
propritaire) ;
une occurrence dentit est relie plusieurs autres (un cours est reli plusieurs
tudiants).

43
8 3932 TG PA 01

Squence 3

4B.

Dfinition des cardinalits


Lassociation traduit le lien smantique abstrait entre les entits. Les cardinalits traduiront le lien entre les occurrences.
Arm de ce savoir, on va donner la dernire dfinition de la squence.
Cardinalits : les cardinalits dune entit vis--vis dune association indiquent le
nombre minimum (0 ou 1) et maximum (1 ou n) doccurrences de lassociation auxquelles participe chaque occurrence de lentit.
Chaque association comportera autant de cardinalits (couple nombre minimum,
nombre maximum) que dentits relies.
Les cardinalits seront crites au bout de chaque patte de lassociation, ct de lentit
correspondante . On sparera les cardinalits minimum et maximum par une virgule.
Bon, assez de blablabla, voici la reprsentation du MCD inscriptions :
TUDIANT
Numrotudiant
COURS

Nom
Prnom
Rue

suivre

0, n

Titre
0, n

Dure

CodePostal
Ville

(1)

(2)

Premire remarque
(1) et (2) vous indiquent les cardinalits. Vous remarquerez que les premires se trouvent sur la patte de lassociation. Tandis que les secondes sont en-dessous. Rassurezvous, cela ne signifie rien ! Cest le logiciel que jutilise pour dessiner les MCD qui place
les cardinalits l o il le veut. Lorsque vous faites le MCD la main, il est prfrable
dcrire les cardinalits sous la patte comme dans le cas (2). Tout simplement car cest
plus rapide !
Deuxime remarque : expliquons bien les cardinalits en les lisant ensemble.
(1) cardinalits lies lentit tudiant .
Cardinalit minimum : 0
Une occurrence dtudiant participera au minimum aucune occurrence de suivre (juste
pour la comprhension, cela signifie quun tudiant peut ntre inscrit aucun cours).
Cardinalit maximum : n
Une occurrence dtudiant peut participer au maximum plusieurs occurrences de suivre (juste
pour la comprhension, cela signifie quun tudiant peut tre inscrit plusieurs cours).
Attention ! Les tudiants les moins srieux napprennent pas suffisamment leur cours. Je vois toujours des tudiants de seconde anne qui se trompent de ct et mettent les cardinalits relatives
une entit ct de lautre. La position des cardinalits tant arbitraire (les mthodes amricaines
les mettent dans lautre sens), il faut lapprendre par cur, il ny a rien comprendre.
Jinsiste : les cardinalits ct de lentit tudiant concernent les occurrences dtudiant, non
de Cours.
Mais alors, est-ce un tudiant ? On va y revenir !
Ce plusieurs signifiant un nombre quelconque .
44
8 3932 TG PA 01

MCD : les concepts de base 2/2

On rsumera en disant quune occurrence dtudiant peut participer de 0 plusieurs


occurrences de suivre (bref, quun tudiant peut tre inscrit de 0 plusieurs cours ; dit
autrement, tous les cas sont possibles, il ny a pas de contrainte).
(2) cardinalits lies lentit Cours.

Exercice 21
Les cardinalits (2) sont identiques aux cardinalits (1). Essayez de les expliquer comme on vient
de le faire.

Remarquez bien que le raisonnement est globalement fait pour lentit, cest--dire pour
lensemble des occurrences possibles et venir. On ne discute donc pas de ltudiant
Machin ou Truc. On prend loccurrence en toute gnralit. Notamment, si ltude des
inscriptions montre que, sur 1 000 tudiants, un seul est inscrit plus dun cours, il faudra
nanmoins utiliser la cardinalit maximale n.
Nous avons un petit souci : le CNED propose des cours et les tudiants choisissent ceux qui
les intressent. Lventail des cours tant trs large, il est tout fait possible quun cours
ne recueille aucun inscrit. En revanche, un tudiant ne suivant aucun cours nest pas un
tudiant daprs la dfinition que nous avons donne en prsentant le sujet.

Exercice 22
Bon, qu cela ne tienne il y a juste un chiffre corriger sur le MCD ; pouvez-vous le faire ?

Cet exercice permet une conclusion intressante :


certaines cardinalits sont ngociables : dans cet exercice, mettre un 0 ou un 1 dpend
de ce que lon appelle un tudiant. On peut justifier le 0 en envisageant un tudiant
qui sinscrit, puis qui annule son inscription. Si on ne lefface pas de la base de donnes,
on a bien un tudiant sans cours. Bref, mettre 0 ou 1 na pas dincidence. Les deux
solutions sont correctes. Inutile donc de discuter dix minutes, de peser le pour et le
contre cest du temps perdu ;
en revanche, certaines cardinalits ne sont absolument pas ngociables : par exemple,
une facture doit tre lie un client. Mettre une cardinalit minimale de 0 na pas de
sens, puisque dans ce cas, personne ne la paiera ! (cest une fausse facture).
On a vu prcdemment que le MLD tait diffrent selon que la cardinalit maximale tait
1 ou n (avec un 1, lassociation nest pas transcrite en tableau dans le MLD). Linformation
apporte par la cardinalit maximale tant exploite, il est utile de la faire figurer dans
le MCD.
En revanche, quoi sert la cardinalit minimale (0 ou 1) ? Elle na aucune influence dans
notre MLD tableau. Cependant, deux arguments militent en sa faveur :
1. Le principe du MCD est de reprsenter fidlement et compltement le rel puisque,
pour tout le travail postrieur (linformatisation relle), le MCD se substituera au rel.

45
8 3932 TG PA 01

Squence 3

Il est donc indispensable davoir le plus dinformations possible embarques dans le


MCD, que lon sen serve ou non. Ce nest pas de linformatique mais du bon sens : il
vaut mieux avoir trop dinformations disponibles que pas assez.
2. De plus, cette information sera vraiment utile lors du dveloppement de lapplication.
Par exemple, une facture est lie au minimum un client et non zro car une facture
sans client dsign ne sera jamais paye. Ainsi, le dveloppeur concevra lapplication
de telle faon que lutilisateur ne puisse pas entrer de facture sans mentionner de
client associ. En revanche, si vous mettez 0 en cardinalit minimum, vous faites une
faute danalyse qui entranera une erreur dans le programme. Nous sommes bien en
prsence dune cardinalit minimale non ngociable (1 est juste, 0 est faux).

4C.

Les diffrentes cardinalits


Pour terminer sur les cardinalits, on va recenser tous les cas pouvant se trouver dans un
MCD, sachant que lon utilise les valeurs 0, 1 ou n :
0, 0

Cest une configuration impossible car signifiant que toute occurrence de


lentit concerne participe au moins 0 et au plus 0 occurrence dassociation. Or, entre 0 et 0, il ny a quune possibilit : 0. Une cardinalit 0,0
signifie donc que loccurrence ne participe jamais lassociation. Dans ce
cas, on ne reprsente pas de patte !

0, 1 et 1, 1 La cardinalit minimale (0 ou 1) peut tre ou non ngociable. La cardinalit


maximale a un sens important (le MLD ne sera pas le mme selon que lon
a 1 ou n).
0, n et 1, n La cardinalit minimale (0 ou 1) peut tre ou non ngociable. La cardinalit
maximale a un sens important (le MLD ne sera pas le mme selon que lon
a 1 ou n).
n, n

Cette configuration na pas de sens. En effet, quand vous rentrez une


occurrence, vous ne pouvez pas techniquement la relier immdiatement
plusieurs autres occurrences au travers dune mme association.

On conclura en disant que la cardinalit maximale influe directement sur le MLD, tandis
que la cardinalit minimale a un sens dans la smantique des donnes et sera exploite
lors de la conception du programme.

Certains auteurs mettent des valeurs prcises au lieu de n quand ils possdent linformation.
Par exemple, si le CNED vous dit que pour des raisons matrielles, un cours ne peut avoir que 100
inscrits au maximum, on peut mettre 0,100 au lieu de 0, n. Cela va dans le sens de la prcision
que je prnais dans le MCD. Pourtant, jestime que cela va un peu loin. En effet, au niveau conceptuel (MCD), quil y ait 100, 5, 2 ou n tudiants, cest pareil. Ensuite, le chiffre 100 venant dun
problme dorganisation qui peut tre rgl tout moment, on sloigne du conceptuel. Je prconise
donc de laisser le n et de rajouter en rgle de gestion (on y reviendra) le fait que n vaut pour le
moment 100. En revanche, si la valeur du n est dtermine par le concept tudi, on peut la mettre.
En tout tat de cause, les deux solutions sont acceptables et acceptes.
46
8 3932 TG PA 01

MCD : les concepts de base 2/2

La squence est presque termine ; faisons donc un petit exercice dentranement.

Exercice 23
Vrifions votre comprhension. Je nai pas parl de certains couples de cardinalits n, 1 ,
1,0 Est-ce un oubli de ma part ou est-ce normal ? (bien entendu, il faut justifier !)

Exercice 24
Je nai plus parl du cas gestion des permis de construire car je vous propose en exercice de
complter le MCD correspondant (voir lexercice 18) pour y rajouter les cardinalits.

4D.

Distinguons les cardinalits maximales


Nous avons vu que les cardinalits minimales et maximales avaient un rle diffrent.
Dans les dernires squences de ce cours, nous aurons besoin de raisonner sur les cardinalits maximales des associations.
Pour le faire facilement, on va utiliser une notation reprsentant exclusivement les cardinalits maximales dune association : on les spare par un tiret et on met lensemble
entre crochets. Par exemple :
[nn] signifie que lassociation est une binaire dont les deux cardinalits maximales
sont n. Les deux couples de cardinalits peuvent tre soit 1,n, soit 0,n.
[1n] signifie que lun des couples de cardinalits sera 0,1 ou 1,1, lautre tant 0,n
ou 1,n.
[nnn] devrait reprsenter une ternaire avec les cardinalits maximales n mais
on crira cette ternaire [nn] quand mme. Pourquoi ? H h !
On retiendra : une association [1n] est une binaire dont une cardinalit maximale vaut
1, lautre n. Une association [nn] est une association dont toutes les cardinalits maximales valent n.
La suite du cours vous expliquera :
pourquoi [1n] est forcment une binaire ;
pourquoi [nn] peut reprsenter une association avec un nombre de pattes indtermin et pas uniquement une binaire (on verra pourquoi [nnn], [nnnn] se
rsument [nn]).

Poursuivez donc le cours pour dcouvrir tous ces mystres !

47
8 3932 TG PA 01

Squence 3

5.

Interlude : comment construire un MCD (2)


Nous terminerons la squence en compltant la technique de base pour raliser le MCD :
1. Ne tenez pas compte dans le sujet de ce qui a trait aux traitements, de ce qui est
extrieur au domaine considr, de ce qui est tout simplement du blabla.
2. Identifiez les entits et les associations.
3. Identifiez les proprits.
4. Dterminez les identifiants (identifiants naturels) ou rajoutez-en (identifiants
artificiels).
5. Dessinez le MCD. Pour chaque association, vous placerez les cardinalits.
(En pratique, pas question de faire cela dans un grand sujet : on fera plutt les tapes 2
5 pour chaque entit et association. Nous y reviendrons dans des cas plus complexes.)

La squence est termine ! Pour profiter de la sance de TD suivante, apprenez


bien le cours avant de la commencer. Ne vous rfrez au cours que si vraiment
vous tes bloqu. Bon courage et rendez-vous la squence suivante.

48
8 3932 TG PA 01

Synthse

Dfinitions
Occurrence dentit : une occurrence dentit est une ralisation (concrtisation) de cette entit. Une occurrence dentit aura une valeur pour chaque proprit de lentit. Lensemble de ces valeurs caractrise cette occurrence.
Occurrence dassociation : une occurrence dassociation est une ralisation
(concrtisation) de cette association.
Identifiant dentit : lidentifiant dune entit est une proprit ou un ensemble de proprits de cette entit. La valeur de lidentifiant doit tre stable, non
nulle et caractriser de faon unique loccurrence correspondante. Lidentifiant
peut tre naturel ou artificiel.
Identifiant dassociation : lidentifiant dune association est la concatnation
des identifiants des entits relies.
Cardinalits : les cardinalits dune entit vis--vis dune association indiquent
le nombre minimum (0 ou 1) et maximum (1 ou n) doccurrences de lassociation
auxquelles participe chaque occurrence de lentit. Chaque association comportera autant de cardinalits (couple nombre minimum, nombre maximum) que
dentits relies. Les cardinalits seront crites au bout de chaque patte de lassociation, ct de lentit correspondante. On sparera les cardinalits minimum
et maximum par une virgule.

Conseils
Le nom de lentit est au singulier car lentit (le concept) est unique. Il ny aura pas
deux entits tudiant. Mettre un pluriel serait une confusion entre les occurrences
de lentit et lentit elle-mme. En effet, sil ny a quune entit tudiant, il y aura
plusieurs occurrences dtudiant.
Sur le MCD, une association relie des entits. En revanche, une occurrence dassociation ne concerne que des occurrences dentit. Elle sera forme par une (et une
seule) occurrence de chaque entit relie.
Dans le MCD, on fait figurer toutes les proprits de chaque entit. Pour distinguer lidentifiant, on le souligne et on le met en tte des proprits.
Par dfinition, toute valeur didentifiant (dentit ou dassociation) est unique.
Cest pourquoi on ne peut pas relier deux fois les mmes occurrences dentit par
une mme association.
On peut caractriser une association par ses cardinalits maximales : Une association [1n] est une binaire dont une cardinalit maximale vaut 1, lautre n. Une association [nn] est une association dont toutes les cardinalits maximales valent n.

49
8 3932 TG PA 01

Travaux dirigs 1
Dure indicative :

8 heures

Lobjet des exercices qui suivent est de mettre en uvre de faon systmatique les concepts vus dans le cours pour que cela devienne un automatisme.
Je ne peux que vous rappeler une dernire fois la ncessit de bien connatre
le cours avant de commencer. Sinon, les exercices ne vous permettront pas
lassimilation des diffrentes notions. Ces exercices vous permettront galement dtudier des cas classiques. Plus que de simples exercices dapplication,
ils sont plutt un complment de cours. Ne les bradez pas !

Enfin, faites les exercices dans lordre, la difficult (bien que modeste) tant
croissante.

Exercice 1
Plusieurs kinsithrapeutes se sont regroups en un cabinet de kinsithrapie. Chacun deux
est identifi par un numro identifiant attribu par le ministre de la Sant. Ils ont un nom et
un prnom. Chaque praticien possde une clientle indpendante : chaque patient na affaire qu un seul praticien. On retiendra les nom, prnom et tlphone de chaque patient.

Travail faire
Faites le MCD modlisant le cabinet.

Exercice 2
Lentreprise X est spcialise dans la vente de produits informatiques. Elle vous demande
dinformatiser sa gestion des stocks. Comme vous dbutez dans le mtier (tout le monde a
commenc un jour, nest-ce pas ?), vous ne savez pas trop ce que tout cela signifie. Le responsable de X, qui a conscience que vous ne pourrez informatiser la gestion du stock quen
la comprenant, vous donne les informations suivantes :
Nous vendons du matriel informatique toute sorte de clients : particuliers, entreprises,
administrations En gnral, les entreprises et administrations passent des commandes de
plusieurs dizaines de postes. Il nest pas question de les livrer dans la journe. Les pices en
stock ne leur sont pas destines. En fait, nous rservons nos stocks aux particuliers qui viennent directement au magasin ou passent leur commande par correspondance. Nous voulons
lancer le concept votre PC prt en 48 heures : le client choisit sa configuration (quelle
carte mre, quel processeur, quelle carte graphique) et nous assemblons son PC en deux
jours. Mais bien entendu, pour pouvoir raliser lassemblage, nous devons avoir les pices en

51
8 3932 TG PA 01

Squence 3

Bon, pour rpondre votre question, cest trs simple ! Une famille de produits (je prfrerais dailleurs le terme type famille, cela fait plus professionnel) possde un nom (par
exemple carte mre) et un numro dtagre (car, comprenez-vous, on essaye de stocker les
produits de mme type ensemble. Et, quitte informatiser, jaimerais avoir le numro dtagres o sont stocks les produits dune famille, euh non, dun type donn).
Un produit a un nom, une marque, un prix hors taxes et fait partie dune seule famille de
produits.

Travail faire
1. Ralisez le MCD reprsentant les types de produits et les produits.
Le commercial de lentreprise, qui est informaticien, vient vous voir discrtement pour vous
dire que le dirigeant que vous avez rencontr tait avant tout un brillant gestionnaire, mais
ntait pas un spcialiste de linformatique. Notamment, il na pas pris en compte le fait quun
produit pouvait appartenir plusieurs types ; par exemple, une carte mre peut possder un
circuit son voire vido, donc tre elle seule carte mre, carte son et carte graphique.
2. Corrigez le MCD en consquence.
Vous tes rappel en catastrophe par le responsable : pour grer efficacement les stocks,
vous dit-il, il faut savoir combien lon a dexemplaires de chaque produit en stock. Et jaimerais aussi savoir le nombre de produits de chaque type que je possde.
3. Adaptez le MCD en consquence si besoin est (une aide : repensez au cas de la gestion des
permis de construire quand on voulait la surface du terrain en ares et en m2).
Note sur cet exercice : cet exercice est important car la notion de couple produit/type de
produits est un classique.

Exercice 3
Un cabinet mdical est constitu par une dizaine de mdecins. Chacun deux est identifi
par un numro attribu par le ministre de la Sant. Ils ont un nom, un prnom, un numro
de poste tlphonique et une spcialit (gnraliste, cardiologue). Chaque praticien possde une clientle indpendante : un patient ne consultera quun mdecin par spcialit (le
patient dun gnraliste nira jamais consulter un autre gnraliste du cabinet). En revanche,
un mme patient peut consulter des spcialistes diffrents (comme un gnraliste et un
cardiologue). On retiendra les nom, prnom et tlphone de chaque patient.

Travail faire
Faites le MCD modlisant le cabinet.

Oui, vous avez russi glisser une question dans ce discours fleuve qui, bien quintressant pour la culture gnrale, a peu dintrt pour ce que vous avez faire.

52
8 3932 TG PA 01

MCD : les concepts de base 2/2

Exercice 4
Le responsable dun cabinet darchitectes souhaite informatiser la gestion des diffrentes tapes pour construire une maison. Pour cela, il a distingu 20 tapes essentielles (fondations,
charpente, toiture, hors deau). Chaque tape aura un nom lidentifiant sans ambigut,
une dure en jours et un lieu de ralisation (intrieur ou extrieur de la maison).
Le responsable du cabinet dispose dune liste de 1 8 entreprises srieuses pour chaque
tape, certaines entreprises pouvant tre retenues pour plusieurs tapes. Une entreprise
seracaractrise par les proprits habituelles. Pour chaque tape, on aura le nom dune
personne du cabinet apte vrifier la bonne ralisation du travail fait.

Travail faire
Faites le MCD modlisant la gestion des tapes.

Exercice 5
Je commence tre court dexercices 2 entits et une association binaire. Plus prcisment,
je suis court. De plus, ce nest pas franchement intressant. Nous allons donc aller un peu
au-del. Cela ne rend pas les exercices plus compliqus pour autant !
On reprend le sujet prcdent, sauf le contrleur quon laisse dans lexercice 4. Ce qui donne
(jai rsum) :
Une maison est construite par tapes (nom lidentifiant sans ambigut, une dure en jours, un
lieu de ralisation intrieur ou extrieur de la maison ). Pour chaque tape, on dispose dentreprises pouvant les raliser. Certaines entreprises pouvent tre retenues pour plusieurs tapes.
On rajoute ce qui suit : le cabinet darchitectes fait aussi bureau dtudes, matrise douvrage
Cest une entreprise dune taille importante, divise en multiples services. Notamment, tous les
salaris comptents pour suivre une tape donne du chantier sont regroups dans un service.
On aura donc un service comptent par tape de construction. Pour faire la toiture dune maison, le cabinet prendra donc une des entreprises habilites pour cette tape toiture et demandera lun des salaris du service comptent dans la toiture de contrler le travail.
Un service possde un libell et une date de cration. Un salari possde un nom, un prnom,
une adresse, un tlphone et une date dembauche. Un salari pouvant tre comptent dans
plusieurs domaines, il peut tre affect diffrents services.

Travail faire
Mettez jour le MCD pour prendre en compte ces modifications.
Si vous avez du mal, travaillez par tapes : ralisez le MCD des services et salaris, puis reliez
les deux MCD.

Exercice 6
On reprend le sujet de lexercice 4, en enlevant toute rfrence aux contrles :
Une maison est construite par tapes (nom lidentifiant sans ambigut, une dure en jours, un
lieu de ralisation intrieur ou extrieur de la maison ). Pour chaque tape, on dispose dentreprises pouvant les raliser. Certaines entreprises peuvent tre retenues pour plusieurs tapes.

53
8 3932 TG PA 01

Squence 3

Pour viter tout problme de fraude, le cabinet dcide dexternaliser le contrle des chantiers quelle dirige. Ainsi, ce nest plus un salari du cabinet qui ira vrifier la bonne ralisation dune tape de la construction, mais une entreprise tierce. Pour chaque tape, le cabinet
a slectionn une entreprise de vrification (jamais une entreprise dj retenue pour raliser
une tape). Chaque entreprise de vrification ne pourra vrifier quune tape.

Travail faire
1. Mettez jour le MCD pour prendre en compte lentreprise de vrification. Il y a deux solutions possibles : soit lon regroupe toutes les entreprises (on na alors quune association
rajouter), soit lon distingue entreprises de construction et entreprises de vrification
(dans ce cas, il faut ajouter une entit et une association). Faites un MCD pour chaque
solution.

Exercice 7
Gestion des permis de construire (deuxime partie). Rappel du sujet initial (jai enlev les
fioritures) :
Un terrain est caractris par une rfrence cadastrale, une surface en ares, un type (constructible, inondable, indtermin). Un propritaire est caractris par ses nom, prnom,
adresse et date de naissance.
Un terrain appartient un seul propritaire.
On rajoute la gestion des maisons.
Une maison est dcrite par une surface au sol, un nombre de pices, un type de chauffage (gaz
ou lectrique), une date dachvement. Elle appartient un propritaire unique. Bien entendu,
le terrain et le(s) maison(s) qui y sont bties doivent appartenir la mme personne : pas question daller construire une maison sur le terrain du voisin quand il est parti en vacances !

Travail faire
Faites le MCD correspondant (attention aux redondances !)

Exercice 8
Changeons un peu de type dexercice. Je vous donne un MCD, vous me donnez la description
du rel correspondant sans paraphraser le schma. Bien entendu, la difficult est de retrouver les rgles de gestion au travers des associations et cardinalits (aucune nest anodine),
sachant que vous avez droit une primeur : une ternaire !
Premier MCD :
TUDIANT
Numrotudiant
Nom
Prnom
Rue
Code postal
Ville

COURS
1,n

suivre

0,n

Titre
Dure

54
8 3932 TG PA 01

MCD : les concepts de base 2/2

Second MCD :
TUDIANT
Numrotudiant
Nom
Prnom
Rue
Code postal
Ville

1,n

suivre

0,n

COURS
Titre
Dure

1,n

ANNE
AAAA

Lentit Anne ne dois pas vous angoisser. Lidentifiant AAAA indique juste que lon stocke
lanne (A pour Anne) sur quatre chiffres (p. ex. 2001). Lentit est assez particulire puisquelle na quune seule proprit. Mais bon, que rajouter une date ? La question laquelle
vous devez rpondre est en fait : Pourquoi a-t-on besoin de grer la date comme une
entit, donc dutiliser une ternaire et non une binaire ? Hein ?

Travail faire
Donnez le rel reprsent par le second MCD et comparez avec le premier, que vous connaissez dj.

Exercice 9
Exploitons les ternaires !
Transportons-nous dans un lyce pour grer les inspections des enseignants.
Un enseignant (nom, prnom, adresse, tlphone et date dobtention du concours) est
inspect plusieurs reprises dans sa carrire. Bien entendu, toutes les informations lies
chaque inspection (date [note JJMMAAAA] et nom de linspecteur) sont mmorises et
suivent lenseignant tout au long de sa carrire. Un inspecteur est caractris par ses nom,
prnom, adresse et date darrive dans le corps des inspecteurs. Tous les membres de lducation Nationale, dont les inspecteurs et enseignants, sont identifis par un Numen (NUMro
dducation Nationale, identifiant interne lducation Nationale).

Travail faire
Pour changer, faites donc le MCD de la gestion des inspections au sein du lyce !

Exercice 10
Encore plus quune ternaire !
Retournons dans le lyce pour terminer la gestion des inspections. On rajoute au sujet la
contrainte suivante :
Un professeur enseigne dans une discipline donne. Un inspecteur nest habilit que pour
une discipline. Linspecteur ne visitera que les enseignants de sa discipline. Une discipline est
caractrise par la matire (franais, mathmatiques) et le niveau denseignement (collge,
lyce, lyce professionnel, BTS).

Travail faire
Rajoutez cette contrainte dans le MCD prcdent (celui avec lassociation inspecter).

55
8 3932 TG PA 01

Squence 4

MCD : fin
Dure indicative : 6 heures

Nous allons tudier ici les derniers concepts relatifs au MCD : les porteuses de
donnes, les rflexives et les entits faibles. Ce ne sont pas des choses nouvelles,
plutt des cas particuliers dassociations.

u Capacits attendues
Matriser le vocabulaire de Merise
Assimiler les concepts vhiculs par ces termes
Reprsenter graphiquement un MCD.

u Contenu
1.

Association porteuse de donnes ................................................ 58

1A.
1B.

Introduction ............................................................................................... 58
Dfinition ................................................................................................... 59

2.

Association rflexive ......................................................................... 61

2A.
2B.

Introduction ............................................................................................... 61
Dfinition ................................................................................................... 63

3.

Les entits faibles ............................................................................... 64

3A.
3B.
3C.

Prsentation ............................................................................................... 64
Dfinition ................................................................................................... 66
Autre formalisme ...................................................................................... 67

Synthse

57
8 3932 TG PA 01

Squence 4

1.

Association porteuse de donnes

1A.

Introduction
Revenons linspection des enseignants vue dans les travaux dirigs. Ce nest pas
quelque chose du style descente de police . Lenseignant ne risque pas son poste.
Cependant, ce nest pas non plus une visite de courtoisie. Linspecteur attribuera une
note et un commentaire (rapport dinspection) qui influera sur la vitesse davancement
de carrire de lenseignant.
Autant dire que limportant dans la visite nest pas vraiment le nom de linspecteur qui
nest conserv qu des fins de contrle. Cest avant tout la note attribue, ainsi que la
date de linspection qui indique quand prendre en compte la note.
Il faut donc stocker ces donnes (notes et commentaires) dans notre systme dinformation, sachant que chaque inspection donne une note et un commentaire. Nous allons
travailler sur le sujet initial (exercice 9 des travaux dirigs prcdents) que je complte
un peu, ce qui donne :
Un enseignant (nom, prnom, adresse, tlphone et date dobtention du concours) est
inspect plusieurs reprises dans sa carrire.
Les informations lies chaque inspection (date, inspecteur, note et commentaire) sont
mmorises et suivent lenseignant tout au long de sa carrire.
Un inspecteur est caractris par ses nom, prnom, adresse et date darrive dans le corps
des inspecteurs.
Tous les membres de lducation Nationale, dont les inspecteurs et les enseignants, sont
identifis par un Numen (NUMro dducation Nationale, identifiant interne lducation Nationale).

Exercice 25
En reprenant le MCD o linspection tait reprsente par une entit (voir la correction de
lexercice 9 des travaux dirigs prcdents), prenez en compte les nouvelles donnes relatives
linspection : la note et le commentaire.
Dans lexercice 9, nous avions reprsent linspection de deux faons diffrentes : avec
une entit puis une association. Le cas de lentit vient dtre rgl facilement dans
lexercice prcdent. Reste donc lassociation. Je vous rappelle le MCD :
INSPECTEUR

ENSEIGNANT

Numenlnsp

NumenEns

Nomlnsp
Prnomlnsp
Adrlnsp

NomEns
1, n

inspecter

Codelnsp
Villelnsp

0, n

PrnomEns
AdrEns
CodeEns

1, n

Datelnsp

VilleEns
DateEns

DATE
JJMMAAAA

58
8 3932 TG PA 01

MCD : fin

O faire figurer la note et le commentaire de linspection ? Quand linspection est une


entit, cest simple, mais ici linspection est assez intangible puisque uniquement reprsente par un lien.
La note et le commentaire sont lis une inspection. Or, ici, quest-ce qui dtermine linspection ? cest lassociation. Et quest-ce qui identifie lassociation ? Cest son identifiant,
soit la concatnation des identifiants des entits relies.
Une inspection sera donc identifie par NumenInsp, NumenEns et JJMMAAAA, bref par
une occurrence dInspecteur, une occurrence dEnseignant et une occurrence de Date.
La note et le commentaire seront dtermins par ces mmes valeurs, donc sont lis
loccurrence dinspecter.
Nous allons donc lier les donnes lassociation elle-mme. Lassociation sera dite porteuse de donnes, ou, plus simplement, porteuse :
INSPECTEUR

ENSEIGNANT

Numenlnsp

NumenEns

Nomlnsp

NomEns

Prnomlnsp
Adrlnsp
Codelnsp
Villelnsp
Datelnsp

1, n

inspecter
note
commentaire
1, n

0, n

PrnomEns
AdrEns
CodeEns
VilleEns
DateEns

DATE
JJMMAAAA

Notez le formalisme : les donnes (proprits) sont crites dans le rond de lassociation, sous son nom (nom et
proprits tant spars par un trait).

On obtient alors la dfinition prsente dans les lignes suivantes.

1B.

Dfinition
Association porteuse de donnes : une association est porteuse de donnes si elle
possde une ou plusieurs proprits.
Lidentifiant de lassociation dterminant loccurrence de lassociation, il dterminera aussi la valeur de ces proprits (comme pour une entit).
Finalement, on peut faire un parallle entre entit et association, puisque les deux ont
des occurrences, des identifiants et des proprits. Ce parallle est si fort quon hsite
parfois entre une entit et une association pour reprsenter un concept. On fera le point
sur ce problme dans la squence suivante.
Trs souvent, on est en plein ravissement lorsque lon dcouvre un nouveau concept et
lon tente de lutiliser partout. Il ne faut donc pas se laisser aller et utiliser les associations
porteuses de donnes tout bout de champ.
On ne mettra des proprits dans une association que si ces proprits sont dtermines
(identifies) par tout lidentifiant de lassociation.

59
8 3932 TG PA 01

Squence 4

Exercice 26
Reprenons notre vieil exercice sur les tudiants sinscrivant au CNED. Je vous rappelle le MCD :

TUDIANT
Numerotudiant
Nom
Prnom
Rue

COURS
1, n

suivre

0, n

Titre
Dure

Code postal
Ville

Pour assurer le suivi pdagogique des tudiants, le CNED veut conserver la moyenne annuelle
des tudiants pour chaque cours suivi. Modlisez cela sur le MCD.
Attention, il y a une astuce !

Exercice 27
Simplifions le sujet : le CNED sest aperu que la multiplication des inscriptions nuisait aux tudiants, qui ne pouvaient pas valablement suivre plusieurs enseignements la fois. Il est donc
dcid de nadmettre quune inscription annuelle. Modifiez le MCD de lexercice prcdent en
consquence.
Attention, il y a une astuce !
Reprenons la conclusion de lexercice et faisons-en une rgle de validation de MCD,
savoir une rgle absolue qui, lorsquelle est viole, indique irrmdiablement une erreur
dans le MCD :
une association ayant une cardinalit 1,1 (ou 0,1) ne peut pas tre porteuse de donnes.

Et cette fois, je ne plaisante pas.

60
8 3932 TG PA 01

MCD : fin

2.

Association rflexive

2A.

Introduction
Ce nest pas un nouveau concept thorique, mais un cas particulier dassociation. Nous
allons travailler sur le sujet suivant :
Nous sommes la mairie pour informatiser la gestion de ltat civil, notamment les
mariages. Les conditions sont simples : une personne possde un nom, prnom, sexe,
adresse, date et lieu de naissance. Un mariage est ralis entre deux personnes de sexes
diffrents. On considre quune personne peut tre marie plusieurs fois (bien entendu
des dates diffrentes, mais on ne gre pas les dates pour le moment).

Exercice 28
Faites le MCD du sujet ci-dessus en prenant bien garde de respecter la contrainte du mariage
entre personnes de sexes diffrents.
La solution vue dans le corrig de lexercice nest pas satisfaisante car, pour relier deux
personnes par les liens sacrs du mariage (pour relier deux occurrences de Personne par
une occurrence dpouser), nous avons reprsent deux fois la mme entit.
Mais, au fait, pourquoi nous sommes-nous senti obligs de faire cela ? Regardez l animation suivante :

pouser
1, n

1, n

PERSONNE
NumeroP
NomP
PrnomP
SexeP
DateNaissanceP
AdrP
CodeP
VilleP

PERSONNE
NumeroP
NomP
PrnomP
SexeP
DateNaissanceP
AdrP
CodeP
VilleP

PERSONNE
NumeroP
NomP
PrnomP
SexeP
DateNaissanceP
AdrP
CodeP
VilleP

1, n

pouser
1, n

PERSONNE
NumeroP
NomP
PrnomP
SexeP
DateNaissanceP
AdrP
CodeP
VilleP

PERSONNE
NumeroP
NomP PERSONNE
PrnomP
NumeroP
SexeP
NomP
DateNaissanceP
PrnomP
AdrPSexeP
CodeP
DateNaissanceP
VilleP
AdrP

1, n

pouser

PERSONNE
NumeroP
NomP
PrnomP
SexeP
DateNaissanceP
AdrP
CodeP
VilleP

1, n

1, n

pouser

1, n

CodeP
VilleP

Il ne sagit pas de mettre les deux entits Personne lune sur lautre. Je voulais juste vous monO trer
pourquoi il tait intuitif et naturel de relier une entit avec elle-mme par une association.
En fait, une occurrence dpouser relie bien deux occurrences dentit que ces occurrences
appartiennent la mme entit est secondaire. Une telle association sera dite rflexive.
61
8 3932 TG PA 01

Squence 4

Vous remarquerez que le problme voqu dans la correction de lexercice prcdent est
rsolu : on a bien unicit de lentit et donc aucune partition des diffrentes occurrences.
Les deux pattes dpouser symbolisent toujours la mme chose : lune des personnes est
le mari, lautre est la femme. Sauf quavant, ctait vident (la patte relie Homme
reprsentait le mari, celle relie Femme reprsentait la femme). Maintenant, on ne sait
plus quelle patte reprsente qui puisque le MCD est parfaitement symtrique : les deux
pattes tant identiques, elles sont interchangeables.
Lorsque cest utile pour la comprhension du MCD, on peut nommer les pattes des
rflexives pour savoir quel est le rle de chacune delles.
Cela donnerait ici :
PERSONNE
NumeroP
NomP
PrnomP
SexeP
DateNaissanceP
AdrP
CodeP
VilleP

1, n

L'occurence de Personne relie par cette


patte d'pouser doit tre un homme.

poux
pouser
pouse

1, n

L'occurence de Personne relie par cette patte


d'pouser doit tre une femme.

Remarques
1. Indiquer le rle de chaque patte obligera le respecter lors de la saisie des donnes.
Si la premire patte indique lhomme et la seconde la femme, cela signifie que le programme devra vrifier que la premire personne indique pour le mariage a pour sexe
homme, la seconde ayant pour sexe femme. Il est inutile dajouter la moindre rgle de
gestion puisque linformation est contenue dans le MCD.
2. notre niveau, choisir lune ou lautre des pattes et lappeler poux, lautre tant
pouse, na aucune importance. En revanche, lorsque lon crera la base de donnes,
des raisons defficacit du traitement rendront le choix moins anodin. Mais ces considrations oprationnelles nont aucune valeur au niveau conceptuel.
3. Si lon est dtermin faire des neries, le MCD nempche pas quune personne
spouse elle-mme ! (Sauf mettre en uvre la vrification par le programme vue
dans la premire remarque.)
Je vous conseille dindiquer systmatiquement les rles des pattes des rflexives pour
augmenter la lisibilit du modle.
Oh l ! Tout notre excitation de dcouverte de ce nouveau jouet quest la rflexive,
nous avons oubli nos rflexes de base : la vrification des cardinalits.

Exercice 29
Dans le MCD ci-dessus mettant en uvre la rflexive, les cardinalits sont fausses. Pourtant,
elles sont justes dans les MCD reprsentant la mme chose mais sans rflexive. Expliquez pourquoi, puis corrigez ces cardinalits.

62
8 3932 TG PA 01

MCD : fin

Jinsiste ! on retiendra :
Lorsque lon btit une nouvelle association sur une entit en comportant dj (donc
quand on rajoute une patte dassociation une entit), les cardinalits dj existantes doivent tre revisites.

2B.

Dfinition
Ah, joubliais la dfinition ! Il fallait me la rclamer !
Association rflexive : une association est rflexive si une entit participe plus
dune fois cette association. Il est prfrable de toujours indiquer les rles des pattes et il faut vrifier soigneusement les cardinalits.
Vous remarquerez que la dfinition nest pas restrictive ; les trois associations suivantes
sont donc des rflexives :

ENTIT
Proprit_1
Proprit_2
(etc)
Proprit_n

0,n

0,n

ENTIT_1
(proprits)

association

0,n

1,n

0,n

0,n

ENTIT_2
(proprits)

association

ENTIT_3
(proprits)

0,n
ENTIT_1
(proprits)

0,n
0,n

association

0,n
0,n
0,n

ENTIT_2
(proprits)

Si ces associations sont correctes dun point de vue modlisation, il nest pas du
O tout
vident que la smantique quelles apportent ait un sens dans la vie relle.
Cest dailleurs parce que je nai pas trouv dexemple que je nai pas donn de nom
aux associations et entits.
Dit autrement, si vous tes amen produire de tels mutants, vrifiez une dizaine de
fois leur validit.
Bien, nous allons exploiter notre nouvelle connaissance dans trois exercices sympathiques.

Exercice 30
Nous reprenons le sujet prcdent (le mariage). Cette fois, nous voulons faire les choses correctement : un mariage est clbr une date prcise. Il prend ventuellement fin une date
prcise (correspondant la date du divorce). Une personne ne peut contracter quun mariage
la fois. Faites le MCD correspondant.
Jinsiste ! On retiendra :
Lorsquun vnement matrialis par une association doit tre historis, la proprit
date devient une entit participant lassociation.
63
8 3932 TG PA 01

Squence 4

Exercice 31
On rajoute les tmoins : un mariage doit tre clbr en prsence de deux tmoins (nom, prnom, adresse, date de naissance les choses classiques). Rajoutez les tmoins dans le MCD.

Exercice 32
On na pas encore donn la correction de lexercice prcdent, mais ce nouvel exercice est sens
vous aider. Je vous rajoute les contraintes suivantes : un mariage est clbr non seulement
une date prcise, mais aussi une heure prcise. Les poux peuvent avoir sign un contrat de
mariage auprs dun notaire (nom, prnom, adresse). Il y a plusieurs types de contrats : communaut, communaut rduite aux acquts, sparation de biens videmment, il faut stocker
le type du contrat et le notaire pour pouvoir rdiger les actes officiels. Les poux doivent dsigner de 2 4 tmoins. Enfin, le maire ou lun de ses adjoints peut clbrer le mariage. Chacune
de ces personnes est identifie par ses nom, prnom, date de naissance et date dlection en
tant que maire ou adjoint. Faites le MCD. Attention, cet exercice nest pas spcialement difficile, mais il contient des piges potentiels.

Cest inexact puisque en ralit, il doit y avoir de 2 4 tmoins. Cette simplification sera
supprime ds lexercice suivant.

3.

Les entits faibles

3A.

Prsentation
Pas question de leur faire faire de la musculation ! Elles ne sont pas faibles par manque
de muscle, mais parce quelles sont dpendantes dautres entits, un peu comme un
bb teckel dpend de sa maman teckel.

Exercice 33
Le fait quune entit dpende dune autre doit vous choquer affreusement ; pourquoi ?
Nous allons voir que les entits faibles permettent de traduire un concept de la vraie vie :
la notion de dpendance, qui ne peut tre correctement reprsent par une association.
tudions le cas suivant :
Une centrale htelire vous demande de grer son parc de chambres dhtel. La description du rel est la suivante : la centrale gre une dizaine dhtels, chacun tant dcrit
par un nom, une adresse et un nombre de chambres. Chaque chambre est dcrite par son
tage, son numro de porte, sa capacit (une, deux ou trois personnes) et la prsence ou
labsence de cabinet de toilette.

Exercice 34
Faites le MCD modlisant le systme dinformation de la centrale htelire.
64
8 3932 TG PA 01

MCD : fin

Analysons la solution de lexercice : lidentifiant artificiel des chambres est trs lourd.
Dans la ralit, on ne parlera pas de la chambre 984, mais plutt de la chambre 27 de
lhtel numro cinq. De plus, ces deux chiffres (27 et 5) sont stocks dans le systme
dinformation.

Exercice 35
O sont stockes ces informations ? En dautres termes, comment puis-je savoir dans quel
htel est la chambre didentifiant artificiel 984 et quel est son numro rel ?

Rsumons-nous
1. Dans la vraie vie, on parlera de la chambre dun htel donn (chambre 27 de lhtel
5) plutt que de la chambre seule (chambre 984), puisque ce numro 984 nexiste pas
dans la ralit.
2. La chambre est toujours lie un et un seul htel (patte 1,1). Une chambre sans htel
associ na pas de sens.
On a dj la solution intuitive ce problme : on va supprimer lidentifiant artificiel
de Chambre et dire que chaque chambre est identifie par son numro dhtel et son
numro de porte. Cela donnera le MCD suivant :

HTEL

CHAMBRE

NumeroHtel

NumroHtel

NomHtel
NbrChambres
AdrHtel
CodeHtel
VilleHtel

1,n

contenir

1,1

NumroChambre
tage
NbrPersonnes
Cabinet

Vous remarquerez que jai renomm NumroPorteChambre en NumroChambre puisquil ny a plus dambigut.
Nous sommes daccord sur le fait que la concatnation des deux proprits NumroHtel
et NumroChambre forme un identifiant valide. En effet :
lhtel 5 possde de nombreuses chambres. NumroHtel nest donc pas identifiant
de Chambre ;
la chambre 27 existe dans chaque htel (NumroChambre nest donc pas non plus
identifiant) ;
en revanche, la chambre 27 de lhtel 5 est unique. La concatnation des deux proprits est donc identifiant.

Exercice 36
Hlas pour nous, cette solution nest pas conforme aux rgles du MCD. Quel est le problme ?

65
8 3932 TG PA 01

Squence 4

Ce nest pas le seul problme : la suite de notre raisonnement, il est vident, pour nous,
que la chambre et lhtel associs par contenir ont une mme valeur pour NumroHtel.
Mais cela nest pas vident pour quelquun prenant le cours en route.
En clair, ce que lon veut reprsenter nest pas modlisable pour le moment ; nous avons donc
besoin dun outil supplmentaire. Cest outil, ce nest pas une surprise, cest lentit faible.
Dans notre exercice, on dira que lentit Chambre est une entit faible, dpendante de
lentit Htel. On reprsentera cela en encadrant la proprit NumroHtel de Chambre
par des caractres # comme suit :
HTEL

CHAMBRE

NumeroHtel

#NumroHtel#

NomHtel
NbrChambres
AdrHtel

1,n

contenir

CodeHtel
VilleHtel

NumroChambre
1,1

tage
NbrPersonnes
Cabinet

Cest un peu dcevant la seule diffrence entre ce MCD et le prcdent, ce sont deux #.
Mais il est important de comprendre que ces deux caractres changent tout !
Les # indiquent que lon a affaire une entit faible : les occurrences de Chambre et
Htel relies par contenir ont la mme valeur pour NumroHtel, cela traduisant le fait
que la chambre appartient un htel prcis.
Nous sommes prts aborder la dfinition.

3B.

Dfinition
Entit faible : une entit faible est une chose du monde rel qui possde une existence propre dpendant de lexistence dune autre entit, des caractristiques bien
dfinies, qui prsente un intrt et a un sens pour le systme dinformation tudi.
(on retrouve la dfinition dentit, jai mis en gras ce qui tait nouveau.)

On apprendra galement la remarque suivante :


Une occurrence dentit faible nexiste que vis--vis de loccurrence dune autre entit.
On ne peut donc pas avoir dautres cardinalits que 1,1 du ct de lentit faible.
Je me permets un commentaire assez technique sur ce 1,1. Ces cardinalits signifient quune
occurrence de lentit correspondante ne participe qu une et une seule occurrence dassociation. Mais cela peut donner les deux situations tout fait diffrentes que je vais illustrer.

66
8 3932 TG PA 01

MCD : fin

HTEL
NumroHtel
NomHtel
(etc)

1,n

contenir

1,1

CHAMBRE
#NumroHtel#
NumeroChambre
(etc)

SERVICE
NumroService
Description

La chambre est physiquement dans un seul htel, toujours


le mme. On dit alors que lassociation contenir est stable
(sous entendu stable dans le temps) : lorsquune chambre est
associe un htel, cest pour longtemps ! Lemploi dune
entit faible est valide.

0,n

travailler

1,1

SALARI
NumroSalari
Nom
Prnom

Tant quil travaille dans lentreprise, un salari est toujours


affect un seul service. Mais, au fur et mesure de sa
carrire, il peut changer de service. Lassociation travailler nest
donc pas stable. On ne pourra pas utiliser dentit faible.

Ainsi, non seulement lentit faible doit tre lie une autre entit, mais chaque
occurrence de lentit faible doit tre lie de faon permanente une occurrence de
lautre entit.
Classiquement, on utilisera une entit faible lorsque lon aura explicitement un numro
doccurrence vis--vis dune autre occurrence (un numro de chambre dans un htel, un
numro de place dans un train).
tudions cela au travers de quelques exercices.

Exercice 37
Nous voulons modliser lactivit dune mdiathque. Une inscription est faite au nom dune
famille. Comme chaque enfant a droit un nombre demprunts diffrent selon son ge, on
souhaite stocker, pour chaque inscription, la liste des enfants avec leur rang (le premier, le
deuxime). Faites le MCD correspondant.

Exercice 38
Le service dtat civil dune prfecture possde une base de donnes rfrenant les habitants.
Chaque personne est donc une occurrence dune entit Personne contenant classiquement le
nom et ladresse en proprits.
Le service souhaite maintenant raliser des statistiques sur les prnoms des habitants. Une personne possde de 1 3 prnoms dont lordre importe. Un prnom est dcrit par son libell et
par sa date dapparition en France.
On vous demande de rajouter une entit Prnom et de mettre jour le MCD en consquence.

3C.

Autre formalisme
Pour terminer, ouvrons les yeux sur ce qui se passe ailleurs : la reprsentation de lentit
faible nest pas standardise. Vous pourrez donc trouver dans la littrature la reprsentation suivante :
HTEL

CHAMBRE

NumeroHtel

NumroChambre

NomHtel
NbrChambres
AdrHtel
CodeHtel

1,n

contenir

tage
(1,1)

NbrPersonnes
Cabinet

VilleHtel

67
8 3932 TG PA 01

Squence 4

Cest encore plus discret que les # ! Avez-vous vu le formalisme ? Les cardinalits 1,1
du ct de lentit faible sont entre parenthses. Et cest tout ! Attention, notez bien
que cette reprsentation signifie toujours la mme chose, savoir que lidentifiant de
Chambre est constitu de NumroHtel et NumroChambre mme si cela nest pas
repris explicitement dans le MCD.
Comme je trouve quil y a trop dimplicite dans ce formalisme, je vous conseille les #.

Voil ! bientt dans la squence suivante.


Vrifiez bien vos MCD !
Vous pouvez, ds maintenant, faire et envoyer la correction le devoir 1 (voir fascicule devoirs rf. 3932 DG).

68
8 3932 TG PA 01

Synthse

Dfinitions
Association porteuse de donnes : une association est porteuse de donnes
si elle possde une ou plusieurs proprits. Lidentifiant de lassociation dterminant loccurrence de lassociation, il dterminera aussi la valeur de ces proprits
(comme pour une entit).
Association rflexive : une association est rflexive si une entit participe plus
dune fois cette association. Il est prfrable de toujours indiquer les rles des
pattes et il faut vrifier soigneusement les cardinalits.
Entit faible : une entit faible est une chose du monde rel qui possde
une existence propre dpendant de lexistence dune autre entit, des
caractristiques bien dfinies, qui prsente un intrt et a un sens pour le systme
dinformation tudi.

Conseils
Si une association est porteuse de proprits. Vrifiez que ces proprits sont dtermines
(identifies) par tout lidentifiant de lassociation.
Lorsque lon btit une nouvelle association sur une entit en comportant dj (donc quand
on rajoute une patte dassociation une entit), les cardinalits dj existantes doivent
tre revisites.
Lorsquun vnement matrialis par une association doit tre historis, la proprit datedevient une entit participant lassociation.
Une occurrence dentit faible nexiste que vis--vis de loccurrence dune autre entit. On
ne peut donc pas avoir dautres cardinalits que 1,1 du ct de lentit faible.
Ainsi, non seulement lentit faible doit tre lie une autre entit, mais chaque occurrence
de lentit faible doit tre lie de faon permanente une occurrence de lautre entit.

69
8 3932 TG PA 01

Squence 5

Le MLD
Dure indicative : 4 heures

Cela ne vous posera aucun problme. Bien que simple, cest une tape primordiale
car elle fait le lien entre le conceptuel et linformatisation. Outre son intrt dans
la comprhension globale du systme dinformation tudi, cest une production
souvent demande lexamen.

Capacits attendues
Comprendre limportance du MLD
Savoir raliser un MLD prenant en compte toutes les particularits
du MCD

Contenu
1.

Introduction ........................................................................................... 72

1A.
1B.

Rappel de la dfinition ............................................................................. 72


Rappel du sermon ..................................................................................... 72

2.

Le MLD .................................................................................................... 73

2A.
2B.
2C.
2D.
2E.
2F.
2G.
2H.

Utilisation du MLD .................................................................................... 73


Rappel de vocabulaire .............................................................................. 73
Notation ..................................................................................................... 74
Rgles de passage MCD " MLD .............................................................. 75
Exemples .................................................................................................... 76
Vrification ................................................................................................ 76
Dmarche et exemple ............................................................................... 78
Quelques cas particuliers .......................................................................... 79

3.

Conclusion (brve !) ........................................................................... 86

Synthse

71
8 3932 TG PA 01

Squence 5

1.

Introduction

1A.

Rappel de la dfinition
Le MLD se drive du MCD. Alors que le MCD prsente la connexion des donnes
entre elles de faon thorique (conceptuelle), lobjet du MLD est dindiquer comment
ces donnes vont tre stockes dans le systme informatique pour conserver linterconnexion tablie dans le MCD.
Le MLD va dpendre du type dapplication informatique utilis. Jadis on utilisait les
fichiers, maintenant on exploite les SGBD Relationnels (SGBD pour Systme de Gestion
de Base de Donnes).
Je vais donc vous prsenter le MLD orient SGBD. Notons que Merise a environ 30 ans,
tandis que les SGBD Relationnels ont une petite vingtaine dannes dexistence. Le fait
que la mthode Merise se soit adapte sans problme quelque chose de beaucoup plus
moderne montre sa validit : 30 ans aprs, ses concepts ne sont pas prims.
Il est sans doute opportun de retourner en squence 3 paragraphe 2A. pour relire en
diagonale lapproche par le MLD tableau que javais utilise. On remarquera au passage
la simplicit du MLD ! Je men tais servi sans vous lexpliquer afin de mieux vous faire
comprendre des notions de MCD.

1B.

Rappel du sermon
Je peux ressortir mon sermon de la squence 5 sur lobligation de respecter les rgles.
Le MLD ne doit pas vous poser de problme puisquil sobtient en appliquant strictement des rgles peu nombreuses. Comme dhabitude, il est prfrable de les comprendre (de les sentir par lintuition). dfaut, il faut les apprendre et les appliquer
aveuglment.
Bref, il est indigne de rpondre de travers quand on vous demande de fournir le MLD
partir dun MCD puisque le travail est tellement automatique que des logiciels font cela
sans problme.
Il y a quand mme une difficult : il faut une rigueur extrme car la simplicit de lexercice est telle que loubli de la moindre proprit fait perdre lessentiel des points.

Reportez-vous votre cours de S2 (ALSI, Architecture Logicielle des Systmes dInformation)


pour une description des SGBD et ltude du SGBD Access. Notons que les SGBD Relationnels sont
la dernire version des SGBD, qui furent prcdemment hirarchiques ou rseaux.
72
8 3932 TG PA 01

Le MLD

2.

Le MLD

2A.

Utilisation du MLD
Je rpte que nous utilisons un MLD orient SGBD. Notre objectif est donc de dvelopper
une application autour dune base de donnes. Nous devons dfinir la faon dont on va
stocker les donnes dans la base pour conserver la structuration apporte par le MCD.
Eh bien, je lve le voile : notre niveau (ceci est un cours danalyse, pas de SGBD), le MLD
va tre exactement le mme que celui avec les tableaux vu en squence 3 ! Sauf quau
lieu de la notion de tableau, on utilisera la notion de table, propre au vocabulaire des
SGBD, bien que le concept sous-jacent soit le mme.
Le MLD va donc vous permettre de dfinir lorganisation des tables. Il est ncessaire de
connatre les bases de lutilisation dun SGBD, notamment la dfinition des tables sur
Access et le vocabulaire associ.

2B.

Rappel de vocabulaire
Le MCD et les tables dun SGBD partagent plusieurs concepts essentiels. Seuls leurs noms
diffrent, car ils ont vu le jour des poques et en des lieux diffrents. De mme que lon
emploiera le terme rpertoire sous DOS et dossier sous Windows pour reprsenter la mme
chose, il convient dadopter le vocabulaire correspondant chaque poque et outil.
Mme si les termes se rfrent au mme concept, veillez ne pas les mlanger car cela
sent sa province ! Vous retiendrez donc :
Vocabulaire MCD

Vocabulaire MLD et SGBD

identifiant

cl primaire

proprit

champ

Notons que lorsquune proprit (notion conceptuelle) devient un champ, on doit lui
attribuer son type de donnes puis dans le dictionnaire des donnes.
On justifie donc finalement lemploi de termes diffrents : en premire approximation,
les concepts sont identiques, mais, si lon est rigoureux, le vocabulaire du SGBD correspond des notions beaucoup plus ancres dans le rel.
Il existe un concept propre au MLD : la cl trangre. Sa dfinition est simple.
Cl trangre : une cl trangre est un champ dune table qui est cl primaire dans
une autre table.
Retournez trs exactement la squence 3, paragraphe 4A. et regardez les tableaux
propritaire et terrain NumroPropritaire est une cl trangre dans terrain puisque
cest la fois un champ de terrain et une cl primaire de propritaire.

En fait, le SGBD peut tre vu comme un systme de tableaux dont lorganisation et la gestion
sont ralises automatiquement par le SGBD lui-mme (videmment, ce sont lorganisation et la
gestion qui font toute la puissance de ces outils). Lorsque vous ajoutez des donnes dans une table,
linterface dans laquelle vous travaillez est un tableau.
73
8 3932 TG PA 01

Squence 5

2C.

Notation
Dans le MCD, on distingue lidentifiant des autres proprits en le soulignant. De la
mme faon, on doit distinguer les cls primaires et les cls trangres dans le MLD.
Comment faire ?
On devrait utiliser des effets tels le gras et litalique car rien dautre nexiste en typographie, notamment pas le soulignement. En effet, litalique est lquivalent typographique
du soulign manuscrit.
Hlas, la communaut informatique a pris lhabitude de souligner les cls primaires, que
le travail soit fait la main ou sur traitement de texte. Mme si ce nest pas correct, je
reprendrai cette notation pour ne pas me distinguer inutilement.
Notez que sur votre copie, la question ne se pose pas : vous ne pouvez ni crire en gras,
ni en italique. Il ne vous reste que le soulignement.
La notation pour la cl trangre est assez tordue. En effet, on fait suivre tout champ cl
trangre dun caractre #. Par exemple : NumroProduit#. Cest une notation tellement
bizarre que je vais tenter de la justifier un peu :
pourquoi un # ? Parce que lon est sr que ce caractre se distinguera du nom du
champ (pas question dutiliser un e par exemple ; mais on aurait pu choisir %, $) ;
pourquoi le mettre en fin de mot ? Bah oui, on aurait galement pu le mettre au
dbut. Je suppose que lintrt est de pouvoir lire de gauche droite : Champ# se
lira Champ est cl trangre ;
pourquoi ne pas utiliser un autre soulignement, par exemple en pointills ? Tout
simplement car un champ peut tre la fois identifiant et cl trangre. Si vous
pouvez juxtaposer deux soulignements sous un mot la main, on ne peut pas le
faire aisment avec le traitement de texte ! Word permet le soulign double mais
ne sait pas faire lun des deux soulignements en pointills.
Pour rsumer, vous noterez que de btes problmes techniques nous font utiliser les
notations suivantes :
Notion

Notation

Exemple

identifiant

soulign

NumroClient

cl trangre

# en fin de mot

NumroProduit#

Vous reprendrez ces notations dans vos devoirs, en les rappelant toujours puisquelle ne
sont pas particulirement normalises.
Pour dcrire une table, on met son nom, suivi entre parenthses de la liste des champs
spars par des virgules. On mettra lidentifiant en premire position et les cls trangres ventuelles la fin pour que ce soit plus lisible. Deux exemples :
NomTable (cl primaire, champ1, champ2champn)
NomTable (cl primaire, champ1, champ2champn, cl trangre1#, cl trangre2#)
Quelle que soit la notation que vous emploierez pour distinguer les identifiants et les
cls trangres, je vous conseille de la rappeler aprs chaque MLD car limportant nest
pas la notation, mais le concept quelle reprsente.

Par exemple, les titres duvres se soulignent la main et scrivent en italique en imprimerie.
74
8 3932 TG PA 01

Le MLD

Exercice 39
Au fait, je vous dis que le soulignement nest pas correct en typographie. Or, les identifiants
Merise le sont. Pourquoi ? Les pres fondateurs se seraient-ils eux aussi tromps ?

2D.

Rgles de passage MCD " MLD


Partant du MCD, on va obtenir le MLD en appliquant les rgles de passage suivantes :
1. Toute entit devient une table du mme nom (identifiant et proprits devenant
respectivement cl primaire et champs).
2. Toute association [nn] devient une table du mme nom (identifiant de lassociation et proprits ventuelles devenant respectivement cl primaire et champs).
3. Pour toute association [1n], lidentifiant de lentit du ct n devient un champ
(appel cl trangre) dans la table issue de lentit du ct 1.
(Retournez voir nos tableaux de la squence 3 ; vous retrouverez ces rgles de passage.)
Si lon avait unicit des proprits dans le MCD, on na plus unicit des champs dans le
MLD. La cl trangre semble redondante puisque quelle est prsente dans plusieurs
tables. Cest tout fait voulu puisque cette redondance procure un lien entre les deux
tables qui permet de modliser lassociation [1n]. La redondance nexiste donc pas puisquelle apporte de linformation.

Je vous rappelle que la notation [xy] reprsente les deux cardinalits maximales de lassociation
(voir la squence 3 4D). Une association [nn] signifie que les cardinalits seront 0,n ou 1,n,
quel que soit le nombre de pattes. Le cas [nn] couvre donc toute association dont les pattes ont
comme cardinalit maximale n.

[1n] indique une patte 0,1 ou 1,1 et une autre 0,n ou 1,n (si une patte a une cardinalit maximale de 1, on a vu que lassociation ne pouvait tre quune binaire).
75
8 3932 TG PA 01

Squence 5

2E.

Exemples
On va tudier le passage du MCD vers le MLD dune entit, dune association [nn] porteuse ou non, puis dune [1n].
MCD

Traduction MLD
Personne (NumroPersonne, Nom, Adresse, Ville)

PERSONNE
NumroPersonne
Nom
Adresse
Ville

PERSONNE
NumroPersonne
Nom
Adresse
Ville

PERSONNE
NumroPersonne
Nom
Adresse
Ville
PERSONNE
NumroPersonne
Nom
Adresse

1,n
0,n

emprunter

0,n

0,n

1,1

DATE
JJMMAAAA

acheter
date

habiter

LIVRE
ISBN
TitreLivre
DateAchat

0,n

LIVRE
ISBN
TitreLivre
DateAchat

0,n

LIVRE
NomVille
CodePostal

Personne (NumroPersonne, Nom, Adresse, Ville)


Date (JJMMAAAA)
Livre (ISBN, TitreLivre, DateAchat)
Emprunter (NumroPersonne#, JJMMAAAA#, ISBN#)

Personne (NumroPersonne, Nom, Adresse, Ville)


Livre (ISBN, TitreLivre, DateAchat)
Acheter (NumroPersonne#, ISBN#, date)

Personne (NumroPersonne, Nom, Adresse, NomVille#)


Ville (NomVille, CodePostal)
cl trangre
cl primaire correspondante

On notera plusieurs choses :


les cardinalits minimales nont pas dimportance ici ;
la table emprunter possde trois champs qui constituent eux trois la cl primaire.
Cest pourquoi le soulignement est continu : x, y, z veut dire que les trois proprits forment la cl primaire, tandis que x, y, z signifierait plutt que lon a
trois cls primaires ;
les trois champs demprunter sont suivis dun #. En effet, ils rpondent bien la
dfinition dune cl trangre. Ce sera le cas chaque [nn] : tous les champs constituant lidentifiant seront galement des cls trangres (voir acheter dans lexemple
ci-dessus).

2F.

Vrification
On vrifie aisment que la smantique des donnes est conserve (on a dj fait cette
dmarche avec les MLD sous forme de tableau). Je vous rpte que mme dans un SGBD
relationnel, les donnes sont prsentes sous la forme dun tableau, la machinerie tant
masque. Le cours ci-dessus vient donc juste de prsenter de faon formelle ce que lon
a fait intuitivement dans la troisime squence.
Reprenons le deuxime MCD du tableau ci-dessus (association emprunter). Voici un
exemple de contenu des tables (vous remarquerez quelles sont sans ordre particulier).

76
8 3932 TG PA 01

Le MLD

Personne
NUMERO PERS.
13
8
9

NOM
LeChat
LeTeckel
LeLapin

ISBN
2.264.02454.2
2.02.025380.1
2.264.01095.9
2.07.036209.4

Emprunter

ADRESSE

VILLE

8, avenue de la Libration
13, rue de lEurope
Square Fleuri

Livre
TITRE LIVRE
Lge difficile
American Psycho
Moins que zro
Les clibataires

NUMERO PERS. JJMMAAAA

Orlans
Cergy
Clapiers

8
13
8
9
8

22/08/2000
13/04/2000
19/05/2000
15/10/2000
18/11/2000

ISBN
2.264.02454.2
2.02.025380.1
2.02.025380.1
2.02.025380.1
2.07.036209.4

Date
DATE ACHAT
18/04/1999
07/12/2000
15/04/2000
08/12/1999

JJMMAAAA
13/04/2000
19/05/2000
22/08/2000
15/10/2000
18/11/2000

Nous allons vrifier que lorganisation des donnes est en adquation avec le monde
rel en cherchant les titres des livres emprunts par M. LeTeckel de Cergy. Comment
faire ? Les emprunts sont stocks dans la table Emprunter (cest logique puisquils taient
matrialiss par lassociation emprunter du MCD). Mais un coup dil au contenu de la
table Emprunter nous rappelle que pour des raisons defficacit et de non-redondance,
les occurrences concernes (livre, personne et date) ne sont reprsentes que par leur
identifiant. On va donc procder en trois tapes :
1. Dans Personne, on cherche le numro de M. LeTeckel. Cest le numro 8.
2. Dans Emprunter, on relve les ISBN des livres emprunts par la personne numro 8.
Il y a 2.264.02454.2, 2.02.025380.1 et 2.07.036209.4.
3. Dans Livre, on rcupre le titre correspondant chacun des ISBN retenus et on
obtient la rponse : Lge difficile, American Psycho et Les clibataires.
Cette recherche est illustre graphiquement dans le schma suivant :
Personne
NUMRO PERS.
1re tape

13
8
9

NOM
LeChat
LeTeckel
LeLapin

ADRESSE

VILLE

8, avenue de la Libration
13, rue de lEurope
Square Fleuri

Orlans
Cergy
Clapiers

Emprunter

2e tape

8
13
8
9
8

22/08/2000
13/04/2000
19/05/2000
15/10/2000
18/11/2000

ISBN
2.264.02454.2
2.02.025380.1
2.02.025380.1
2.02.025380.1
2.07.036209.4

ISBN
3e tape

NUMRO PERS. JJMMAAAA

Livre
2.264.02454.2
2.02.025380.1
2.264.01095.9
2.07.036209.4

TITRE LIVRE
Lge difficile
American Psycho
Moins que zro
Les clibataires

DATE ACHAT
18/04/1999
07/12/2000
15/04/2000
08/12/1999

77
8 3932 TG PA 01

Squence 5

2G.

Dmarche et exemple
Le tableau prcdent vous a prouv la simplicit de lobtention du MLD. La difficult
du passage du MCD vers le MLD est de ne rien oublier. Je vous assure que sur un sujet
volumineux, si vous butinez sans mthode le MCD, vous omettrez des proprits voire
des associations. Je vous propose la dmarche suivante :
1. Vous crivez toutes les tables issues des entits sans fermer la parenthse pour
laisser la place aux cls trangres ventuelles.
2. Pour chaque entit comportant des pattes 0,1 ou 1,1, vous rajoutez les cls trangres correspondantes.
3. Vous fermez toutes les parenthses.
4. Vous crivez toutes les tables issues des associations [nn].
Comme les tables sont tries par cette mthode, cela vous permettra de vrifier rapidement votre MLD. Si le MCD est vraiment important, je vous conseille de rayer au crayon
de papier les entits et associations au fur et mesure pour vous assurer que vous
noubliez rien. Ensuite, vous gommez et ni vu ni connu !
Nous allons appliquer notre mthode sur le cas suivant :

FACTURE
NumroFacture
DateFacture
MontantHT
MontantTTC
DatePaiement

PRODUIT
NumroProduit
LibellProduit
PrixHT
0,n

TYPE PRODUIT
NumroTypeProduit
LibellTypeProduit
0,n

1,1

ENTREPT
NumroEntrept
AdrEntrept

0,n

0,n

1,n

comporter
quantit

tre

stocker

Premire tape : les entits (sans fermer les parenthses).


Facture (NumroFacture, DateFacture, MontantHT, MontantTTC, DatePaiement
Produit (NumroProduit, LibellProduit, prixHT
TypeProduit (NumroTypeProduit, LibellTypeProduit
Entrept (NumroEntrept, AdrEntrept
Deuxime tape : les [1n]. Ici, on na que tre qui est concerne, do la table Produit :
Produit (NumroProduit, LibellProduit, prixHT, NumroTypeProduit#)
Troisime tape : on ferme les parenthses (non reprsent ici, je ne suis pas pay la
ligne !)
Quatrime tape : les [nn]
Comporter (NumroFacture#, NumroProduit#, quantit)
Stocker (NumroTypeProduit#, NumroEntrept#)

Et l, vous pouvez fermer la parenthse sans problme puisque quune [nn] ne peut contenir de
patte avec une cardinalit maximale de 1 donc ne gnrera pas de cl trangre.
78
8 3932 TG PA 01

Le MLD

Au final, on obtient le MLD suivant :


Facture (NumroFacture, DateFacture, MontantHT, MontantTTC, DatePaiement)
Produit (NumroProduit, LibellProduit, PrixHT, NumroTypeProduit#)
TypeProduit (NumroTypeProduit, LibellTypeProduit)
Entrept (NumroEntrept, AdrEntrept)
Comporter (NumroFacture#, NumroProduit#, quantit)
Stocker (NumroTypeProduit#, NumroEntrept#)
(notations : cl primaire, cl trangre#)

2H.

Quelques cas particuliers


Ce que nous avons vu rgle le cas de la majorit des MCD. Il y a cependant cinq points
intressants sur lesquels nous allons rflchir.

2H1. Toutes les entits ne sont pas bonnes prendre


Devinez qui va encore se distinguer ? Eh oui, lentit Date. Au terme de ce cours, on
pourra vraiment dire que le concept de date, videmment primordial en informatique
de gestion, augmente sensiblement la difficult de lanalyse.
Reprenons le MCD suivant :

PERSONNE
NumroPersonne
Nom
Adresse
Ville

1,n
0,n

DATE
JJMMAAAA

emprunter

0,n

LIVRE
ISBN
TitreLivre
DateAchat

Nous avions dit que le MLD rsultant tait :


Personne (NumroPersonne, Nom, Adresse, Ville)
Date (JJMMAAAA)
Livre (ISBN, TitreLivre, DateAchat)
Emprunter (NumroPersonne#, JJMMAAAA#, ISBN#)

En effet, les trois entits et lassociation donnent chacune une table.


Revenons maintenant lintrt du MLD : cest de dcrire les tables permettant de stocker les donnes de faon cohrente avec lorganisation mise au jour par le MLD.
La finalit des tables est donc le stockage des donnes.
Observons maintenant la cardinalit demprunter du ct de Date : 1,n. Cela signifie
que toutes les occurrences de Date participent au moins une occurrence demprunter.
Dans la ralit, on dira cela dans lautre sens : seules les dates o il y a un emprunt sont
stockes dans la base (donc deviennent des occurrences de Date).
Conclusion : Toutes les dates qui se trouvent dans la table Date se trouveront dans
Emprunter.
Date (JJMMAAAA) Emprunter (NumroPersonne#, JJMMAAAA#, ISBN#)

79
8 3932 TG PA 01

Squence 5

Graphiquement :
Emprunter

Date

NUMRO PERS. JJMMAAAA


8
13
8
9
8

22/08/2000
13/04/2000
19/05/2000
15/10/2000
18/11/2000

ISBN
2.264.02454.2
2.02.025380.1
2.02.025380.1
2.02.025380.1
2.07.036209.4

JJMMAAAA
13/04/2000
19/05/2000
22/08/2000
15/10/2000
18/11/2000

Mais alors, quoi nous sert Date ? Livre est utile car Emprunter ne contient que lidentifiant ISBN, le reste des informations relatives aux livres se trouvant dans Livre. De mme,
seul le numro de personne se trouve dans Emprunter, le reste des informations sur les
emprunteurs se trouvant dans Personne.
Mais pour Date, rien de tel ! Toutes les informations se trouvant dans Emprunter, on na
aucune raison de se rfrer Date, qui ne sert alors rien !
Lentit Date ne sera donc pas traduite dans le MLD, qui se rduira alors aux 3 tables
suivantes :
Personne (NumroPersonne, Nom, Adresse, Ville)
Livre (ISBN, TitreLivre, DateAchat)
Emprunter (NumroPersonne#, JJMMAAAA, ISBN#)
(Du coup, JJMMAAAA nest plus cl trangre : le # disparat.)
nest pas une rgle absolue concernant les entits Date. Si, pour diverses raisons,
O laCetable
Date contient des dates prcises indpendamment des dates utilises dans
des occurrences dassociation par exemple la liste des jours ouvrables , alors on
crera une table Date.
Finalement, une entit ne sera pas transforme en table si les deux conditions suivantes sont runies :
1. Lentit ne possde quun identifiant et aucune proprit.
2. Toutes les occurrences de lentit sont utilises par des occurrences dassociation.
Gnralement, seule lentit Date (ou Heure ou Anne) peut remplir ces conditions.
Linfinie diversit des situations fait quil peut arriver quune autre entit que celles
mesurant le temps remplisse ces conditions. Mais bon de ma vie dinformaticien je nen
ai jamais crois.
Souvenez-vous de lexercice sur les prnoms.
Lorsque vous omettez de traduire Date dans le MLD, vous devez le justifier briO vement
(il sagit juste de dire que les occurrences de Date sont redondantes puisque reprises dans les associations truc et bidule). Sinon, le correcteur pensera que
vous avez oubli de traiter lentit Date, le fait quelle ne doive pas tre conserve
ntant quun coup de chance.

80
8 3932 TG PA 01

Le MLD

2H2. Et les [11] ?


Oui, il arrive (rarement, mais bon, cela arrive) davoir une association avec les deux
cardinalits maximales valant 1.

Exercice 40
On veut informatiser la gestion du paiement des factures dans une entreprise. Une facture est
identifie par un numro, un montant payer, une date de facture et une date limite de paiement. Un paiement est caractris par son type (chque, virement, lettre de change) et son
numro ventuel (numro de chque ou numro de virement). On supposera que le rglement
dune facture se fait en une fois une date quil faut conserver.
Faites le MCD correspondant.

Nous allons voir comment traduire payer dans le MLD. En fait, il y a trois solutions correspondant lapplication de la rgle gnrale des associations [1n] selon trois points de
vue diffrents. En effet, on peut considrer que chaque patte joue le rle du 1 que lon
avait trait dans les [1n]. Chaque identifiant devient donc cl trangre dans la table
issue de lautre entit. Notons que cette solution apporte de la redondance.

Exercice 41
Faites le MLD du sujet de lexercice prcdent en adoptant ce point de vue (chaque patte
joue le rle du 1).
On peut aussi considrer que lune des pattes joue le rle du 1, lautre jouant le rle
du n. Un des identifiants seulement devient donc un champ cl trangre. Cela donne
deux solutions, selon que lun ou lautre identifiant est choisi.

Exercice 42
Faites les deux MLD possibles correspondant ce point de vue : la patte de Facture joue le
rle du 1 puis la patte de Rglement joue ce rle.
Laquelle des trois solutions adopter ? Les trois sont acceptables. Selon le contexte, on
pourra ventuellement dire que lune ou lautre est maladroite.
Tout va dpendre des traitements gnralement effectus :
si on recherche habituellement le rglement partir de la facture, on mettra le
numro de rglement en cl trangre ;
si on recherche plutt la facture pour un rglement donn, on mettra le numro de
facture en cl trangre ;
si on recherche indiffremment lun des deux en fonction de lautre, on mettra les
deux identifiants en cls trangres, la redondance tant contrebalance par le gain
defficacit ;

Daprs les rgles vues prcdemment, ds que lon a une cardinalit maximale de 1, on ne peut
avoir quune binaire.
81
8 3932 TG PA 01

Squence 5

si le type de traitement venir nest pas dterminable, il est de bonne politique de


mettre chaque identifiant en cl trangre pour tre sr de ne pas faire le mauvais
choix. Si intuitivement, vous savez quel objet sera recherch partir de lautre, vous
prciserez explicitement votre supposition puis vous prendrez la cl trangre correspondante. Attention, si, dans la vraie vie, vous ne connaissez pas les traitements
venir, cest que votre analyse nest pas de bonne qualit ;
pour mettre un bmol au tiret prcdent, on peut galement et fort logiquement
privilgier le lien 1,1 plus complet que le 0,1 en labsence dindication sur le
traitement venir.
Ici, on na aucune ide des traitements qui seront raliss puisque le sujet nindique rien.
Cependant, on peut estimer que, le rglement tant une caractristique de la facture
plutt que linverse, on recherchera gnralement le rglement dune facture donne.
Nous prendrons donc loption de mettre NumroRglement en cl trangre dans
Facture.
Jinsiste sur le fait que cest un raisonnement pointu puisque purement oprationnel
un endroit qui ne lest pas. Le fait de mettre le numro de rglement en cl trangre
nempche absolument pas de rechercher la facture dun rglement donn. Mais ce sera
moins efficace. Dans tous les cas, il ny a pas de solution errone.
Dans notre raisonnement, nous navons pas pris en compte le fait quune cardinalit
minimale valait 0. La cardinalit minimale peut parfois nous aider trancher (ce ntait
pas le cas ici) :
si les deux cardinalits minimales sont identiques, ce nest pas discriminant. Le problme reste donc entier ;
si lune est 0 (et donc lautre 1), tout dpend de la smantique du 0 :
sil signifie que loccurrence dassociation existera, mais plus tard (cas du rglement
dune facture), le 0 est assimil au 1. Cela naide pas trancher ;
en revanche, si le 0 signifie que parfois loccurrence de lentit ne participe aucune
occurrence dassociation, il semble naturel de transformer son identifiant en cl
trangre puisque, a priori, cest lautre entit qui est llment fort toujours
prsent du couple.
On retiendra donc :
Pour traduire une association [11] dans un MLD, on se rapprochera du 1 dans [1-n]
pour une des pattes ou pour les deux. Le choix se fera en fonction de la smantique
des donnes et des traitements venir.

2H3. Et les [in] ?


Oui, dans des cas trs encadrs, jai admis voire recommand de mettre une cardinalit
maximale chiffre (2, 3), bref ni 1, ni n. Dans ce cas, quel parti prendre ? Considrer
que 3, ce nest gure plus de 1 ou au contraire estimer quun 3 est un n qui signore ?
Bref, appliquer le cas [1n] et utiliser une cl trangre ou user du cas gnral [nn] et
crer une nouvelle table ?

82
8 3932 TG PA 01

Le MLD

Pour nous dcider, envisageons le MCD suivant :


PERSONNE
NumroPersonne
Nom
Adresse
Ville

1,3

porter
rang

0,n

PRNOM
Prnom

Exercice 43
Avant de parler de porter, faites le MLD des deux entits. Vous traiterez trs attentivement
le cas de Prnom pour dcider sil relve du cas 2H1.
Pour porter, examinons les deux solutions.

On la considre comme une [1n]


Cest--dire que lon fait comme si on avait trois fois une [1n] : on va ajouter trois fois
Prnom en cl trangre dans la table Personne. Dailleurs, pour pousser lanalogie, une
[1n] ne pouvant tre porteuse, on perdra en route la proprit rang, do le MLD :
Personne (NumroPersonne, Nom, Adresse, Ville, Prnom1#, Prnom2#, Prnom3#)
Prnom (Prnom)
Cette solution est cohrente puisquon a toujours linformation vhicule par la proprit
rang : pour les raisons classiques didentification, les champs dune table doivent avoir des
noms diffrents ; jai donc indic les champs Prnom par leur rang.

On la considre comme une [nn]


On crera donc une table porter qui donnera le MLD final :
Personne (NumroPersonne, Nom, Adresse, Ville)
Prnom (Prnom)
Porter (NumroPersonne#, Prnom#, rang)
Laquelle des deux solutions allons-nous retenir ? Dun point de vue thorique, les deux sont
parfaitement quivalentes et correctes. Dans une copie, les deux solutions seront acceptes.
Dun point de vue oprationnel, la seconde solution est prfrable car, bien quelle
rajoute une table, elle acclre les traitements : il est plus rapide de rechercher des
informations dans deux petites tables (Personne et Porter) que dans une seule grosse
(Personne avec les cls trangres).
Bien entendu, le choix entre les deux solutions naura lieu quavec une cardinalit maximale de 2 ou 3 au plus : si lon avait une cardinalit 1,20, on ne mettrait pas 20 cls
trangres !
On retiendra donc :
Pour traduire une association [in] dans un MLD, on pourra appliquer le cas [1n]
(i petit) ou [nn] (i grand).

83
8 3932 TG PA 01

Squence 5

2H4. Et les rflexives ?


Revenons nos mariages (exercice 29).
PERSONNE
NumeroP
NomP
PrnomP
SexeP
DateNaissanceP
AdrP
CodeP
VilleP

0,n

poux
pouse

pouser

0,n

Le raisonnement que lon a toujours utilis avec les rflexives tait de dire que, finalement, ctaient des associations binaires normales, sauf que les deux entits relies
taient les mmes, ce qui reste un dtail.

Exercice 44
Faites le MLD du MCD prcdent en gardant lesprit quil faut traiter la rflexive comme
une association normale.

Exercice 45
Dcrivez prcisment le rel modlis par le MCD suivant qui reprsente les liens hirarchiques dans une entreprise, puis faites le MLD.
SALARI
NumeroS
NomS
PrnomS
AdrS
VilleS

0,n

dirige
diriger
est dirig

0,1

On retiendra donc :
Pour traduire une association rflexive dans le MLD, on utilisera les rgles classiques, ceci prs que lon renommera souvent lidentifiant pour en faire un nom de
champ intelligible.

84
8 3932 TG PA 01

Le MLD

2H5. Et les entits faibles ?


La notion dentit faible est perdue dans le MLD. Le passage se fait donc trs simplement !
tudions ce MCD (vu dans la squence 4, 3A) :
HTEL
NumeroHtel
NomHtel
NbrChambres
AdrHtel
CodeHtel
VilleHtel

1,n

contenir

1,1

CHAMBRE
#NumroHtel#
NumroChambre
tage
NbrPersonnes
Cabinet

Imaginons que lon ne soit pas confront une entit faible. Que ferait-on face ce MCD
sans entit faible donc avec une association [1n] classique ? On crerait deux tables
Htel et Chambre et lidentifiant dHtel serait rajout en cl trangre dans Chambre.
Or, ici, cest dj fait par le principe mme de lentit faible puisque NumroHtel est
une proprit de Chambre.
Ainsi, le MLD va consister crer une table pour chaque entit sans se poser de question
particulire. Lassociation est purement et simplement mise de ct. Cela donne :
Htel (NumroHtel, NomHtel, NbrChambres, AdrHtel, CodeHtel, VilleHtel)
Chambre (NumroHtel#, NumroChambre, tage, NbrPersonnes, Cabinet).
Notez que le champ NumroHtel dans Chambre est soulign et suivi de #. En effet, il
est cl primaire dans Chambre (donc soulign), mais il est aussi cl trangre puisquon
le retrouve en cl primaire dans Htel. On lui greffe donc un #.
Jinsiste : ne tenez pas compte de lassociation contenir, sinon vous auriez deux fois
NumroHtel dans la table Chambre.
Il faut bien comprendre que cette rgle de passage dpend du formalisme utilis.
Rappelez-vous lautre formalisme que lon trouve dans la littrature avec les cardinalits
du ct de lentit faible entre parenthses :
HTEL
NumroHtel
NomHtel
NbrChambres
AdrHtel
CodeHtel
VilleHtel

1,n

contenir

(1,1)

CHAMBRE
NumroChambre
tage
NbrPersonnes
Cabinet

Pour passer au MLD avec ce formalisme, on dira que les deux entits deviennent des
tables et que lidentifiant dHtel formera avec NumroChambre lidentifiant de
Chambre. Bien entendu, le MLD obtenu reste le mme !

85
8 3932 TG PA 01

Squence 5

On retiendra donc :
Pour traduire une entit faible dans le MLD, on se contente de traduire les deux entits
sans se soucier de lassociation (dans le cas du formalisme # utilis dans le cours).

3.

Conclusion (brve !)
Si lon enlve le blabla dintroduction et les cas particuliers longuement discuts, le MLD
se rsume une demi-page de rgles : les entits et les associations [nn] deviennent des
tables, les [1-n] donnent naissances aux cls trangres.
Il est donc dommage de perdre des points sur une question qui vous les offre ! Notons
que dans un sujet dexamen, vous aurez gnralement un MCD concevoir puis traduire en MLD. Il est bien vident que vous serez not sur votre capacit traduire votre
MCD en MLD, donc utiliser les rgles de passage de lun lautre. Ainsi, mme si votre
MCD est compltement faux, vous pouvez avoir tous les points pour le MLD. Do une
petite supplique de prof : faites le MCD et le MLD sur deux feuilles diffrentes que lon
puisse les mettre cte cte : vous gagnerez beaucoup de temps pour crire le MLD, et
nous, le corriger !

Vous pouvez ds prsent commencer le cours Access (rf. 3932 TG PA 02) et le cours
SQL, (rf. 3999 TG PA 02).

86
8 3932 TG PA 01

Synthse

Dfinition du MLD
Le MLD se drive du MCD. Alors que le MCD prsente la connexion des donnes
entre elles de faon thorique (conceptuelle), lobjet du MLD est dindiquer comment ces donnes vont tre stockes dans le systme informatique pour conserver linterconnexion tablie dans le MCD.
Vocabulaire MCD

Vocabulaire MLD et SGBD

identifiant

cl primaire

proprit

champ

Une cl trangre est un champ dune table qui est cl primaire dans une autre
table.

Notations
Notion

Notation

Exemple

identifiant

soulign

NumroClient

cl trangre

# en fin de mot

NumroProduit#

Passage MCD " MLD


Partant du MCD, on va obtenir le MLD en appliquant les rgles de passage suivantes :
1. Toute entit devient une table du mme nom (identifiant et proprits
devenant respectivement cl primaire et champs).
2. Toute association [nn] devient une table du mme nom (identifiant de
lassociation et proprits ventuelles devenant respectivement cl primaire
et champs).
3. Pour toute association [1n], lidentifiant de lentit du ct n devient un
champ (appel cl trangre) dans la table issue de lentit du ct 1.

Cas particuliers
Une entit ne sera pas transforme en table si les deux conditions suivantes sont
runies :
1. Lentit ne possde quun identifiant et aucune proprit.
2. Toutes les occurrences de lentit sont utilises par des occurrences dassociation. Lexprience montre que gnralement seule lentit Date (ou
Heure ou Anne) peut remplir ces conditions.
Pour traduire une association [11] dans un MLD, on se rapprochera du cas
[1n] pour une des pattes ou pour les deux. Le choix se fera en fonction de la
smantique des donnes et des traitements venir.
Pour traduire une association [in] dans un MLD, on pourra appliquer le cas
[1n] (i petit) ou [nn] (i grand).

87
8 3932 TG PA 01

Squence 5

Mthodologie de construction
Elle tient en quatre tapes :
1. Vous crivez toutes les tables issues des entits sans fermer la parenthse
pour laisser la place aux cls trangres ventuelles.
2. Pour chaque entit comportant des pattes 0,1 ou 1,1, vous rajoutez les cls
trangres correspondantes.
3. Vous fermez toutes les parenthses.
4. Vous crivez toutes les tables issues des associations [nn].

88
8 3932 TG PA 01

Squence 6

Rgles de validation du MCD


Dure indicative : 5 heures

Nous sommes arrivs au milieu du cours. Vous pourriez vous en tenir l et avoir
des bases raisonnables. Mais, bien entendu, il vous manquerait laisance et l'entranement que vous apporteront les squences suivantes. Cette nouvelle squence a pour objet la vrification de la correction des MCD. On va donc se situer un
niveau moins terre terre !

u Capacits attendues
Savoir vrifier son MCD pour viter les fautes de logique.

u Contenu
1.

Revenons sur lidentifiant ............................................................... 90

2.

Revenons sur les associations ........................................................ 90

3.

Entit ou association ......................................................................... 92

4.

Rgles de validation ............................................................................ 93

4A.
4B.

Introduction en forme de sermon .............................................................. 93


Les rgles ................................................................................................... 94

Synthse

89
8 3932 TG PA 01

Squence 6

1.

Revenons sur lidentifiant


Il est tentant dutiliser le numro de Scurit Sociale pour identifier les personnes. Mais,
justement, cest un identifiant tellement parfait que son emploi est svrement contrl
par la loi (Loi Informatique et Liberts de 1978 dont la CNIL est charge de veiller sa
bonne application).
Vous ne pouvez utiliser ce numro que pour des applications lies la Scurit sociale
ou la paie. Il conviendra alors de lemployer comme attribut simple et non comme
identifiant.
Un identifiant doit avoir une valeur stable dans le temps. Vous viterez donc de prendre
un numro de tlphone car, mme sil identifie de faon unique, il peut changer (dmnagement). Ainsi, un numro de tlphone correspond toujours une seule personne
(enfin, famille) un moment donn, mais cette famille peut ne plus tre la mme si le
numro est raffect suite un dmnagement.
Notons que dans le cas trs particulier de linformatisation dun oprateur tlphonique,
lidentifiant du client est bel et bien le numro de tlphone ! En effet, le client est le
titulaire de la ligne.
Finalement, 9 fois sur 10, vous utiliserez un identifiant artificiel. Cest un cas tellement
rpandu que les SGBD fournissent souvent un type spcial (NumroAuto sous Access) qui
est un compteur numrotant automatiquement les nouvelles occurrences.

2.

Revenons sur les associations


Je vous ai dj dit que moins une association avait de pattes, mieux ctait. Il faut donc toujours vrifier quune association quaternaire ne peut pas tre simplifie en deux ternaires
sans perte dinformation et quune ternaire ne peut pas se simplifier en deux binaires.
tudions le MCD suivant, qui contient plusieurs erreurs :

CLIENT
NumroClient
NomClient
PrnomClient
AdrClient

0,n

livrer
DateLivraison
0,n

1,1

COMMANDE
NumroCommande
DateCommande
MontantCommande

1,n

contenir
quantit

0,n

PRODUIT
NumroProduit
DescriptifProduit
PrixUnitaireProduit

ENTREPT
NumroEntrept
AdrEntrept
TelEntrept

Rien dire concernant lassociation contenir. Elle nest l que pour augmenter un peu la
taille du MCD. Ce qui mintresse, cest livrer. A priori, tout va bien : elle traduit fidlement les contraintes du rel suivantes :
une commande est passe par un client unique ;
une commande est livre en une fois une date de livraison, depuis un seul entrept.

90
8 3932 TG PA 01

Rgles de validation du MCD

Exercice 46
Lemplacement de la proprit DateLivraison me pose problme. Quen pensez-vous ?
Continuons. Nous en sommes au MCD suivant :
CLIENT
NumroClient
NomClient
PrnomClient
AdrClient

0,n

livrer
DateLivraison
0,n

1,1

COMMANDE
NumroCommande
DateCommande
MontantCommande

1,n

contenir
quantit

0,n

PRODUIT
NumroProduit
DescriptifProduit
PrixUnitaireProduit

ENTREPT
NumroEntrept
AdrEntrept
TelEntrept

Est-il parfait ? Toujours pas. On vient juste de rviser en passant la notion une 1,1 ne peut
tre porteuse de donnes . Lexercice reste entier. Et cest toujours livrer qui me dplat.
tudions les cardinalits de livrer.
Sur Commande : 1,1 signifie quune commande ne concerne quun client et un entrept.
Sur Entrept :
0,n signifie quun entrept livre plusieurs commandes et donc clients
sans plus de prcision.
Sur Client :
0,n signifie quun client pourra se faire livrer plusieurs commandes
(ventuellement 0, je suppose donc quune personne ayant juste
demand des informations sans pour autant passer commande est un
client cela est sans importance).
Tout ceci est-il correct ? Oui. Tout ceci est-il satisfaisant ? Non !
Lassociation relie les trois entits, donc les relie smantiquement. Or, intuitivement, le
fait quun client passe une commande est une chose, le fait que la commande soit livre
est autre chose.
Ensuite, la cardinalit 1,1 de Commande indique deux choses distinctes et sans rapport
entre elles :
premier point, une commande correspond (est passe par) un client et un seul ;
deuxime point, une commande correspond (est livre par) un et un seul entrept.
Ces deux liens peuvent se modliser sparment. Et donc on va le faire, en transformant
la ternaire livrer en deux binaires commander et livrer.

Exercice 47
Eh bien, allez-y, transformez la ternaire livrer en deux binaires commander et livrer, en prenant soin de relier les bonnes entits et de veiller aux cardinalits.
De cette partie, on retiendra la rgle suivante :
Rgle : une association possdant une patte 0,1 ou 1,1 ne peut tre quune binaire
non porteuse de donnes.
(Le fait que cette association ne soit pas porteuse a dj t vu.)
91
8 3932 TG PA 01

Squence 6

3.

Entit ou association
Il nest pas vraiment utile de revenir sur ce point car on la abord plusieurs fois dans les
exercices. Jai pourtant envie de pratiquer la redondance pour tre sr que vous preniez
conscience du problme. Je serai bref.
Il en est de mme des choix de reprsentation des objets rels (par une entit ou une
association) que des cardinalits :
parfois, on nhsite pas : un client ne peut tre quune entit. Un lien dappartenance entre un produit et un type de produit sera une association ;
parfois, les deux sont possibles, un concept pouvant tre valablement reprsent par
une association ou une entit. Nous lavons vcu avec linscription et le mariage.
Le drame est que, lorsque lon se pose la question de lentit ou de lassociation, le choix
est vritablement cornlien. Les quelques indices rappels ci-dessous vous permettront
de choisir plus sereinement.
Avant de commencer : un constat. Le problme se pose toujours dans le sens association vers
entit : on fait une association, on lui rajoute des pattes, des proprits, on nest pas satisfait
du rsultat, on hsite et alors on se dit et si je faisais une entit ? , mais on nose pas.
Voici les arguments en faveur dune entit :
plus lassociation possde de pattes, plus cela milite pour une entit fortement
ancre dans le MCD, chaque patte devenant une association ou une proprit
lie cette entit ;
plus lassociation possde de proprits, plus on est fond crer une entit
pour y mettre ces proprits ;
plus lobjet rel concern a dimportance dans le systme dinformation, plus on
sera amen le promouvoir en entit (tre une entit, cela se mrite).
Je reprends le dernier tiret :
si lon souhaite modliser les emprunts dans une bibliothque, il est assez naturel
de faire une entit Emprunt car ce concept est llment cl auquel tout se rapporte
(nombre de livres emprunts, emprunteur, dates demprunt et de retour) ;
si je modlise une petite bibliothque dcole primaire, je souhaite juste savoir qui a
emprunt quoi pour pouvoir le rcuprer en fin danne. Une association emprunter entre Exemplaire et Lecteur porteuse de la date de retour me suffira ;
en revanche, si nous voulons modliser le fonds documentaire (livres, thmes,
auteurs, diteurs) pour amliorer sa qualit, on mettra au mieux une proprit
boolenne Emprunt dans lentit Exemplaire. Cela nous permettra accessoirement
dditer en fin danne la liste des livres qui ne sont pas emprunts et donc qui doivent tre en rayon pour raliser linventaire.
Vous voyez lastuce ? Dans les trois cas, nous grons les emprunts, mais de faon de plus
en plus priphrique. Cette notion passe de centre de la modlisation (cas gestion des
emprunts) information tout fait annexe (cas gestion du fond).
Il est donc raisonnable de traiter chaque concept selon son importance. Dans la ralit,
cest ce qui se passe : dans mon BTS, nous avons une armoire de livres et de revues pour
les 60 tudiants de la formation. Quand ils prennent un livre, ils lcrivent sur un cahier

Si, si, promis ! Et je nabuserai pas de la note de bas de page.


92
8 3932 TG PA 01

Rgles de validation du MCD

et le rayent quand ils le rendent. Dans le CDI du lyce (10 000 ouvrages, 1 600 lves), la
gestion des emprunts est videmment informatise, chaque lve doit sinscrire
Bien entendu, ces considrations ne sont quune aide mthodologique, vous devez dvelopper votre intuition puis vous y fier.

4.

Rgles de validation

4A.

Introduction en forme de sermon


Ce qui suit est une partie cruciale du cours. Il faut absolument lapprendre. En analyse, comme
en programmation, en SQL, en peinture, en sport, il y a deux aspects dvelopper :
lintuition et le potentiel, qui sont des capacits propres chacun. Cest ce qui fait
qu entranement gal, un sprinter descendra sous 11 secondes aux 100 mtres
et un autre sous 10,5 secondes. De mme, un informaticien trouvera une solution
efficace pour modliser un problme particulirement complexe, tandis quun autre
chouera ;
le respect des rgles, qui ne peut sacqurir que par leur apprentissage. Cest sans
doute laspect le moins enthousiasmant de toute formation, mais cest absolument
ncessaire. Imaginez-vous au football, vex de ne pas russir mettre un but, prendre le ballon pleines mains, mettre un coup de boule au gardien qui proteste
puis dposer victorieusement le ballon au fond du but adverse. Est-ce correct ?
Non. Le but sera-t-il accept ? Non. En informatique (et partout ailleurs), il existe
des rgles. Il ny a pas de mystre. Si vous les apprenez (et bien entendu si vous les
appliquez), vous russissez. Si vous ne les apprenez pas, vous chouez.
Notez que ces rgles ne sont pas tombes du ciel pour vous nuire. En effet, si lon vous dit
en algorithmique que lon ne doit pas crire 5 x 10 mais 5 x et x 10 , ce
nest pas pour vous ennuyer ou pour vous punir. Cest cause des rgles grammaticales
des langages.
De mme, je nai pas dcid par recherche esthtique dinterdire quune association de
cardinalit 1,1 soit porteuse de donnes. Cela vient de la nature mme de lassociation.
La rendre porteuse conduit violer une rgle, certes, mais surtout montre que vous
navez pas compris ce que signifiait le fait dtre porteuse.
Les rgles ne sont que le reflet du cours, rsum dans ses points cruciaux. Assimiler les
rgles vous permet de comprendre la philosophie, lesprit de ce que vous faites. Cela,
cest le cas idal. Dans le pire des cas, il vous reste considrer ces rgles comme un
dogme appliquer mcaniquement sans chercher les comprendre. Cest dommage,
intellectuellement, mais cest mieux que de ne pas les appliquer du tout !
Bon, nous avons dj pass un certain temps ensemble, je vais donc vous parler franchement, sans langue de bois. Si jaccepte avec bienveillance une erreur de raisonnement
(il arrive tout le monde den faire, moi compris), je prends extrmement mal toute
erreur venant dun non respect des rgles de base puisquelle tmoigne simplement dun
apprentissage laxiste, bref pas srieux.
Aprs ce sermon , jai confiance en votre volont dapprendre trs mticuleusement
les rgles suivantes !

Et encore ! Le caractre nexiste pas, il faut utiliser <= . Mais l, on ne viole aucune rgle grammaticale.
93
8 3932 TG PA 01

Squence 6

4B.

Les rgles
Pour une meilleure lisibilit, les rgles de validation sont prsentes par thme. Ne vous
affolez pas de leur nombre, elles sapprennent facilement puisquelles ne sont finalement que des rsums des diffrents concepts du cours.
Principe de vrification du MCD
chaque tape importante du MCD, et en fin de ralisation, vrifiez systmatiquement que les rgles suivantes sont respectes. Si ce nest pas le cas, vous savez
que votre MCD est erron. Si elles sont respectes, cela ne veut pas dire que le MCD
reprsente correctement la ralit, mais vous savez au moins quil est syntaxiquement correct et cest dj pas mal.
Jinsiste une dernire fois sur limportance de ce check list du MCD. Je suis le premier
mastreindre utilement cette vrification car il y a des rgles qui, bien quvidentes
froid, se rvlent vite des carcans que lon a envie de rompre pour modliser, astucieusement croit-on (mais on se trompe), un morceau de rel particulirement ardu.

4B1. Proprits
Une proprit ne peut apparatre quune fois dans le MCD.
En effet, une proprit est un concept unique du monde rel quil est illogique de matrialiser plusieurs fois. Une proprit ddouble marque souvent loubli dune association.
Le ddoublement dont je parle peut tre discret : vous ne pouvez bien sr pas
O utiliser
deux fois le mme nom, mais vous ne pouvez pas non plus faire rfrence
au mme concept ( la mme chose ) par deux proprits, mme si elles ont un
nom diffrent.

Exercice 48
Corrigez-moi vite cet horrible MCD ne respectant pas la rgle prcdente !
TUDIANT
Numrotudiant
Nom
Prnom
NumroFormationSuivie

1,1

s'inscrire

0,n

FACULT
NumroFacult
NomFacult
AdrFacult

1,n

proposer

1,1

FORMATION
NumroFormation
LibellFormation
Dure

Bien entendu, on se dpche de saccorder des drogations : les dates et les adresses (villes)
sont employes tellement frquemment quon sautorise en mettre dans chaque entit
ou association si ncessaire pour viter de multiplier artificiellement les associations.

94
8 3932 TG PA 01

Rgles de validation du MCD

Le MCD suivant est correct daprs la rgle ci-dessus, mais beaucoup trop lourd. En pratique, si lon appliquait cette rgle pour les dates, les trois quarts des entits seraient
relies Date !
signer
CONTRAT
NumroContrat
TypeContrat
NatureContrat

1,1
1,1

prendre effet

0,n
0,n

DATE
JJMMAAAA

0,n

1,1

payer

On lui prfrera donc la version suivante :


CONTRAT
NumroContrat
TypeContrat
NatureContrat
DateSignature
DateEffet
DatePaiement

En fait, le seul cas o lon sort la date pour en faire une des pattes de lassociation est
lorsque lon veut historiser le concept rel sous-jacent. En effet, la date doit alors faire
partie de lidentifiant de lassociation (revoir lexercice 30).
Une proprit doit tre monovalue et lmentaire vis--vis du systme dinformation
tudi.
lmentaire signifie quelle ne peut pas tre dcompose en donnes pertinentes pour
le systme dinformation, monovalue signifie quelle ne possde quune seule valeur ;
une proprit ne peut pas tre un tableau de valeurs par exemple.

Exercice 49
Nous grons ltat civil dans une mairie et voulons absolument stocker les trois prnoms des
gens dans lordre. Que penser de la solution suivante (prnoms vaudra par exemple ; Andr
Paul Martin si ce sont les trois prnoms de M. Durand) ? De plus, la proprit ville contient le
code postal et la ville. Cela est-il grave ?
Corrigez le MCD pour rgler le problme des prnoms (il y a deux solutions possibles).
PERSONNE
NumroPersonne
Nom
Prnoms
Adresse
Ville

95
8 3932 TG PA 01

Squence 6

On retiendra :
Un identifiant a obligatoirement une valeur stable, unique et non nulle ; les autres
proprits ont une valeur facultative.
Vu le rle particulier de lidentifiant (identifier une occurrence), il doit avoir une valeur
(unique) pour chaque occurrence et cette valeur ne doit pas pouvoir changer. Un numro
de tlphone, bien quidentifiant un abonn, nest pas assez stable pour servir didentifiant sauf chez un oprateur tlphonique !
En revanche, les autres proprits peuvent ne pas avoir de valeur, soit parce que le
moment nest pas venu, soit parce que la nature de loccurrence linterdit : observons les
trois MCD suivants :
Dans lentit Personne, la proprit NomJeuneFille ne sera renseigne (naura de valeur) que si loccurence de la personne est une
femme. Un homme nattribuera pas de valeur la proprit.

PERSONNE
NumroPersonne
Nom
NomJeuneFille
Prnom
Adr
Code
Ville

Cas suivant :
TUDIANT
Numrotudiant
Nom
Prnom

1,n

s'inscrire
note

0,n

COURS
NumroCours
Libell

Linscription est valide (donc loccurrence de sinscrire est cre) ds le dbut de lanne,
mais la note finale de ltudiant nest connue quen fin danne.
Dernier exemple :
RPARATION
NumroRparation
Description
HeureDbut
HeureFin

1,1

effectuer

0,n

VHICULE
NumroVhicule
DateVente
DateImmat
tatGnral

Avant toute intervention, on rentrera dans la base les rparations demandes par le client
pour que les mcaniciens sachent ce quils doivent faire. On ne pourra mettre lheure de
dbut quau commencement de chaque rparation et lheure de fin qu la fin. Les diffrentes proprits des occurrences de Rparation seront donc renseignes en trois fois.

4B2. Entits
Une entit nayant pas doccurrence est une erreur. Une entit nayant quune ou
deux occurrences est trs suspecte.
Si vous crez de telles entits, il y a trs certainement une erreur danalyse. Vrifiez donc
trs soigneusement votre MCD.
96
8 3932 TG PA 01

Rgles de validation du MCD

Une entit nayant quune proprit (par force lidentifiant) doit tre considre dun
il attentif.
Hormis les entits Date qui nont classiquement quune proprit, toute autre entit de
cet acabit doit tre justifie par une contrainte trs prcise du rel tudi (voir lexercice
42 ci-dessus).
Bien entendu, ne croyez pas valablement rgler le problme en ajoutant un identifiant
artificiel doublant le nombre de proprits (qui passe de 1 2).

4B3. Associations
Une occurrence dassociation doit tre dfinie sur toutes les entits relies par lassociation.
Moins pompeusement : les pattes des associations ne sont pas facultatives. Par exemple,
une ternaire ne pourra pas avoir doccurrence avec seulement deux entits.
tudions le cas dun restaurateur dont le concept est de proposer des dizaines dentres,
de plats et de desserts, le client devant faire son choix pour crer son propre menu 3
plats (une entre, un plat principal et un dessert). Loriginalit est que le prix du menu
varie notamment en fonction des calories des diffrents plats (ce nest donc pas une
donne calcule, il faut la faire figurer dans le MCD).
Voici le MCD que vous proposez :
ENTRE
NumroEntre
DescriptionEntre
CaloriesEntre

1,n

coter
montant

1,n

1,n

DESSERT
NumroDessert
DescriptionDessert
CaloriesDessert

PLAT PRINCIPAL
NumroPlatPrincipal
DescriptionPlat
CaloriesPlat

Le restaurateur, que vos questions danalyste ont fait rflchir, vous dit finalement,
pour le midi, je voudrais proposer une formule rapide deux plats (une entre et un plat
principal) base sur le mme modle de prix variable. Le client aurait donc le choix entre
deux formules : entre et plat ou entre, plat et dessert

Exercice 50
Cela change-t-il quelque chose votre modle ? Si oui, modifiez-le en consquence.
Deux occurrences dune association ne peuvent pas tre dfinies sur les mmes
occurrences dentit.
de travers cette phrase : si une association est dfinie sur les trois entits
O X,NeYpaset lire
Z, chaque occurrence de lassociation sera dfinie sur des occurrences de X,
Y et Z. Mais il ne faut pas que ces occurrences soient les mmes.

97
8 3932 TG PA 01

Squence 6

Prenez lassociation coter du restaurateur (ci-dessus). On ne peut dfinir quune occurrence de coter sur le menu terrine de lapin, ragot de lapine, crpe de lapereau . En
revanche, on peut dfinir une autre occurrence terrine de lapin, ragot de lapine, glace
au lapereau . La contrainte est donc que les trois occurrences dentit ne peuvent tre
la fois les mmes. Et cela vient du fait que la concatnation des identifiants des entits
forme lidentifiant de lassociation. Or, la valeur de lidentifiant est unique.
Pour historiser une association porteuse dune date, on rajoute une patte que lon
relie une entit Date et on enlve la proprit date porte.
Considrons le MCD suivant :

MATIRE
NumroMatire
LibellMatire
Niveau

1,n

enseigner
anne

1,n

ENSEIGNANT
NumenEns
NomEns
PrnomEns
AdrEns
CodeEns
VilleEns
DateConc

Dans ce schma, soit un professeur ne peut pas enseigner la mme matire plus dune
fois, soit je ne peux stocker que la dernire anne o le professeur la enseigne. En
effet, un enseignant et une matire dterminent une seule occurrence denseigner donc
une seule valeur pour anne.
Si je veux historiser et autoriser quun professeur enseigne la mme matire plusieurs
annes, je rajoute une entit Anne lassociation, ce qui donne le MCD suivant.

MATIRE
NumroMatire
LibellMatire
Niveau

1,n

enseigner
1,n

ANNE

1,n

ENSEIGNANT
NumenEns
NomEns
PrnomEns
AdrEns
CodeEns
VilleEns
DateConc

AAAA

Une association ayant une cardinalit maximale 1 ne peut tre quune binaire non
porteuse de donnes.
Ds quune patte possde une cardinalit 0,1 ou 1,1, la donne que vous avez envie de
rendre porte doit tre intgre lentit de cette patte. Si votre association est plus
quune binaire, vous lclaterez en binaires bases sur cette entit (voir le paragraphe 2
de cette squence).

98
8 3932 TG PA 01

Rgles de validation du MCD

4B4. Cardinalits
Certaines cardinalits minimales sont discutables (donc toute rponse est acceptable), dautres ne sont pas ngociables.
lexamen, les points seront attribus sur les cardinalits o il ny a quune rponse
possible. Ne mettez donc pas les cardinalits trop mcaniquement.
Lorsquune entit est relie plusieurs associations, les cardinalits minimales sont
souvent 0.
Le pige classique se pose avec lentit Date ; regardons les deux extraits de MCD suivants :
DATE
JJMMAAAA

1,n

DATE
JJMMAAAA

acheter

1,n

louer

Les cardinalits 1,n sont correctes puisque dans les deux cas, toutes les dates du calendrier ne seront pas des occurrences de Date, mais seulement celles o un achat (pour le
premier MCD) ou une location (pour le second) a lieu.
Si ces deux extraits de MCD correspondent au mme systme dinformation, on ne peut
accepter la redondance des entits Date. Il faut donc runir les deux associations sur une
seule entit. Les cardinalits deviennent alors automatiquement 0,n puisquune date dachat
ne correspond pas forcment une date de location et inversement. Ce qui donne :
louer
DATE
JJMMAAAA

0,n
0,n

acheter

Voil ! bientt dans la squence suivante.


Vrifiez bien vos MCD !

99
8 3932 TG PA 01

Synthse

Pour reprsenter un concept, on peut hsiter entre une entit ou une association.
Voici les arguments en faveur dune entit :
plus lassociation possde de pattes, plus cela milite pour une entit fortement ancre dans le MCD, chaque patte devenant une association ou une
proprit lie cette entit ;
plus lassociation possde de proprits, plus on est fond crer une entit
pour y mettre ces proprits ;
plus lobjet rel concern a dimportance dans le systme dinformation, plus
on sera amen le promouvoir en entit (tre une entit, cela se mrite).
Je reprends ici les diffrentes rgles de validation du MCD de faon condense.
Bien entendu, vous devez les vrifier la fin de votre MCD :
1. Une proprit ne peut apparatre quune fois dans le MCD.
2. Une proprit doit tre lmentaire vis--vis du systme dinformation tudi
et monovalue.
3. Un identifiant a obligatoirement une valeur stable, unique et non nulle ; les
autres proprits ont une valeur facultative.
4. Une entit nayant pas doccurrence est une erreur. Une entit nayant quune
ou deux occurrences est trs suspecte.
5. Une entit nayant quune proprit (par force lidentifiant) doit tre considre dun il attentif.
6. Une occurrence dassociation doit tre dfinie sur toutes les entits relies par
lassociation.
7. Deux occurrences dune association ne peuvent pas tre dfinies sur les mmes
occurrences dentit.
8. Pour historiser une association porteuse dune date, on rajoute une patte que
lon relie une entit Date et on enlve la proprit date porte.
9. Une association ayant une cardinalit maximale 1 ne peut tre quune binaire non porteuse de donnes.
10. Certaines cardinalits minimales sont discutables (donc toute rponse est
acceptable), dautres ne sont pas ngociables.
11. Lorsquune entit est relie plusieurs associations, les cardinalits minimales
sont souvent 0.

101
8 3932 TG PA 01

Travaux dirigs 2
Dure indicative :

8 heures

Mme conseil que pour le premier TD : il sagit ici de mettre en pratique les
diffrents concepts du cours. Ainsi, si vous ne connaissez pas votre cours, ces
exercices ne vous serviront rien. Ne vous tonnez pas si vous retrouvez ici
les rflexives, les entits faibles et les associations porteuses !

Exercice 1
Le CNED souhaite informatiser son activit. Une analyse dtaille de lorganisation actuelle
fait apparatre que le CNED propose des inscriptions des formations dcrites comme suit :
Une formation possde un titre (par exemple 1re anne BTS Informatique de Gestion), un
niveau initial requis (par exemple le bac) et une dure en mois. La formation est compose
de modules (cours). Par exemple, la formation 1re anne BTS Informatique de Gestion comprend les modules franais, anglais, conomie, ALSI, AMSI
Un module possde un titre, un nombre de devoirs, une dure approximative en heures et un
coefficient vis--vis de la formation. Il est important de noter quun module nappartient qu
une formation. En effet, les programmes ntant pas les mmes, le module de franais de la
premire anne de BTS nest pas le mme que celui de la formation CAPES lettres modernes.

Travail faire
Faites le MCD modlisant les formations.

Exercice 2
Continuons lexercice prcdent. Un tudiant (nom, prnom, adresse) sinscrit des formations. Il peut arriver quun tudiant suive plusieurs formations. Pour chacune delles, ltudiant aura une moyenne.

Travail faire
Compltez le MCD pour prendre en compte ces nouveaux lments.

Exercice 3
Nous voulons grer un tournoi de football. Une quipe est dcrite par son nom, sa ville dorigine et son niveau (amateur ou professionnel). Un match est constitu par la rencontre de deux
quipes. Il se droule une date et une heure donnes. On doit conserver le score de chaque
match ainsi que lendroit o il a eu lieu. Nous allons envisager successivement trois cas :
deux quipes ne peuvent se rencontrer plus dune fois ;
deux quipes se rencontrent une fois et une seule ;
deux quipes peuvent se rencontrer plusieurs fois.

103
8 3932 TG PA 01

Squence 6

Travail faire
1. Faites le MCD modlisant le tournoi dans le premier cas (deux quipes ne peuvent se
rencontrer plus dune fois).
2. Faites le MCD modlisant le tournoi dans le deuxime cas (deux quipes se rencontrent
une fois et une seule).
3. Faites le MCD modlisant le tournoi dans le troisime cas (deux quipes peuvent se rencontrer plusieurs fois).

Exercice 4
Nous informatisons maintenant lorganisation dun tournoi de judo. Le tournoi se droule
sur deux jours sous forme de tours liminatoires jusqu la finale. Comme dans les premiers
tours il y a des repchages, les judokas peuvent se rencontrer plusieurs fois au cours du tournoi. Avant chaque match, un tirage au sort dtermine qui portera le kimono blanc ; lautre
adversaire portera un kimono bleu. Le score est indiqu en donnant dabord celui du judoka
en blanc. Un judoka possde un numro de licence, un nom, un prnom et un club daffiliation. Un combat est programm entre deux judokas un moment (jour et heure) prcis.
Pour pouvoir diter les rsultats, il faut savoir quel tour (premier tour, demi-finale) se
situe chaque combat. Notons que plusieurs combats peuvent avoir lieu simultanment, videmment entre des adversaires diffrents ! Tout au long des deux jours de comptition, les
combats sont programms par demi-heure ( 8 h, 8 h 30).

Travail faire
1. Faites le MCD modlisant le tournoi en utilisant une entit Combat.
2. Faites le MCD modlisant le tournoi sans entit Combat.
3. Quelle solution vous semble la meilleure ?

Exercice 5
Un organisme de vente par correspondance veut revoir son systme informatique et fait
appel vous pour raliser lanalyse. Voici les notes que vous avez prises :
Un produit possde un prix, un libell, des dimensions (longueur, largeur et hauteur) et un
poids. Les articles textiles ont galement une composition : il faut stocker la liste des diffrentes matires prsentes et leur pourcentage. Par exemple, un tee-shirt sera 80 % coton,
20 % polyamide. Les meubles en kit auront une dure de montage, une difficult (facile,
moyen ou difficile) et un nombre de personnes ncessaires pour le montage. Enfin, un produit appartient une famille de produits et une seule. Une famille est caractrise par son
nom (textile, meuble, meuble en kit), son encombrement (faible, moyen, fort), son type de
livraison (par la Poste ou par transporteur) et sa garantie (aucune, un an ou cinq ans).
Ne sachant pas trop ce que contient une commande ni comment reprsenter un client,
vous demandez votre interlocuteur de vous dcrire prcisment les caractristiques dune
commande. Comme cette personne estime quun document vaut mieux quun long discours,

104
8 3932 TG PA 01

Rgles de validation du MCD

vous donne un bon de commande vierge en vous disant que toutes les informations qui y
figurent sont ncessaires. Le bon de commande en question est repris ci-aprs.

.......................................................... Bon de commande (dbut) .........................................................


Numro de client : .............................
Mme/Mlle/M. (rayer la mention inutile)
Nom : ...............................................Prnom : .............................................
Adresse : .......................................................................................................
Code : ..............................................Ville : ...................................................
Tlphone : .......................................

RF. ARTICLE

DSIGNATION

PRIX UNITAIRE

QUANTIT

PRIX TOTAL

TOTAL COMMANDE
PORT (forfait)
NET PAYER

Mode de paiement :
q chque postal

q chque bancaire

10

q carte bleue

.......................................................... Bon de commande (fin) ...............................................................

Une commande est passe une date donne par un client. On supposera quelle est livre
dun bloc une date donne. Le rglement peut se faire en plusieurs fois. On veut conserver
les caractristiques des diffrents rglements (date, nature chque, carte ).

Travail faire
Ralisez le MCD modlisant ce systme dinformation. Faites cet exercice srieusement car
il est trs formateur : relativement long, il possde plusieurs piges potentiels et met en
uvre des objets mtiers classiques (la commande en loccurrence).

105
8 3932 TG PA 01

Squence 6

Exercice 6
Votre travail danalyse est tellement digne dloges que lon se bouscule pour faire appel
vos services. Maintenant, cest une mdiathque qui envisage dinformatiser son activit. Elle
fait appel vous pour modliser son systme dinformation. Voici ce que vos entretiens vous
ont permis dapprendre :
Nous identifions les documents par un code barre. Cest un identifiant que nous attribuons chaque document de notre fonds documentaire. Nous nemployons pas lISBN
qui est pourtant un identifiant dans le monde de ldition car dune part cest un nombre
long taper et dautre part tous les documents (cassettes, revues) nen possdent pas.
Un document sera dune nature donne (livre, priodique, cassette), aura une dure
en minutes ou un nombre de pages selon sa nature, une date de premire parution, une
date et un prix dachat. Tout document provient dun diteur unique et a t cr par
un ou plusieurs auteurs Enfin, ventuellement 0 pour certains livres anonymes. Si le
document a t traduit, on souhaite savoir par qui. Un document sera dans un tat prcis
(neuf, moyen, abm, changer).
Un auteur sera dcrit par des renseignements pdagogiques (nom, prnom, date et lieu
de naissance et ventuellement de dcs). Pour emprunter un document, il faut tre inscrit la bibliothque. Tout emprunteur est dcrit par les caractristiques habituelles ainsi
que par sa date dinscription (linscription est annuelle). Tout emprunteur na droit qu 3
documents la fois et ne peut les garder que 3 semaines maximum.
Il faut bien entendu conserver les dates demprunt et de retour des documents pour vrifier que le dlai nest pas dpass. Au fait, on peut avoir plusieurs exemplaires dun mme
document. Par exemple, les livres de Stephen King plaisent tellement nos lecteurs que
nous en achetons toujours 5 exemplaires pour satisfaire la demande.

Travail faire
Faites le MCD modlisant ce systme dinformation.
Attention, la notion de document est assez complexe modliser. La notion demprunt est
galement dlicate. Dailleurs, vous envisagerez et modliserez deux cas :
celui o lon emprunte et rend des documents comme on veut, la seule contrainte tant
de ne pas avoir plus de trois documents un moment donn ; vous supposerez alors
quun exemplaire ne peut tre emprunt plusieurs fois par la mme personne ;
celui o les documents (quil y en ait 1, 2 ou 3) sont emprunts et rendus en une fois.
Pour pouvoir emprunter dautres documents, il faut avoir rendu celui ou ceux prcdemment emprunts. Dans ce cas, la contrainte prcdente est leve : un lecteur peut
emprunter plusieurs fois le mme exemplaire.

106
8 3932 TG PA 01

Squence 7

Les dpendances fonctionnelles


(thorie)
Dure indicative : 4 heures

Nous allons tudier un concept assez thorique, mais pouvant tre dune grande
aide. Ne laissez donc pas tomber maintenant ! Cest dans la squence suivante
que lon abordera son utilisation pratique.

u Capacits attendues
Matriser le concept des dpendances fonctionnelles et leurs proprits

u Contenu
1.

Les dpendances fonctionnelles (DF) ........................................ 108

1A.
1B.
1C.

Dfinition (cas simple) ............................................................................ 108


Soyons prcis sur les DF ! ....................................................................... 110
Nouvelle dfinition (cas gnral) ........................................................... 111

2.

Proprits des dpendances fonctionnelles ........................... 112

2A.
2B.
2C.
2D.

Rflexivit ................................................................................................ 112


Augmentation ......................................................................................... 112
Transitivit ............................................................................................... 112
Composition ............................................................................................. 113

3.

Simplification des DF ....................................................................... 113

3A.
3B.
3C.

Atomicit .................................................................................................. 113


lmentarit ............................................................................................ 114
DF directe ................................................................................................. 114

4.

Normalisation dun ensemble de DF ......................................... 115

4A.
4B.

Intrt de la normalisation ..................................................................... 115


Ensemble de DF normalis ..................................................................... 116

5.

Enfin fini ........................................................................................... 117

Synthse

107
8 3932 TG PA 01

Squence 7

1.

Les dpendances fonctionnelles (DF)


Nous allons voir un concept qui, regard de haut, est lmentaire et intuitif sous des allures thoriques ardues. Concentrez-vous nanmoins au mieux pour aborder cette partie
car elle demeure plus thorique que les autres et va finalement assez loin.
Pas de panique cependant, jessaierai de donner des exemples le plus souvent possible.
On tudie ce concept car il fournit une aide mthodologique relle pour le choix des
identifiants, pour dcider si une association peut tre porteuse, voire pour construire un
morceau de MCD !

1A.

Dfinition (cas simple)


Ouah, cest une expression qui en impose ! Dpendance fonctionnelle . Est-ce aussi
ardu que le nom semble complexe ? Ma foi non. Cest un concept simple, mais dont les
applications sont importantes.
Les dpendances fonctionnelles sont dfinies entre des proprits. Un exemple pour
tre clair ? Eh bien, la dpendance fonctionnelle pourrait servir dfinir lidentifiant.
Nous avons dj vu dans le cours que lidentifiant dune entit tait choisi de telle faon
que sa valeur dterminait celles des proprits de lentit. Attention, il faut tre prcis.
vitez de dire (et pire encore, de penser) quand on connat lidentifiant, on connat
les proprits . Cest faux et je vous le prouve.
Voici lidentifiant (numro de Scurit Sociale) dune personne : 2 15 03 21 125 999.
Avoir la valeur de lidentifiant vous donne-t-il le nom de cette personne, son adresse,
tlphone ? Non ! En revanche, vous savez quil ny aura quun nom, un prnom
et une adresse qui vont correspondre puisque la valeur de lidentifiant identifie (de
faon unique) loccurrence cherche. Mais quelles seront les valeurs des proprits,
cest une autre histoire.
La dfinition parfaite de lidentifiant est donc : la valeur de lidentifiant caractrise loccurrence correspondante.
Reformulons : caractriser loccurrence signifie caractriser toutes ses proprits. Ce qui
veut dire que la valeur de lidentifiant caractrise chaque proprit, donc que la valeur
de lidentifiant dtermine celle de chaque proprit.
Nous y sommes ! Si lon veut employer un vocabulaire technique, on ne dira pas que la
valeur de la proprit X dtermine celle de la proprit Y, mais que Y est en dpendance
fonctionnelle avec X.
Ainsi, on ne dira pas la valeur de lidentifiant dtermine celle de chaque proprit ,
mais plutt chaque proprit est en dpendance fonctionnelle avec lidentifiant .
Comme toujours, voyons ce que signifient les termes.

Jai fait la confusion assez longtemps, do certaines incomprhensions ultrieures que jaimerais vous viter.

Dfinition parfaite ? Je viens de vrifier, cest bien la dfinition que jai donne dans la
squence 2. Je suis assez fier de moi.

Attention ! Jinsiste sur le fait que dtermine signifie que la valeur est unique et pas quon
la connat !
108
8 3932 TG PA 01

Les dpendances fonctionnelles (thorie)

Fonctionnelle
Fonctionnelle : relatif une fonction. (Petit Robert)
Fonction : rle caractristique que joue une chose dans l'ensemble dont elle fait partie.
(Bob)
Comme nous parlons de proprits, le rle dont on parle correspond la valeur de la
proprit.
Dpendance
Dpendance : rapport qui fait quune chose dpend dune autre. (idem)
Dpendre : ne pouvoir se raliser sans l'action ou l'intervention. (idem)
La dpendance fonctionnelle indique donc que la valeur de la proprit dpend de la
valeur dune autre proprit. Passons sans plus attendre la dfinition thorique.
Dpendance fonctionnelle : on dira que la proprit Q dpend fonctionnellement de
la proprit P (not P " Q) si la valeur de P dtermine celle de Q, donc si une valeur
de P ne correspond quune unique valeur de Q.
P est la source de la dpendance, Q est la cible.
Comme Q dpend fonctionnellement de la proprit P est difficile lire et prononcer, on dnombre dans la littrature un nombre proprement stupfiant de variantes,
chaque auteur prfrant sa version :
Q est en dpendance fonctionnelle avec P ;
Q est en dpendance fonctionnelle vis--vis de P ;
Q est en DF avec P ; [DF pour Dpendance Fonctionnelle]
Q dpend fonctionnellement de P ;
Q dpend de P. (Jutiliserai cette version, moins coteuse en touches de clavier.)
La flche est assez explicite. On a bien lide dimplication, de dtermination.
Mtaphoriquement, la dpendance fonctionnelle est un lien de cause effet smantique. En travaillant sur lidentifiant, on a donc bien dj rflchi sur les dpendances. On
notera que les dpendances scrivent sur des proprits (dans P " Q, P et Q sont des
proprits), mais quelles sappliquent (se dfinissent) sur les valeurs de ces proprits.

Exercice 51
Dune faon gnrale, y a-t-il un lien de dpendance fonctionnelle entre Prnom et
DateNaissance ? Si oui, lequel ?
Idem entre NumroScu et Prnom, puis entre NumroScu et DateNaissance.

Attention ! Dans une copie ou oralement, placez au moins une fois les deux mots dpendance fonctionnelle pour montrer que vous les connaissez. Ensuite, vous avez le droit dabrger
en dpendance .
109
8 3932 TG PA 01

Squence 7

1B.

Soyons prcis sur les DF !


Attention, les dpendances fonctionnelles ne tombent pas du ciel. Si je vous donne deux
proprits P et Q, y a-t-il un lien de dpendance fonctionnelle entre les deux ? Et si oui,
dans quel sens ? P " Q ou Q " P ? On nen sait rien.
Les problmes commencent ! Je vous dis que lon ne peut pas dcider au dbott sil
existe une DF entre deux attributs et pourtant, dans lexercice prcdent, on a bien su
le faire avec NumroScu.
Pourquoi ? Parce que lon sait que NumroScu est un identifiant ; il sera donc par
dfinition source de DF avec toutes les proprits associes lentit quil identifie (ici,
une personne). Mais cest un cas particulier de proprit tellement classique quelle est
connue indpendamment de tout systme dinformation.
En fait, pour dcider sil existe une dpendance fonctionnelle entre deux proprits, il faudra connatre le contexte, donc le systme dinformation observ. Vous avez besoin de la
smantique de la proprit pour conclure, et de la smantique complte ! En effet, vous
me direz que le prnom, eh bien, cest le prnom, que lon soit dans lentreprise, la ferme,
la Scurit sociale Certes. Mais dans certains cas, le prnom est plus que le prnom !
Nous sommes la mairie o lon veut informatiser la gestion des lecteurs. Le prnom peutil tre identifiant ? Non, car il y a de multiples personnes qui ont le mme prnom. Cest
pourquoi on naura pas de dpendance fonctionnelle entre Prnom et DateNaissance.
Nous sommes maintenant au sein dune famille (parents et enfants). Dans ce cas, le
prnom est sens tre un identifiant puisquon ne va pas appeler deux enfants par le
mme prnom ou par le prnom des parents. Dans ce cas, on a une DF entre Prnom et
DateNaissance dans le sens suivant : Prnom " DateNaissance.

Exercice 52
Dans le cas de la famille que lon vient dtudier, pouvons-nous avoir la DF
DateNaissance " Prnom ?

Exercice 53
Les dpendances fonctionnelles sont lies aux proprits et leur smantique in situ, cest-dire leur smantique dans le systme dinformation considr (dans le monde rel).
Un MCD est donc un support particulirement adapt pour travailler sur les dpendances, puisquil a pour objet de modliser parfaitement le rel. Je vous demande dnumrer toutes les
dpendances fonctionnelles que vous trouverez avec les proprits du MCD suivant (une aide, il
y en a 14, dont 8 tellement videntes que lon ny pense pas forcment).

Jy pense seulement maintenant cette notion que tout dpend du systme dinformation
observ se retrouve en physique. Vous faites un raisonnable 130 km/h sur lautoroute. Pouvezvous dire que vous bougez ? Oui si vous prenez comme rfrence un poteau indicateur, non si
votre rfrence est votre passager. Do la formule tout est relatif. (Qui veut dire tout sexprime
relativement (par rapport) au contexte.)
110
8 3932 TG PA 01

Les dpendances fonctionnelles (thorie)

TUDIANT
Numrotudiant
Nom
Prnom
Rue
CodePostal
Ville

1C.

suivre

1,n

COURS
0,n

Titre
Dure

Nouvelle dfinition (cas gnral)


Nous avons vu dans la squence prcdente que lidentifiant pouvait tre constitu par
plusieurs proprits. On pourra donc tendre la dfinition de la dpendance fonctionnelle plusieurs proprits du ct gauche de ".
On dira que la proprit Q dpend fonctionnellement des proprits P1 , P2 Pn
(not P1 , P2 Pn " Q) si la valeur de P1 , P2 Pn dtermine celle de Q , donc si une
valeur de P1 , P2 Pn ne correspond quune unique valeur de Q.
La phrase prcdente doit tre explique car il y a un point ambigu.
Si la valeur de P1, P2 Pn dtermine celle de Q
La formule classique est plutt si les valeurs de P1, P2 et Pn dterminent celles de Q .
Mais cela ne signifie pas que la valeur de P1 donnera une valeur de Q, celle de P2 donnera
une autre valeur Q comme lillustre le schma suivant :

P1, P2 Pn " Q

P1 " Q
P2 " Q

Pn " Q

Enfin, cela peut arriver, mais cest une concidence et pas le cas gnral.

La phrase signifie que si chaque P1 une valeur (ainsi la concatnation de P1, P2 Pn


possde une valeur) alors la valeur de Q sera dtermine.
En fait, si lon pose P = P1, P2 Pn, on retrouve P " Q.
Vous remarquerez quil ny a aucune notion dordre dans les proprits sources :
A, B " C est quivalent B, A " C.

Exercice 54
Dans le MCD suivant, donnez toutes les DF (ne tenez pas compte des DF dune proprit vers
elle-mme). Il y en a 14.
INSPECTEUR
NumenInsp
NomInsp
PrnomInsp
AdrInsp
CodeInsp
VilleInsp
CodeInsp

1,n

inspecter
note
commentaire
1,n

DATE
JJMMAAAA

0,n

ENSEIGNANT
NumenEns
NomEns
PrnomEns
AdrEns
CodeEns
VilleEns
DateConc

111
8 3932 TG PA 01

Squence 7

2.

Proprits des dpendances fonctionnelles


Si je voulais faire intello, je vous dirais que ce qui suit constitue les trois axiomes de
Armstrong. Par dfinition, les axiomes ne se dmontrent pas. Il faut les admettre, ce qui
est facile si vous en comprenez le sens.
Dans ce qui suit, on pose que P, Q, Pi (pour tout i) et Qj (pour tout j) sont des proprits
quelconques. Je vous donnerai la formule mathmatique, puis une explication en franais pour aider votre intuition.

2A.

Rflexivit
Cas particulier (vu dans lexercice prcdent) :
Q"Q
Cela signifie que toute proprit est en dpendance avec elle-mme.
Cas gnral :
P1, P2 Pn " Pi (i n)
Comme la valeur de Pi dtermine Pi (Pi " Pi), on peut rajouter dautres proprits gauche qui comptent pour du beurre . En effet, comme Nom " Nom, alors Nom, Prnom
" Nom puisque, quelle que soit la valeur donne Prnom, celle de Nom donne celle
de Nom.
Notons que cet axiome multiplie linfini le nombre de DF potentielles !

2B.

Augmentation
Si Q dpend fonctionnellement de P, alors pour une proprit Z quelconque, Q, Z
dpend de P, Z :
si P " Q alors P, Z " Q, Z
En effet, dans le couple Q, Z , Q sera dtermin par P (puisque P " Q) et Z par Z (car
Z " Z).
Par exemple : numro de Scu " anne de naissance
donc numro de Scu, Prnom " anne de naissance, Prnom

2C.

Transitivit
Jespre quarrivs ici, nous sommes daccord sur la relative simplicit de ce que lon a dj
vu. Voyons maintenant la transitivit des DF.
La transitivit ? Mais si, la transitivit ! Vous savez, comme dans la transitivit de lgalit
qui dit que si a = b et b = c, alors a = c.
Eh bien, les dpendances fonctionnelles sont transitives :
P, Q et R tant des proprits, si P " Q et Q " R, alors P " R
Par exemple, on a :
numro de Scu " dpartement (chiffres 6 et 7 du numro)
or
dpartement " prfecture du dpartement (car une prfecture par dpartement)
donc numro de Scu " prfecture du dpartement

112
8 3932 TG PA 01

Les dpendances fonctionnelles (thorie)

Encore une fois, cela ne veut pas dire que lon a linformation. Cela veut juste dire
quelle existe. Mon numro de Scurit sociale est 1 xx xx 54 xxx xxx (les x remplacent
des chiffres sans intrt ici). Le dpartement 54, comme tout dpartement, possde une
prfecture. Il vous faudra peut-tre consulter le dictionnaire pour la trouver mais, une
chose est sre, elle existe et est unique.

2D.

Composition
Ceci nest pas un axiome, mais un corollaire de ces axiomes, savoir une consquence
directe.
Si P1 " Q1 et P2 " Q2, alors P1, P2 " Q1, Q2.

Exercice 55
Pouvez-vous dmontrer ceci ? Une petite aide : il faut utiliser deux fois laugmentation puis la
transitivit.
Notez que linverse nest pas vrai. Si A, B " C, D, on ne peut en dduire ni :
A " C et B " D ni
A " D et B " C.

3.

Simplification des DF
Aprs avoir tudi les proprits des DF, nous allons apprendre les simplifier pour leur
donner une forme conventionnelle. Cest partir de cette forme que lon pourra gnrer
le MCD.

3A.

Atomicit
Le cas vraiment gnral dune DF est le suivant : P1, P2 Pn " Q1, Q2 Qm
Cette formule signifie, en appliquant strictement la dfinition, que la valeur de P1, P2 Pn
dtermine celle de Q1, Q2 Qm. Dit autrement, si chacun des Pi possde une valeur, alors
chacun des Qj en possdera une unique. Donc chacun des Qj est en DF avec P1, P2 Pn.
Ainsi :

P1, P2 Pn " Q1, Q2 Qm

| quivalent }

P1, P2 Pn " Q1
P1, P2 Pn " Q2

P1, P2 Pn " Qm

Dfinition : une dpendance fonctionnelle est atomique si elle ne possde quune


proprit cible ( droite de ").
Ds que lon travaille sur des DF, on sempresse de les rendre atomiques pour navoir
quun terme cible. Notons que cela augmente sensiblement leur nombre.

113
8 3932 TG PA 01

Squence 7

Exemple : reprenons notre exemple denseignant identifi par son Numen. Toutes les
proprits de lenseignant sont en dpendance fonctionnelle avec le Numen, ce que lon
peut crire en une DF ou en six DF atomiques :

Numen " Nom, Prnom, Adr, Code, Ville, DateConc

| quivalent }

Numen " Nom


Numen " Prnom
Numen " Adr
Numen " Code
Numen " Ville
Numen " DatConc

Exercice 56
Dmontrez, en utilisant latomicit et laugmentation, que si P " Q, alors P, Z " Q.

3B.

lmentarit
Attention ne pas confondre llmentarit dune proprit et celle dune DF !
Nanmoins, si cest le mme mot, cest parce que les concepts sont similaires.
Une dpendance fonctionnelle est lmentaire si :
elle est atomique ;
les proprits sources de la DF sont minimales, savoir que si lon en enlve
une, on na plus de dpendance.
Mathmatiquement, on crira : P1, P2 Pn " Q est lmentaire si pour tout i tel que
1 i n, P1, P2, Pi-1, Pi+1 Pn " Q.
Voyons un exemple : NumroScu, Nom " DateNaissance nest pas lmentaire.
En effet, comme NumroScu " DateNaissance, on peut enlever une proprit source
(ici, Nom) sans perdre la DF.
On remarquera que toute DF nayant quune proprit source et une proprit cible est
trivialement lmentaire (atomique car une seule proprit cible, minimale car une seule
proprit source).

3C.

DF directe
Les deux caractristiques prcdentes concernaient chaque DF prise individuellement. En
revanche, la notion de DF directe na de sens que dans un ensemble de dpendances et
de proprits.
Une dpendance fonctionnelle sera directe si elle nest pas issue de la transitivit
dautres dpendances. Ainsi, A " C sera directe sil nexiste pas de proprit B telle
que A " B et B " C.
On notera que les dpendances qui ne sont pas directes sont inutiles dans la mesure o,
grce la transitivit, on les retrouve.

114
8 3932 TG PA 01

Les dpendances fonctionnelles (thorie)

Exercice 57
Identifiez les dpendances qui ne sont pas directes dans cet ensemble :
1. DateNaissance " ge

6. NumroClient " MontantRemise

2. NumroScu " DateMajorit

7. DateNaissance " DateMajorit

3. NumroClient " TypeClient

8. Nom " CodeSecret

4. DateNaissance " SigneZodiaque

9. TypeClient " MontantRemise

5. NumroScu " Nom, Prnom

10. NumroScu " DateNaissance

4.

Normalisation dun ensemble de DF

4A.

Intrt de la normalisation
Les exemples prcdents et le cours montrent quavec quelques proprits, on peut multiplier le nombre de DF de faon totalement draisonnable !
Par exemple, avec les proprits X et Y, on aura entre autres :
X"X

X, Y " X, Y

X, X " X, X

Y, Y, X, Y " Y, Y, Y, Y

Bien entendu, mme si ces dpendances existent, elles sont triviales et nont absolument
aucun intrt. On va donc apprendre normaliser un ensemble de DF pour nen garder
quun sous-ensemble reprsentatif, savoir le plus petit sous-ensemble de DF permettant de rcuprer lensemble de dpart en appliquant les diffrentes proprits des DF.
Bref, on va tenter dliminer la redondance.

Exercice 58
Le principe dlimination de la redondance est assez naturel : dans la vie de tous les jours, on
vite de dire plusieurs fois la mme chose. Considrons les phrases suivantes :
1. Les parents de Jean-Yves sont Yves et Josette.
2. Le frre de Jean-Yves est ric.
3. Les surs de Frdrique sont lisabeth, Franoise, Marie-Claire et Pascale.
4. Les belles-surs de Jean-Yves sont lisabeth, Franoise, Marie-Claire et Pascale.
5. ric est le beau-frre de Frdrique.
6. Yves et Josette sont les parents dric.
7. Les parents de Pascale sont Denise et Auguste.
8. Frdrique et Jean-Yves sont maris ensemble.
9. Les parents de Frdrique sont Auguste et Denise.
10. Franoise est la belle-sur de Jean-Yves.
En vous aidant ventuellement dun arbre gnalogique, enlevez le maximum de phrases en ne
perdant aucune information (nenlevez que les phrases apportant une information redondante).
Notez que ceci na rien voir avec les dpendances fonctionnelles, cest juste une justification de la
traque la redondance.
115
8 3932 TG PA 01

Squence 7

Ce que lon vient de faire avec les rgles de la vie , on va le faire sur les DF en exploitant leurs diffrentes proprits.

4B.

Ensemble de DF normalis
Nous travaillons pour le moment avec un ensemble arbitraire ( tomb du ciel ) de
dpendances fonctionnelles. Dans la squence suivante, les DF seront issues du systme
dinformation que lon tudie.
On va reprendre les trois caractristiques des DF pour les appliquer trivialement aux
ensembles de DF.

Un ensemble de DF est dit

atomique
lmentaire si toutes les DF quil contient sont
direct

atomiques
lmentaires
directes

Ensemble de DF normalis : un ensemble de DF sera normalis sil est atomique,


lmentaire et direct.
On veillera toujours ce que lensemble de DF sur lequel on travaille soit normalis. En
pratique, on normalisera lensemble avant toute autre chose.
Notez bien que lensemble de dpart et lensemble normalis sont quivalents : ils transmettent les mmes informations. La diffrence est que lensemble normalis transmet les
informations de la faon la plus concise possible.

Exercice 59
Nous allons travailler sur un ensemble de dpendances o les proprits sont arbitraires (je les
appelle A, B). Cela me permet de dfinir ce que je veux en DF pour faire un sujet un peu plus
complexe.
Il vous est demand de normaliser lensemble de dpendances fonctionnelles suivant :
A, B, C " E, F
B"D
A, B " H
D"H
E"H
A, D " H
Une aide : il faut rendre les DF atomiques, puis lmentaires, puis enlever celles qui ne sont
pas directes.

Attention normalis et non normalises car cest lensemble qui est normalis et non les DF.
Ne vous acharnez pas sur cette squence si elle vous semble trop ardue. Limportant,
cest davoir compris le principe des DF pour pouvoir vous en servir dans la squence
suivante.

116
8 3932 TG PA 01

Les dpendances fonctionnelles (thorie)

5.

Enfin fini
Cest fini pour la thorie des dpendances fonctionnelles. On tudiera leur utilisation
pratique pour le MCD dans la squence suivante. Vous devez nanmoins sentir en quoi la
notion de dpendance fonctionnelle est importante dans le MCD. En effet, les DF traduisent les dpendances entre les proprits, tandis que le MCD structure les donnes (en
entits et associations) en exploitant les liens entre proprits mis au jour par les DF.
Donc on peut dire que :
MCD = structuration des donnes + dpendances entre ces donnes
Nous verrons dailleurs dans la squence suivante comment construire le MCD partir
des DF.

117
8 3932 TG PA 01

Synthse

Dfinition
Dpendance fonctionnelle (cas gnral) : on dira que la proprit Q dpend
fonctionnellement des proprits P1, P2 Pn (not P1, P2 Pn " Q) si la valeur de
P1, P2 Pn dtermine celle de Q, donc si une valeur nn de P1, P2 Pn ne correspond quune unique valeur de Q. Les Pi sont la source de la dpendance, Q est
la cible.

Proprits des dpendances


Rflexivit : P1, P2 Pn " Pi (i n)
Augmentation : si P " Q alors P, Z " Q, Z
Transitivit : si P " Q et Q " R alors P " R

Normalisation des DF
Une dpendance fonctionnelle est atomique si elle ne possde quune proprit
cible.
Une dpendance fonctionnelle est lmentaire si :
elle est atomique ;
les proprits sources de la DF sont minimales, savoir que si lon en enlve
une, on na plus de dpendance.
Une dpendance fonctionnelle sera directe si elle nest pas issue de la transitivit
dautres dpendances. Ainsi, A " C sera directe sil nexiste pas de proprit B
telle que A " B et B " C.

Un ensemble de DF est dit

atomique
lmentaire si toutes les DF quil contient sont
direct

atomiques
lmentaires
directes

Un ensemble de DF sera normalis sil est atomique, lmentaire et direct.

119
8 3932 TG PA 01

Squence 8

Les dpendances fonctionnelles


(utilisation)
Dure indicative : 10 heures

Aprs avoir souffert dans la squence prcdente (ctait la plus thorique du


cours), nous allons exploiter de faon pratique nos nouveaux acquis. Les personnes qui liront ce qui suit, et nauront donc pas abandonn le cours pendant les
DF, vont voir leurs efforts rcompenss !

Capacits attendues
Savoir tablir le dictionnaire des donnes
Utiliser la notion de forme normale pour valider son MCD
Savoir raliser une partie de MCD avec la mthode des DF

Contenu
1.

Choix dun identifiant ..................................................................... 122

1A.
1B.
1C.
1D.

Les dpendances fonctionnelles au sein dune entit ......................... 122


Les dpendances fonctionnelles au sein dune association ................. 123
Les trois formes normales (FN) .............................................................. 123
Rsum sur les formes normales ........................................................... 126

2.

Dmarche de construction du MCD la papa (avec les DF) ... 126

2A. Introduction ......................................................................................... 126


2B.
2C.
2D.
2E.

La dmarche ............................................................................................ 127


Le dictionnaire des donnes.................................................................... 127
Graphe des dpendances fonctionnelles (graphe des DF) .................. 135
Construction du MCD partir du graphe .............................................. 137

3.

Formes normales et MLD ................................................................ 141

3A.
3B.
3C.

Premire forme normale ......................................................................... 141


Deuxime forme normale ....................................................................... 141
Troisime forme normale ....................................................................... 141

Synthse

121
8 3932 TG PA 01

Squence 8

1.

Choix dun identifiant


Dans la squence 5, nous avons tudi des considrations purement intuitives pour choisir
lidentifiant dune entit. Grce aux dpendances fonctionnelles, nous pouvons formaliser cela.

1A.

Les dpendances fonctionnelles au sein dune entit


Nous avons dj vu que, par dfinition dun identifiant, toute proprit dune entit
tait en dpendance fonctionnelle avec lidentifiant de lentit.

Exercice 60
Daprs ce que je viens de rappeler, donnez les dpendances fonctionnelles implicitement
contenues dans lentit Client suivante, puis dans le cas gnral de lentit Entit :
CLIENT
NumroClient
NomClient
PrnomClient
AdrClient
CodeClient
VilleClient
TlphoneClient

ENTIT
Identifiant
Proprit_1
Proprit_2
Proprit_3
(etc)
Proprit_n

Si nous nous contentons de dire que lidentifiant est tel que toute proprit est en DF
avec, les candidats seront nombreux ! Dans le cas de Client, la concatnation des deux
proprits NumroClient et NomClient est galement identifiant daprs les proprits
des DF. Ainsi, lentit suivante est pour le moment valide :
CLIENT
NumroClient
NomClient
PrnomClient
AdrClient
CodeClient
VilleClient
TlphoneClient

(je pouvais choisir nimporte quelle proprit de lidentifiant au lieu de NomClient.)

Exercice 61
Tiens, oui, cest vrai, on les avait vues, ces proprits des DF ! Pouvez-vous prouver que si
NumroClient est source de DF avec toutes les proprits de Client, alors il en est de mme pour
la concatnation de NumroClient et NomClient ? (cela revient dmontrer que ce couple est
identiant.)

122
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

On se rend compte que notre notion didentifiant est assez floue puisque de nombreux
candidats se prsentent ! Intuitivement, on se doute que, fidle notre principe dconomie, le meilleur identifiant sera le plus concis. Nous allons le formaliser avec la notion
de forme normale dans le paragraphe 1C.

1B.

Les dpendances fonctionnelles au sein dune association


Finalement, partout o il y a identifiant et proprit, il y aura dpendance fonctionnelle.
Donc dans les entits, mais aussi dans les associations porteuses de donnes.
Les proprits dune association seront en dpendance fonctionnelle avec lidentiant
de cette association.
Reprenons le cas des inspections :
INSPECTEUR
NumenInsp
NomInsp
PrnomInsp
AdrInsp
CodeInsp
VilleInsp
CodeInsp

1,n

inspecter
note
commentaire
1,n

DATE
JJMMAAAA

0,n

ENSEIGNANT
NumenEns
NomEns
PrnomEns
AdrEns
CodeEns
VilleEns
DateConc

Les DF seront :
NumenInsp, NumenEns, JJMMAAAA " note
NumenInsp, NumenEns, JJMMAAAA " commentaire
Cela ne vous parat pas si vident ? Cela vient du fait que les proprits portes sont
dtermines par lidentifiant de lassociation (on a dj fait cela, cest lexercice 54 !).
Vous remarquerez que nous exploitons intensment le cours ; ceux qui ne lont pas
appris doivent souffrir.

1C.

Les trois formes normales (FN)


Habituellement, on exploite la notion de forme normale avec les relations, cest--dire
dans le MLD (squence 5). Mais comme le MLD dcoule directement du MCD, puisquil
en est la traduction dans un autre formalisme, les formes normales sappliquent valablement au MCD.
Dailleurs, des relations non normalises (ne suivant pas les formes normales) viennent
dun MCD erron (non normalis lui aussi).
Nous exploiterons les formes normales avec les entits et les associations. Mais au fait,
quoi servent-elles ? Ce sont des formes normalises assurant la correction du MCD. Des
thoriciens ont en effet montr que si ces FN ntaient pas respectes, le modle tait
faux. Cest pourquoi il est intressant de les connatre ! Vous verrez quelles reprennent
des lments de cours dj connus.

123
8 3932 TG PA 01

Squence 8

1C1. Premire forme normale


Lentit ou lassociation sera en premire forme normale si toutes les proprits
dpendent fonctionnellement de lidentifiant et sont lmentaires.
Je vous rappelle que llmentarit des proprits est relative, tout dpend du systme
dinformation (revoir squence 2, paragraphe 3).
Bon, jusqu prsent, toutes nos entits taient en premire forme normale ; passons
donc plus intressant.

1C2. Deuxime forme normale


Une entit ou association sera en deuxime forme normale si :
elle est en premire forme normale et
toute proprit non identifiant est en dpendance fonctionnelle lmentaire
avec lidentifiant.
Dit autrement, toute proprit non identifiant doit dpendre de tout lidentifiant et
pas dune partie. Bien entendu, si lidentifiant est lmentaire (compos dune seule
proprit), toute entit en 1re FN est trivialement en 2e FN.

Exercice 62
Ah oui ? trivial ? Eh bien, expliquez-moi quavec un identiant lmentaire, 1re FN et 2e FN sont
quivalentes !

Voici quelques exemples :


Dans le MCD des inspections (paragraphe 1B), les dpendances sont en 2e FN :
NumenInsp, NumenEns, JJMMAAAA " note
Si lon enlve lune des trois proprits sources, la note nest plus dtermine de faon
unique.
En revanche, observons cette entit :
CLIENT
NumroClient
NomClient
PrnomClient
AdrClient
CodeClient
VilleClient
TlphoneClient

Elle nest pas en 2e FN car la dpendance NumroClient, NomClient " PrnomClient (ou
toute autre proprit cible) nest pas lmentaire (en enlevant NomClient, la dpendance fonctionnelle est toujours juste).

lmentaire, lmentaire vous avez un trou ? Allez voir squence 7 paragraphe 3B.
124
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

Exercice 63
Dans le MCD suivant (dj tudi en squence 6), lassociation livrer est-elle en 2e FN ?
CLIENT
NumroClient
NomClient
PrnomClient
AdrClient

0,n

livrer
dateLivraison

1,n

COMMANDE
NumroCommande
DateCommande
MontantCommande

0,n
ENTREPT
NumroEntrept
AdrEntrept
TelEntrept

1C3. Troisime forme normale


Une entit ou association sera en troisime forme normale si :
elle est en deuxime forme normale et
il ny a aucune dpendance fonctionnelle entre deux proprits non identifiant.
En clair, les dpendances fonctionnelles doivent avoir comme seule source lidentifiant.
Encore plus clairement, cela signifie que lentit ne doit contenir quun identifiant possible. Notons que cette forme normale peut ne pas tre vrifie. Mais il faudra alors
sassurer que cest justifi !

Exercice 64
tudiez les entits suivantes et indiquez leur forme normale (1re, 2e ou 3e). Pour celles qui ne
sont pas en 3e forme normale, vous justierez si elles sont valides ou non.
SALARI
NumroSalari
NumScuSalari
NomSalari
PrnomSalari
AdrSalari
VilleSalari
TelSalari

ENTREPRISE
NumroEnt
NomEnt
AdrEnt
VilleEnt
TelEnt
FaxEnt

ASSUR SOCIAL
NumroScuAS
NomAs
PrnomAs
AdrAs
VilleAs

ENSEIGNANT
NumenEns
NomEns
PrnomEns
AdrEns
VilleEns

1C4. Pourquoi pas des 4e, 5e, 6e formes normales ?


Au point o nous en sommes
Eh bien, justement, puisque vous men parlez Il existe dautres formes normales (la 4e, la
5e, la forme normale de Boyce Codd). Pourquoi une telle ination ? Les formes normales
ont pour objet dassurer une reprsentation des donnes correcte (qui tienne la route ).

125
8 3932 TG PA 01

Squence 8

Do les trois premires, qui rglent beaucoup de problmes. Mais lusage, on sest rendu
compte que tous les problmes ntaient pas rsolus. Do les autres formes normales.
Nous ne les tudierons pas ici car elles napportent rien notre propos.

1D.

Rsum sur les formes normales


Comme les dfinitions ci-dessus ne sont pas forcment aises retenir, je vous propose
cette formulation condense :
Une entit ou association doit tre en troisime forme normale, savoir : les proprits, lmentaires, dpendent de lidentifiant (1re FN), de tout lidentifiant (2e FN) et
que de lidentifiant (3e FN).
Vrifiez que cette phrase reprend bien toutes les caractristiques des formes normales.

2.

Dmarche de construction du MCD la papa

2A.

Introduction

(avec les DF)

Lorsque nos parents faisaient du Merise, ils navaient pas notre recul. Ils appliquaient
donc la mthode avec rigorisme. Lavantage tait davoir une dmarche presque scientifique, donc sans risque derreur. Le problme est que lanalyse reste quelque chose de
cratif o les rgles sont parfois plus un carcan quune aide.
Quelle technique vous ai-je appris pour concevoir un MCD ? Ma foi, beaucoup de vent
diront les mcontents. En effet, quelques conseils pratiques mis part, on travaille finalement lintuition : on lit le sujet, on crayonne un bout de MCD, on corrige, on complte
Tout cela ne fait pas trs professionnel. Cependant, cest la technique la plus efficace avec
de lentranement. Et, surtout, cest la seule praticable sur des cas rels.
Il existe cependant une technique beaucoup plus rigoureuse. Cest la technique originale
de conception des MCD initie par les crateurs de la mthode Merise. Le problme est
que les utilisateurs de Merise se sont rendus compte que cette technique tait inapplicable pour des cas un tant soit peu volumineux.
Je sens votre inquitude : pourquoi apprendre une technique inefficace ? Ce nest pas
par got de lhistoire informatique que je vais vous la prsenter, mais simplement parce
que, quand vous sentez que tout votre raisonnement et votre intuition ne suffisent pas,
quun morceau du MCD vous semble bizarre et, osons le mot, faux, sans que vous sachiez
comment le rsoudre, cette technique vous permet de remettre plat lextrait de MCD
fautif et dappliquer des rgles de construction strictes mettant de ct votre intuition.
Bref, si la mthode classique (lintuition) ne donne rien, lide est daborder le problme
par un autre ct. Jinsiste sur le fait que cela ne doit concerner quun sous-ensemble
restreint du MCD pour rester praticable. Cette technique met en uvre les dpendances
fonctionnelles ce qui nest pas une surprise.

126
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

2B.

La dmarche
Les tapes suivre sont les suivantes :
1. On recense toutes les donnes du systme dinformation. Aprs dpouillement, on
produit le dictionnaire des donnes.
2. On cherche ensuite toutes les dpendances fonctionnelles entre ces donnes. On
normalise cet ensemble de DF.
3. On reprsente graphiquement lensemble des dpendances normalis.
4. Le MCD se dduit mcaniquement de cette reprsentation.
Inutile de rver : ce nest pas vraiment plus simple car la difficult se retrouve dans
ltablissement des DF. Lintrt est que cest une dmarche diffrente qui peut aboutir
quand lintuition bloque.
De cette dmarche, que nous reste-t-il tudier ? Le dictionnaire des donnes, la reprsentation graphique des DF et sa traduction en MCD.
Vous tes prts ? Eh bien, on y va.

2C.

Le dictionnaire des donnes


2C1. Introduction
Jai plac le dictionnaire des donnes dans le cycle de conception du MCD la papa, puisquil en fait partie. Jattire votre attention sur le fait que, si lon nutilise plus la mthode
de conception par les DF, le dictionnaire des donnes reste nanmoins lordre du jour.
Prenons un peu davance pour dire ds maintenant que les donnes du dictionnaire
deviendront un peu plus tard les proprits du MCD. Bon. Pourquoi rajouter encore un
nouveau terme ? Le mot proprit ne suffisait-il pas ? En fait, je peux donner deux raisons cette distinction dans la terminologie :
une proprit est une notion lie une entit, ce qui na rien voir avec le concept
de variable en programmation (c.--d. les donnes) ;
une donne est type. Eh oui, on prcise son type puisquun jour ou lautre, il faudra bien implanter tout cela ! Notez dailleurs que si la donne est type, le concept
correspondant dans le MCD ne lest pas puis on retrouve le type dans la programmation.
Le programmeur prendra les proprits du MCD et cherchera leur type dans le dictionnaire. On peut conclure en disant que la proprit a pour reprsentation physique la
donne. (Ne vous creusez pas trop la tte sur cette phrase, cela devient assez ardu !)
Le dictionnaire sera donc une numration des donnes avec leur type. Lobjectif est
de pouvoir crer la base de donnes grce ces informations. Si vous faites un MCD de
taille importante, vous aurez tout intrt faire le dictionnaire afin dtre sr de ne pas
oublier dinformation.

Bon, je vais arrter dappeler cette technique ainsi, mme si cela mamuse beaucoup. En effet, la
dnomination officielle est conception du MCD par les dpendances fonctionnelles.
127
8 3932 TG PA 01

Squence 8

Notez bien que le dictionnaire des donnes fournit la liste exhaustive des donnes avec
leur type, le MCD rajoutant la structuration de ces donnes. Une petite dfinition pour
enfoncer le clou :
Dictionnaire des donnes : il regroupe lensemble des donnes lmentaires (nom,
type) constituant le systme dinformation.

2C2. Ralisation
Le dictionnaire va tre fait en quatre tapes :
1. Recensement de toutes les donnes utilises dans le systme dinformation.
2. Dtermination du type des donnes.
3. puration des donnes.
4. Identification des donnes calcules avec leur rgle de calcul.

Recensement des donnes


Les donnes dont on parle ici sont lexact quivalent des variables ou constantes
O en
programmation. Les donnes conserves deviendront des proprits, jamais des
associations. Si dans le monde rel lentreprise vend des produits des clients, les
caractristiques des produits et des clients seront des donnes, les caractristiques
des ventes galement, mais laction de vendre nen sera pas.
Une donne sera lmentaire (comme toujours lmentaire vis--vis du systme dinformation considr, voir lexercice 1). Si on vous parle du nom dun client, vous de
dcider sil faut le reprsenter par deux donnes Nom et Prnom ou par une donne
Nom regroupant les deux.
En thorie, les donnes seront prsentes dans lordre alphabtique afin de pouvoir les
rechercher facilement. Ce nest que beaucoup plus tard quon les regroupera pour en
faire des entits.
Remarquons que, ds notre premier MCD, nous procdions cet inventaire de faon transparente pour chercher les proprits. Nous allons traiter ensemble un sujet dj vu :
Un terrain est caractris par une rfrence cadastrale, une surface en ares et un type (constructible, inondable, indtermin).
Un propritaire est caractris par ses nom, prnom, adresse et date de naissance. Un terrain appartient
un seul propritaire, lachat tant ralis devant notaire.
Les gens qui ne sont pas du mtier nayant pas une bonne comprhension de ce quest un are, il est dcid
davoir la surface en ares et en m2.

Nous allons relire le sujet ligne ligne pour en tirer les diffrentes donnes que lon
reprsentera en gras.
Un terrain est caractris par une rfrence cadastrale, une surface en ares et un
type (constructible, inondable, indtermin).
Remarque : terrain nest pas une donne (en programmation, ce sera un type de donne structur, dans
le MCD ce sera une entit).

Un propritaire est caractris par ses nom, prnom, adresse et date de naissance.
(Idem, propritaire nest pas une donne.)

Un terrain appartient un seul propritaire, lachat tant ralis devant notaire.


Aucune donne ici.

Les gens qui ne sont pas du mtier nayant pas une bonne comprhension de ce quest
un are, il est dcid davoir la surface en ares et en m2.

128
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

On aura donc deux donnes reprsentant la surface : une lexprimant en ares, lautre en m2. On ne peut
pas les appeler toutes deux surface car on les confondrait. Lune sera surface en ares, lautre surface en m2.
Le fait que ces deux donnes soient lies ne sera pas important avant vingt minutes.

Il ne reste plus qu prsenter les donnes proprement par ordre alphabtique. On va


utiliser un tableau deux colonnes : une pour un nom raccourci (qui deviendra le nom
de la proprit), lautre pour un commentaire en franais si ncessaire.
Le nom raccourci devenant terme une variable dans le programme, autant respecter
ds maintenant les contraintes de notation des langages, savoir un mot sans espace,
contenant des lettres, chiffres, caractre de soulignement _ et rien dautre.
Voici une premire version du dictionnaire :
DONNE

COMMENTAIRE

Adresse
DateDeNaissance
Nom
Prnom
Rfrence

rfrence cadastrale du terrain

SurfaceA

surface en ares

SurfaceM2

surface en m2

Type

type du terrain : constructible, inondable, indtermin

Je ne me suis pas fatigu pour le nom des donnes car jai repris le sujet au maximum.
Le problme est que la donne Type nest pas intuitive. Dans trois jours, je ne saurai plus
de quel type il sagit, sauf conserver le dictionnaire des donnes sous les yeux ! Type de
client, type de terrain tout est possible ! De mme, SurfaceA on peut mieux faire !
Et Adresse, cest celle du terrain ou du propritaire ?
Vous essaierez davoir des noms parlants, sans quils fassent 50 caractres de long,
comme on la toujours fait dans les MCD. Pour tre transversal, vous choisirez les noms
de donnes avec le mme soin que ceux des variables en programmation.
Voici une nouvelle version du dictionnaire avec des noms de donnes plus rigoureux.
DONNE

COMMENTAIRE

AdresseProp
DateDeNaissance
Nom
Prnom
RfrenceTerrain

rfrence cadastrale du terrain

SurfaceAres
SurfaceM2

surface en m2

TypeTerrain

type du terrain : constructible, inondable, indtermin


(Il ny a plus dambigut.)

129
8 3932 TG PA 01

Squence 8

Honntement, nous navons rien fait de complexe. On remarquera deux choses :


1. Je peux appeler mes donnes comme je veux (bien entendu, on essaye davoir des
noms intelligibles, pas question dappeler PrixHorsTaxes le nom dun client). Le plus
important est davoir des notations cohrentes. Par exemple, je pourrai nommer les
dates dachat et de vente :
DateAchat et DateVente ou Date_achat et Date_vente, mais pas un mlange des
deux notations.
2. Bien entendu, on ne mettra un commentaire que lorsque cest ncessaire. Ajouter
la donne NomClient le commentaire Nom du client nest pas trs utile.
Dans le cas des petits sujets que nous traitons, les donnes vous sautent littralement aux
yeux. Dans des sujets plus importants, notamment des sujets dexamen, la formulation
sera moins explicite. Par exemple, le texte pourra tre prsent sous forme de dialogue
entre linformaticien et un membre de lentreprise :
Eh bien, ma bonne dame, si nous parlions des terrains ?
Oh, cest trs simple, il ny a rien en dire, je suis sre que vous connaissez cela, le
plus important cest de savoir si le terrain est constructible, inondable ou si lon a
pas dinformation ce sujet, car bien entendu le permis de construire ne sera pas
accord pour un terrain inondable, imaginez-vous avec votre maison inonde, cest
arriv la belle-sur de la voisine de la boulangre de lamie de ma tante par
alliance, ce ntait pas beau voir.
Oui, je vois. Et comment distinguez-vous les terrains les uns des autres ?
Par la rfrence cadastrale, pourquoi, cest important ?
Oui, parce que. Ah, au fait, tes-vous intresse par la surface du terrain ?
Hou ! Cest capital pour vrier que le coefcient doccupation des sols est respect !
Et en quoi mesurez-vous la surface ?
En ares, quoique il faut aussi []

Exercice 65
Vriez que toutes les donnes qui taient dans la phrase Un terrain est caractris par une
rfrence cadastrale, une surface en ares, un type (constructible, inondable, indtermin)
sont prsentes dans le court extrait ci-dessus (soulignez dans le dialogue les diffrentes
donnes).
Donc, on est daccord que tout y est je me suis un peu amus avec les digressions de
la bonne dame, mais mme sans cela, vous devez vous douter quun vrai dialogue ferait
facilement une deux pages pour donner toutes les informations que jai synthtises
en 5 lignes dans lexercice.
Dautant que ce que jai stigmatis dans mon dialogue est la vrit : vous devez extorquer
les informations aux gens, qui ne vous les donneront pas spontanment car ils ny pensent
pas et nen voient pas lintrt. Cest donc vous de vous assurer que vous avez toutes les
informations ce qui est une gageure car en gnral vous ne connaissez pas encore le

Attention, ce style humoristique est proscrire dans la vraie vie ! La bonne dame nen serait
certainement pas satisfaite !
Je vous laisse le soin dexpliquer pourquoi il faut un identifiant je nen ai pas le courage.
130
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

mtier que vous allez informatiser. Est-ce dire que les gens sont stupides ? videmment
non ! Cest simplement que les gens ne sont pas informaticiens (sinon, ils ne feraient pas
appel vous). Ils nont donc pas le mme mode de pense que vous. Vous serez oblig de
poser moult questions, de rencontrer de nombreuses fois les futurs utilisateurs ce nest
vraiment pas une tape facile. Bien entendu, si vous oubliez une donne, vous le paierez
lors de la ralisation du programme car vous serez incapable de le faire.
Une autre faon de vous fournir des informations (que ce soit dans la ralit ou dans un
examen) : on vous donne les documents (formulaires, bordereaux) utiliss par lentreprise. Bien entendu, les informations que contiendront ces formulaires deviendront des
donnes. Je ne vais pas faire un cours sur lhistorique du systme dinformation de lentreprise. Disons juste en quelques mots quil est assez intuitif que lentreprise ne se dote
pas du jour au lendemain de formulaires, de bordereaux Ces documents viennent petit
petit, en fonction des besoins. Non seulement ils sont raliss de faon informelle, mais
en plus les donnes ncessaires lentreprise peuvent voluer. Ceci fait quassez souvent,
ces documents contiennent des donnes inutiles, ou, au contraire, on leur greffe des
Post-it car il manque des informations. On observe par exemple que depuis quelques
annes, les entreprises demandent volontiers aux clients leurs adresse email ou leur
numro de portable. Cette nouveaut vient du dveloppement de ces deux mdias.
Lanalyste doit donc tudier trs attentivement les documents pour les remettre
plat , savoir vrifier avec les utilisateurs quelles donnes manquent ou sont inutiles. Il
pourra tre amen concevoir de nouveaux imprims par exemple.
On remarque en passant un rle trs important de linformatique : elle structure. En
effet, un programme fonctionne selon des rgles fixes. Lanalyste doit donc formaliser
parfaitement les donnes et les traitements de lentreprise, ce qui permet en gnral de
corriger beaucoup de travers apparus au fil du temps (travail fait deux fois, par exemple
saisie de la commande puis de la facture alors que les deux ont beaucoup dinformations
en commun, documents incomplets).
Il faut ensuite que lanalyste justifie les changements ventuels quil propose et l, il
faut de la diplomatie.

Exercice 66
Allez, vous ! Faites-moi le dictionnaire des donnes du sujet suivant :
Plusieurs kinsithrapeutes se sont regroups en un cabinet de kinsithrapie. Chacun deux
est identi par un numro identiant attribu par le ministre de la Sant. Ils ont un nom,
un prnom.
On retiendra les nom, prnom et tlphone de chaque patient, ainsi que la date de
lordonnance du mdecin prescrivant les sances de kinsithrapie.

Dtermination du type des donnes


Deuxime tape : aprs le recensement des donnes, on va dterminer leur type de la
faon la plus prcise possible.
On va rajouter une colonne contenant ce type. Cela sera utile lors de la cration du
programme. Mais cela, vous le savez puisquen parallle de ce cours danalyse, vous
suivez galement le cours de programmation o lon a d vous briefer longuement sur
la ncessit du typage des donnes. Sans refaire le cours de programmation ici, je vous
rappellerai que lordinateur code de faon diffrente une date, une chane de caractres,
131
8 3932 TG PA 01

Squence 8

un chiffre, un nombre rel car tout doit tre stock sous la forme de 0 et de 1 (les bits).
Bref, la mme valeur binaire 11101011 peut reprsenter nimporte quel type de donne :
un chiffre, mais aussi un caractre, des boolens Pour savoir comment dcoder ce nombre binaire, il faut connatre le type de la donne sous-jacente.
Oh l ! allez-vous me dire, cela ne semble pas trs conceptuel, ici on est trs proche
de lordinateur . Cest vrai. Dailleurs, le type des donnes ne sera plus utilis jusqu la
programmation. Mais il convient nanmoins de le dterminer ds prsent car :
1. Le type peut donner des informations smantiques sur la donne, notamment sur
son lmentarit. Par exemple, le numro de Scurit sociale peut tre considr
comme un nombre de 15 chiffres ou un nombre de 13 chiffres (le numro luimme) plus un de 2 chiffres (la cl).
2. Cela permet de faire disparatre le rel : linformaticien naura pas besoin de questionner les membres de lentreprise pour dterminer le type des donnes, tout sera
dj dans le dictionnaire.
Pour avoir le maximum dinformations, on mettra le type de la donne, suivi entre
parenthses de sa longueur. Le type des donnes sera assez classique. Les diffrentes
possibilits sont reprises dans le tableau suivant.
TYPE DE DONNES

DESCRIPTION

EXEMPLES DE DONNES DE CE TYPE

alphabtique (n)

que des lettres (n caractres)

nom, prnom, ville

alphanumrique (n)

lettres et chiffres (n caractres)

rfrence, adresse

numrique (n,m)

des nombres (n chiffres dont m


dcimales)

prix dachat, taux de TVA, nombre darticles


commands

date

bah une date, quoi

date dachat, date dembauche

boolen

vaudra soit oui, soit non

toute proprit qui vaut vrai ou faux (ou oui ou non).


Par exemple : mari, emprunt

La longueur des donnes est une notion assez floue :


pour le numro de Scurit sociale, par exemple, on sait quil est cod sur 15 chiffres ;
en revanche, le nom des personnes va-t-on prendre 20 lettres ? 30 ? Cela a peu
dimportance (enfin, il vaut mieux en prendre trop que pas assez !) ;
une somme dargent sera toujours un rel avec deux dcimales et combien de
chiffres ? Si lon estime que lon naura jamais de somme suprieure un million,
la somme la plus grande sera 999 999,99 soit 8 chiffres dont 2 aprs la virgule, soit
(8,2). Mais si lon informatise une banque, on doit prvoir des montants plus importants !
Il ne faut pas faire le malin et nutiliser strictement que les quatre types ci-dessus. Si
O vous
vous doutez que vous allez utiliser un outil tel Access pour linformatisation,
nhsitez pas tre plus prcis dans les types de donne pour exploiter tous ceux
dAccess (par exemple le type montaire qui est un rel deux dcimales). Cela
est dautant plus vrai que lidentification prcise du type se fera surtout lors de la
cration de la base, daprs les choix proposs par les outils (allez voir votre cours
sur Access pour plus de dtails).

132
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

En pratique, si on vous demandait de faire le dictionnaire des donnes lors de lexamen,


il suffirait davoir assez de recul pour :
distinguer les donnes littrales des numriques ;
identifier les donnes calcules (voir la suite) ;
mettre des longueurs de donne plausibles (notamment mettre deux dcimales
pour les donnes montaires) ;
cest tout !
Notons que les informations concernant les types ne sont jamais explicites dans le sujet,
cest vous de les deviner.

Exercice 67
Reprenez le sujet de lexercice prcdent et refaites le dictionnaire en rajoutant et compltant
la colonne Type.

puration des donnes


Enfin une tape intressante. Je ne vous cache pas que je trouve les deux prcdentes
rbarbatives et abrutissantes et que je suis heureux daboutir celle-l. Jaurais pu
appeler cette partie toilettage des donnes, mais cela faisait trop caniche. Il sagit ici de
rajouter quelques donnes et den supprimer dautres. Cette tape correspond au mot
ncessaire dans donnes ncessaires de la dfinition du dictionnaire.
1. ON VA RAJOUTER LES DONNEES MANQUANTES.
Quelles peuvent-elles tre ? Uniquement les identifiants artificiels qui nauraient
pas t utiliss dans le monde rel. En effet, jai mentionn dans la correction de
lexercice 66 que toutes les entreprises, mme non informatises, utilisent des rfrences client, des numros de factures qui sont des identifiants artificiels dj
utiliss dans lentreprise avant votre arrive. En revanche, un mdecin grant sa
clientle la main (avec des petites fiches papier) se suffit dun classement alphabtique. Si vous informatisiez sa gestion de clientle, vous devriez donc rajouter un
identifiant artificiel (numro) pour identifier les patients.
2. ON VA SUPPRIMER LES DONNEES EN TROP.
Il y a deux types de donnes en trop : les donnes redondantes et les paramtres.
Les donnes redondantes :
Plus la taille de lentreprise est importante, plus elle sera rpartie en services qui risquent
davoir leur propre vocabulaire, ce qui conduira utiliser des mots diffrents pour dsigner la mme chose. Par exemple :
immeuble et coproprit ;
rfrence client et numro client ;
bordereau de livraison et bon de livraison.

Petite histoire vcue : jai informatis rcemment une entreprise de location de panneaux publicitaires. Le
personnel ? Rduit, deux personnes ! Le patron (commercial) et sa femme (secrtaire). Eh bien, suite mes
questions, ils se sont presque disputs car ils narrivaient pas se mettre daccord sur un de leur document, le
bail. Et pourquoi ? Car ce que lun appelait bail, lautre lappelait commande et vice-versa. Et ils ne sen sont
rendus compte qu cause dune question directe de ma part puisque avant, ils navaient jamais formalis ces
documents en les nommant ; chacun lui avait donc donn un nom dans son esprit. Les problmes de vocabulaire ne sont donc pas directement lis la taille de lentreprise.
Plus haut dans le cours, jai plusieurs fois dit rfrence client et numro de facture. Normalement,
cela doit tre assez pnible lire et ctait voulu ! Il faudrait utiliser soit rfrence, soit numro, mais
pas les deux.
133
8 3932 TG PA 01

Squence 8

Comme, par la force des choses, vous tes novice dans lentreprise, il vous faudra une
vraie rflexion (et des questions qui paratront trs naves vos interlocuteurs) pour
savoir si ces termes sont synonymes ou non.
Les paramtres
Il y a des informations utilises par le systme dinformation sans quelles fassent partie
des donnes lies lactivit de lentreprise. Par exemple, un taux de TVA, le prix dun
timbre, ladresse et le nom de lentreprise elle-mme, le taux de conversion francs/
euros Ces donnes sont des paramtres extrieurs lactivit. On ne les fera pas figurer
dans le dictionnaire (dailleurs, quelle entit utiliser dans le MCD ?).
Dans lapplication, nous placerons ces paramtres dans une table spare et non dans
le code source pour des raisons de maintenance. Ils seront modifiables par lutilisateur.
Certains les mettent donc dans le dictionnaire en arguant quils font partie de lapplication. Ce nest pas faux vous pouvez donc le faire, condition de bien les distinguer des
donnes. Sur ce point, cest affaire de got.
Lorsque ces paramtres changent, on les mettra jour sans autre forme de procs. Dans
un programme, ces paramtres sappellent des constantes.
Remarque importante
Une valeur peut tre un paramtre dans un systme dinformation et une donne
devenant une proprit dans un autre. Par exemple, si lentreprise historise ses factures pour pouvoir les rditer la demande, les diffrents taux de TVA avec leur
volution lgale devront tre stocks dans une entit, une association reliant chaque
occurrence de Facture avec loccurrence de Taux concerne.

Les donnes calcules


Cest lultime tape et il tait temps, car cela devient un peu longuet.

Exercice 68
Les trois donnes suivantes : Montant_HT, Montant_TTC et Taux_TVA sont-elles lies ? Dit autrement,
peut-on, sans perte dinformation, se passer de lune voire de plusieurs dentre elles ?

Exercice 69
Mme question avec lensemble NumroClient, NomClient, PrnomClient et AdrClient, puis avec
lensemble TarifHoraire, DureTravail, MontantAPayerHT, TauxTVA et MontantAPayerTTC. Je
ne peux pas vous fournir la smantique de ces donnes puisque cela vous donnerait la rponse.
Disons que le deuxime ensemble de donnes correspond au calcul du montant de la facture du
garagiste qui est pay lheure.

Je reconnais que, si je ne mettais pas des notes de bas de page tout va, ce serait moins longuet.
Mais cest mon petit pch mignon !
134
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

Ces deux exercices tiennent lieu de cours ; on retiendra :


Les donnes calcules (dont la valeur peut tre retrouve par calcul partir dautres
donnes) sont redondantes et nont pas figurer dans le MCD. En revanche, elles
doivent apparatre dans le dictionnaire des donnes afin que le programmeur puisse
les calculer !
On rajoutera donc une dernire colonne dans le dictionnaire. Elle contiendra la formule de
calcul de la donne dans le cas o celle-ci est calcule. La formule devra utiliser les autres
donnes du dictionnaire puisque, rappelons-le, le dictionnaire doit se suffire lui-mme.
DONNE

FORMULE SI DONNE CALCULE

COMMENTAIRE

Montant_HT
Montant_TTC

TYPE
numrique(8,2)

Montant_HT * (1+Taux_TVA)

Taux_TVA

numrique(8,2)
en pourcentage (ex : 19,6)

numrique(4,2)

La donne Montant_TTC tant calcule, elle ne sera pas utilise dans le MCD. On peut
trouver des prsentations de dictionnaire o toutes les donnes calcules sont regroupes la fin.

Exercice 70
Que penser de la version suivante ?
DONNE

FORMULE SI DONNE CALCULE

COMMENTAIRE

TYPE

Montant_HT

Montant_TTC/(1+Taux_TVA)

numrique(8,2)

Montant_TTC

Montant_HT * (1+Taux_TVA)

numrique(8,2)

Taux_TVA

(Montant_TTC/Montant_HT-1)*100

en pourcentage (ex : 19,6) numrique(4,2)

Exercice 71
Faites le dictionnaire des donnes relatif la facture du garagiste vu lexercice 69 (donnes
TarifHoraire, DureTravail, MontantAPayerHT, TauxTVA et MontantAPayerTTC).

Le fait est que raliser un dictionnaire est avant tout un travail de copiste assez rbarbatif. En revanche, l o il faut tre afft, cest dans ltape dpuration et surtout dans
la recherche des donnes calcules. En effet, si vous mettez une donne calcule dans
le MCD, vous serez sanctionn car cest une erreur de conception. moins que cela soit
fait exprs, mais, dans ce cas, vous devrez dment le justifier en expliquant que la redondance est compense par le gain lexcution (moins de traitements raliser).

2D.

Graphe des dpendances fonctionnelles (graphe des DF)


2D1. Prparation
On part du dictionnaire des donnes. On tablit toutes les dpendances fonctionnelles que
lon trouve entre les donnes et, je vous lassure, ce nest pas un mince travail. Je vous rappelle
que pour tablir ces DF, il faut exploiter la smantique des donnes, donc le sujet. On normalise ensuite lensemble des dpendances obtenues. On est alors fin prt pour le graphe.
135

8 3932 TG PA 01

Squence 8

2D2. Le graphe
On va reprsenter graphiquement les dpendances sous la forme dun arbre. Cest lmentaire puisque cest une simple rcriture des DF. Cest trs pnible faire sur traitement de texte (jen sais quelque chose), mais la main cest tout simple.
Il ny a pas vraiment de formalisme : on met les donnes un peu en vrac sur la feuille et
on tire des flches entre celles qui sont en DF. Comme pour le MCD, on essaie de placer
les donnes de telle faon que le graphe ne soit pas trop embrouill.
Exemple : Supposons les DF suivantes (les lettres A, B sont des proprits) :
A"B
B"C

A"D
B"E

Le graphe correspondant sera :

A
B
C

B
D

ou

C
E

Bref, on le prsente un peu comme on veut. Le premier, prsent verticalement, est prfrable car il y a plus de place verticalement quhorizontalement sur une feuille. Lintrt
du graphe est de prsenter toutes les DF et leurs imbrications sur un mme schma.

Exercice 72
Allez, on va faire un vrai sujet pour sentraner.
Nous sommes la prfecture o nous allons grer le chier des voitures. Une voiture est dune
couleur et dun type donn. Le type de voiture, appel type mine, dtermine la marque (exemple
Peugeot), le modle (exemple 205) et la puissance scale (exemple 5 cv) du vhicule. La voiture
a une immatriculation.
Comme limmatriculation change lorsque le propritaire change de dpartement (dmnagement
ou vente de la voiture), on souhaite conserver la date de la dernire immatriculation (donc
limmatriculation actuelle) et celle de la premire immatriculation. Chaque voiture est identie
par un numro de srie alphanumrique unique.

Travail faire
1. Faites le dictionnaire des donnes pur.
2. Cherchez toutes les dpendances fonctionnelles engendres par ces donnes puis normalisez
lensemble des DF.
3. Ralisez le graphe des DF.
4. Oubliez ce que vous venez de faire pour ne pas polluer le travail suivant par des
rminiscences.
5. Faites le MCD (avec la mthode intuitive du dbut de cours). Il nous permettra de vrier
notre technique de construction du MCD par les DF.

136
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

2E.

Construction du MCD partir du graphe


La gnration ne doit vous poser aucun problme puisque vous pouvez la faire sans
comprendre en vous contentant dappliquer aveuglment les rgles que je vais vous
donner.

2E1. Un peu de vocabulaire


Cest du vocabulaire emprunt la thorie des graphes logique, puisque cest un
graphe !
Feuille : une feuille est une proprit tant cible de DF, mais pas source.
Nud : un nud est une proprit tant source de DF.
Intuitivement, les feuilles sont tout en bas du graphe (aux extrmits des DF), et tout ce
qui nest pas une feuille est un nud.

Exercice 73
Donnez la liste des feuilles et des nuds du graphe de lexercice prcdent. La partie qui suit
va nous permettre de construire le MCD partir du graphe des DF. La technique tient en trois
tapes simples mais dont la formalisation nest pas vidente. Lors de mes nombreuses relectures
et corrections de ce support, jai chaque fois modi le texte des tapes qui suivent pour quil
corresponde sans ambigut la ralit. Lennui, cest que jai obtenu des phrases assez denses
o chaque mot compte ! Je vous conseille donc de les lire puis dtudier lexemple qui suit avant
de tenter de les apprendre.

2E2. Construction du MCD : cas simple


Partant du graphe, on va identifier les entits puis les associations. Le MCD sera
alors termin.
1. Les entits
Chaque feuille est par dfinition cible dune DF. La source correspondante sera identifiant dune entit dont les proprits seront les feuilles cibles des DF ayant cet
identifiant (et lui seul) en source.
2. Les associations
Les DF entre deux identifiants (reprs dans la premire tape) deviennent des
associations [1n] (cardinalit maximale 1 du ct de la source de la DF, cardinalit
maximale n du ct de la cible).
Les noms des entits et associations identifies seront inventer, puisque ces concepts ne figurent pas sur le graphe. De mme, les cardinalits minimales devront
tre dtermines daprs le sujet ou le monde rel.

Ce nest videmment pas ce que je prconise. Jessaie juste de vous dire de faon diplomatique
que si vous narrivez pas faire le MCD partir du graphe, ce sera uniquement parce que vous
naurez pas appris le cours.
137
8 3932 TG PA 01

Squence 8

Dmonstration : on va travailler sur le graphe des voitures :


NumroSrie
TypeMine
Immatriculation

DateImmat

Date1eImmat

Couleur
Puissance Modle Marque

On reprend les deux tapes :


1. Les entits
Chaque feuille est par dfinition cible dune DF.
Les feuilles sont dune part Immatriculation, DateImmat, Date 1Immat, Couleur et
dautre part Puissance, Modle et Marque.
La source correspondante
Pour les DF de cible Immatriculation, DateImmat, Date 1Immat, Couleur, la source
est NumroSrie.
Pour les DF de cible Puissance, Modle et Marque, la source est TypeMine.
sera identifiant dune entit dont les proprits seront les feuilles cibles des DF ayant
cet identifiant (et lui seul) en source.
Une entit ayant pour identifiant NumroSrie et pour proprits Immatriculation,
DateImmat, Date1Immat et Couleur.
Une entit ayant pour identifiant TypeMine et pour proprits Puissance, Modle et
Marque.
Visuellement, voici o nous en sommes :
ENTIT VOITURE

ENTIT TYPE
TypeMine

NumroSrie

Immatriculation

DateImmat

Date1eImmat

Couleur

Puissance

Modle

Marque

Lgende : entit identifiant


En fait, les proprits les plus extrmes dans le graphe seront les proprits, celles juste
au-dessus seront les identifiants.
Notez bien que la premire tape prcise que seules les feuilles cibles des DF ayant
lidentifiant en source seront les proprits. TypeMine a beau tre cible dune DF ayant
en source NumroSrie, il nest pas une proprit de Voiture car il nest pas une feuille.
2. Les associations
Les DF entre deux identifiants (reprs dans la premire tape) deviennent des associations [1n], la cardinalit maximale 1 tant du ct de la source de la DF.
Il sagit de la DF entre NumroSrie et TypeMine, la cardinalit maximale 1 tant du
ct de Voiture.
138
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

Cela donne :
ENTIT VOITURE

ENTIT TYPE

NumroSrie

Immatriculation

DateImmat

?,1

Date1eImmat

TypeMine

tre

?,n

Couleur
Puissance

Modle

Marque

Eh bien, on a le MCD ! Il ny a plus qu rajouter les cardinalits minimales et le prsenter dans les rgles pour obtenir :
VOITURE
NumroSrie
Couleur
Immatriculation
DateImmatriculation
Date1Immatriculation

1,1

tre

0,n

TYPE
TypeMine
Marque
Modle
Puissance

Vous vrifiez que cest le mme que celui trouv dans lexercice prcdent.

2E3. Construction du MCD : cas gnral


On va voir maintenant un cas plus complexe, mettant en uvre des associations diffrentes.

Passage des DF au graphe


Le cas prcdent ne mettait en uvre que des dpendances fonctionnelles simples, avec
une proprit cible et une source. Que penser du cas gnral A, B " C avec plusieurs
proprits sources ? On doit bien entendu reprsenter que les deux proprits A et B
ensemble dterminent C.

Exercice 74
Expliquez pourquoi le graphe suivant ne reprsente pas A, B " C puis donnez la ou les DF
reprsentes.
A
C
B

On va reprsenter A, B " C en faisant partir une flche de A et une de B, ces deux flches
se runissant en une seule partant vers C :
A
C
B

La barre verticale reprsente un point dancrage pour bien


visualiser que les deux flches venant de A et B sarrtent et
sont remplaces par une partant vers C.

Je prsente le graphe horizontalement pour gagner de la place on pourrait mettre A


et B en haut et C en bas, la barre verticale devenant bien entendu horizontale.
139
8 3932 TG PA 01

Squence 8

Passage du graphe au MCD


Pour faire encore plus gnral, envisageons la DF A, B, C " D.

Exercice 75
Faites le graphe correspondant (cest trivial).
La dpendance A, B, C " D peut se traduire de deux faons selon sa position dans le
graphe complet. Elle peut correspondre :
une entit ayant pour identifiant la concatnation des trois proprits A, B et
C. D sera une proprit de cette entit ;
une association porteuse de donnes, A, B, C tant la concatnation des
identifiants des diverses entits relies et D la donne porte. Les cardinalits
maximales sont forcment n puisquil y a donne porte.
Cela est valable quel que soit le nombre de proprits sources. Remarquez que dans le
deuxime cas, on ne peut savoir combien de pattes a lassociation car cela dpend de
llmentarit des identifiants des entits concernes :
si les proprits A, B et C sont chacune identifiant lmentaire dune entit, lassociation est une ternaire ;
si A, C est lidentifiant (non-lmentaire) dune entit et B celui dune autre entit,
on aura une binaire.

Exercice 76
Les DF suivantes sont normalises ; faites le graphe des DF.
NumroProduit " NumroTypeProduit
NumroFacture " DateFacture
NumroFacture " DatePaiement
NumroProduit " LibellProduit
NumroTypeProduit " LibellTypeProduit

NumroFacture " MontantHT


NumroFacture " MontantTTC
NumroFacture, NumroProduit " Quantit
NumroProduit " PrixHT

Exercice 77
En partant du graphe de lexercice prcdent, faites le MCD en prenant soin de justier ce qui
nest pas directement issu du graphe (par exemple, les cardinalits minimales).

Exercice 78
Avoir le MCD, cest avoir la liste des donnes du systme dinformation, mais aussi la smantique.
Pouvez-vous me donner la description du rel en franais du MCD tabli dans lexercice
prcdent ?

Rien nest jamais parfait


Il y a deux choses que le graphe des DF ne traduit pas :
dune part les cardinalits minimales, ainsi que nous lavons vu. Mais ce nest pas
important car elles se trouvent aisment ;
140
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

les associations [nn] non porteuses. Eh oui, les porteuses sont dtectes par une DF
vers la proprit porte. Donc une association non porteuse nengendre aucune DF.
Il est donc obligatoire de consulter le rel pour rechercher les liens (on ne peut pas
dire dpendances) entre les entits identifies dans le graphe.

3.

Formes normales et MLD


Souvenez-vous des formes normales (faites ventuellement une relecture rapide du
paragraphe 1C). Je vous avais dit que les formes normales sont habituellement utilises
vis--vis du MLD. Nous allons donc les revoir brivement.
En tout cas, noubliez pas lintrt des formes normales : sassurer que notre MLD (ou
MCD) ne possde pas derreur grave vis--vis de lidentifiant.
Notons ds prsent que le MLD est en ie forme normale si lensemble des tables sont
en ie forme normale.

3A.

Premire forme normale


Une table sera en premire forme normale si tous les champs dpendent fonctionnellement de la cl primaire et sont lmentaires.

3B.

Deuxime forme normale


Une table sera en deuxime forme normale si :
elle est en premire forme normale et
tout champ non cl primaire est en dpendance fonctionnelle lmentaire avec
la cl primaire.

3C.

Troisime forme normale


Une table sera en troisime forme normale si :
elle est en deuxime forme normale et
il ny a pas de dpendance fonctionnelle entre champs non cl primaire.
Je vous avoue que je ne me suis pas trop fatigu : grce aux fonctionnalits classiques
des traitements de textes (ici, le copier/coller), jai recopi les dfinitions donnes dans
le paragraphe 1C. en remplaant entit par table, proprit par champ et identifiant
par cl primaire. Si je vous dis cela, ce nest pas pour vanter mon talent de rutilisation,
mais surtout pour bien vous faire prendre conscience que la notion de forme normale
est absolument identique, que lon soit en MCD ou en MLD.
Bien entendu, pour pouvoir tudier la normalisation dun MLD, il faut connatre la
smantique des diffrents champs pour savoir sils dpendent les uns des autres.
Un petit exercice sera suffisant pour valider cela.

Javais dj fait cette remarque lors du cours sur les dpendances fonctionnelles.
141
8 3932 TG PA 01

Squence 8

Exercice 79
Considrons ce MLD :
Personne (NumroPersonne, Nom, Adresse, Ville)
Prnom (Prnom)
Porter (NumroPersonne#, Prnom#, rang)
Indiquez en quelle forme normale il est.
Notons que, comme dans beaucoup de points dj abords, les rgles dictes ici sont
trs strictes, mais peuvent tre violes sans complexe quand cela est justifi.
La gravit est une loi physique que lon ne peut violer. En revanche, les rgles tudies
ne sont l que pour ne pas faire derreur. Si lon justifie prcisment le non-respect des
rgles, cest acceptable ; on parlera alors de dnormalisation. Si lon ne justifie pas, cest
bien entendu une erreur.

Exercice 80
En quelle forme normale le MLD suivant est-il ?
Personne (NumroPersonne, Nom, Prnom, NumScu, Adresse, Ville)
Service (NumroService, LibellService)
Travailler (NumroPersonne#, NumroService#, DateEntreService)

Vous pouvez, ds maintenant, faire et envoyer la correction le devoir 2 (voir fascicule devoirs rf. 3932 DG).

142
8 3932 TG PA 01

Synthse

Les formes normales


Lentit ou lassociation sera en premire forme normale si toutes les proprits
dpendent fonctionnellement de lidentifiant et sont lmentaires. Une entit
ou association sera en deuxime forme normale si :
elle est en premire forme normale et
toute proprit non identifiant est en dpendance fonctionnelle lmentaire avec lidentifiant.
Une entit ou association sera en troisime forme normale si :
elle est en deuxime forme normale et
il ny a aucune dpendance fonctionnelle entre deux proprits non identifiant.
Une entit ou association doit tre en troisime forme normale, savoir : les
proprits, lmentaires, dpendent de lidentifiant (1re FN), de tout lidentifiant
(2e FN) et que de lidentifiant (3e FN).

Dictionnaire des donnes


Il regroupe lensemble des donnes lmentaires (nom, type) constituant le
systme dinformation.
Les donnes calcules (dont la valeur peut tre retrouve par calcul partir
dautres donnes) sont redondantes et nont pas figurer dans le MCD. En
revanche, elles doivent apparatre dans le dictionnaire des donnes afin que le
programmeur puisse les calculer !

Graphe des DF et cration du MCD


Feuille : une feuille est une proprit tant cible de DF, mais pas source.
Nud : un nud est une proprit tant source de DF.
Les proprits sont donc soit des feuilles (aux extrmits du graphe), soit des nud.
Pour construire le MCD, on va partir du graphe et identifier les entits puis les
associations.
1. Les entits
Chaque feuille est par dfinition cible dune DF. La source correspondante sera
identifiant dune entit dont les proprits seront les feuilles cibles des DF ayant
cet identifiant (et lui seul) en source.
2. Les associations [1n]
Les DF entre deux identifiants (reprs dans la premire tape) deviennent des
associations [1n] (cardinalit maximale 1 du ct de la source de la DF, cardinalit maximale n du ct de la cible).
3. Les associations [nn] porteuses
La dpendance A, B, C " D peut se traduire de deux faons selon sa position dans
le graphe complet. Elle peut correspondre :
une entit ayant pour identifiant la concatnation des trois proprits A,
B et C. D sera une proprit de cette entit ;

143
8 3932 TG PA 01

Squence 8

une association porteuse de donnes, A, B, C tant la concatnation des


identifiants des diverses entits relies et D la donne porte. Les cardinalits
maximales sont forcment n puisquil y a donne porte.
Ce qui ne figure pas dans le graphe et reste votre charge :
les noms des entits et des associations identifies ;
les cardinalits minimales ;
les associations [nn] non porteuses. Attention ne pas en oublier !

Formes normales
Une table sera en premire forme normale si tous les champs dpendent fonctionnellement de la cl primaire et sont atomiques.
Une table sera en deuxime forme normale si :
elle est en premire forme normale et
tout champ non cl primaire est en dpendance fonctionnelle lmentaire
avec la cl primaire.
Une table sera en troisime forme normale si :
elle est en deuxime forme normale et
il ny a pas de dpendance fonctionnelle entre champs non cl primaire.

144
8 3932 TG PA 01

Travaux dirigs 3
Dure indicative : 10 heures

Je vous le dis une dernire fois : pour profiter de ces exercices, vous devez
matriser le cours ! Nous allons travailler sur le dictionnaire des donnes et
les dpendances fonctionnelles. Essayez donc de ne pas raisonner en termes
dentits et dassociations car cela tuerait lexercice ! Dans chaque exercice,
je vous demanderai le dictionnaire des donnes, les DF, le graphe des DF et
enfin le MCD. Nhsitez pas consulter le corrig chaque tape ! Si vos donnes sont fausses, le reste de lexercice ne donnera pas grand-chose.

Exercice 1
Une entreprise loue des panneaux publicitaires. Un panneau est identifi par une rfrence,
une surface, une localisation (prs du lavoir dHoudemont, la sortie dOrlans direction
Paris) et un nombre de faces.
Une location est faite par un client (caractris par les proprits habituelles) ; elle possde
une date deffet (date de dbut) et une dure en annes (maximum trois ans). Le loyer est
calcul et pay annuellement. Il peut varier selon lanne de location. Les montants des
loyers annuels sont fixs ds la signature. Les loyers supportent la TVA.
Une location porte sur un ou plusieurs panneaux. En revanche, un panneau nest lou qu
un seul client. On nhistorise pas les anciennes locations des diffrents panneaux.

Travail faire
1. Faites le dictionnaire des donnes pur.
2. Recensez les dpendances fonctionnelles et tablissez le graphe des dpendances fonctionnelles.
3. Dduisez-en le MCD.
4. Que se passerait-il si les baux ntaient plus triennaux mais dcennaux (dix ans) ? Je ne
vous demande pas de refaire tout lexercice, mais juste dindiquer les changements en
quelques phrases.

Exercice 2
Finalement, ne pas historiser les contrats nest pas une super ide. En effet, pour des raisons comptables lmentaires, on veut conserver les diffrentes locations et les loyers correspondants.
Les rgles du jeu changent donc ; je rajoute les deux petites phrases suivantes :
On doit historiser les locations pour les diffrents panneaux. Un annonceur ne peut jamais
louer deux fois un mme panneau.

Travail faire
Eh bien, on recommence !
1. Faites le dictionnaire des donnes pur des nouvelles donnes (inutile de tout reprendre, compltez ventuellement le dictionnaire de lexercice prcdent).

145
8 3932 TG PA 01

Squence 8

2. Recensez les nouvelles dpendances fonctionnelles et modifiez le graphe des dpendances fonctionnelles en consquence.
3. Dduisez-en le nouveau MCD.

Exercice 3
Hum ! Jespre que le thme des exercices prcdents vous plat, car nous allons encore travailler dessus.
Il apparat que notre description de la ralit tait trop simpliste. En effet, un client peut bel
et bien louer plusieurs fois le mme panneau. Comme la dure du bail est au maximum de
trois ans, le client satisfait de sa publicit doit faire un nouveau bail de location pour conserver le panneau.

Travail faire
Dois-je vous dire ce quil faut faire ?
1. Faites le dictionnaire des donnes pur des nouvelles donnes (inutile de tout
reprendre, compltez juste le dictionnaire de lexercice prcdent).
2. Recensez les nouvelles dpendances fonctionnelles et modifiez le graphe des
dpendances fonctionnelles en consquence.
3. Dduisez-en le nouveau MCD.

Exercice 4
Je vous promets que cest le dernier exercice sur la location de panneau. Reprenons le sujet
de lexercice prcdent : nous sommes donc toujours dans le cadre de travail o un client
peut louer plusieurs fois le mme panneau.
Mais bon, soyons honntes : la ralit est un peu moins simple. En effet, un panneau pouvant
avoir deux faces, on peut y mettre deux publicits diffrentes vantant les mrites de deux
annonceurs diffrents. De plus, pour certains gros panneaux, la surface daffichage de chaque
face peut tre partage par plusieurs annonceurs. Par exemple, une des faces peut vanter les
cuisines X, tandis que lautre face possde une grosse publicit pour le restaurant Y et une
petite pour le magasin Z. Comme le loyer pay est proportionnel la surface occupe, il faut
avoir le pourcentage doccupation de chaque publicit. Ainsi, on pourra dire que la publicit
de X occupe 100 % dune face, tandis quY et Z occupent respectivement 75 et 25 % de lautre.
Vous remarquerez que chaque face est occupe au mieux 100 %. Bien entendu, il y a peu de
chances que les diffrentes surfaces dun panneau soient loues en mme temps.
En pratique, un mme panneau peut faire lobjet dune (petit panneau simple face) ou plusieurs (gros panneau, double face) locations ayant des caractristiques diffrentes.

Je ne suis pas sr dtre trs clair. Cest exactement le principe de limmobilier : limmeuble
reprsente le panneau, les appartements les diffrentes surfaces dadressage prvues sur le panneau. Les diffrents baux de location dappartement sont totalement indpendants les uns des
autres ; eh bien, cest pareil avec les locations despaces publicitaires.

146
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

Ainsi, dans notre exemple, le contrat de :


X a commenc le 14/07/2007 pour une dure de 1 an ;
Y a commenc le 23/02/2006 pour une dure de 3 ans ;
Z a commenc le 11/11/2007 pour une dure de 1 an.
Bien entendu, les diffrents loyers sont ngocis entre lannonceur et lentreprise de publicit. qualit daffichage gale, on peut avoir une face loue 10 000 /an et lautre loue
8 000 si le client a mieux ngoci ! Et, comme toujours, les loyers annuels sont dtermins
ds la signature du contrat de location. Un annonceur ne loue jamais en mme temps les
deux faces dun mme panneau. Ah ! Il existe bien entendu un document matrialisant la
location. Chaque exemplaire porte un numro de location.

Travail faire
1. Mon sujet donne des exemples, explique en dtail tout ceci est un peu touffu !
Essayez de rcrire tout cela de faon plus condense. Il sagit de synthtiser la ralit
dcrite en quelques phrases bien senties. Ces phrases vous permettront de faire la suite
de lexercice plus facilement. En dautres termes, vous devez rcrire le sujet.
2. Faites le dictionnaire des donnes nouvellement apparues ; inutile donc de reprendre
toutes les donnes de lexercice 1 !
3. Donnez les nouvelles dpendances fonctionnelles.
4. Compltez le graphe acteurs/flux de lexercice prcdent pour prendre en compte ces DF.
5. Mettez jour le MCD.

Exercice 5
Bon, nous allons changer de thme. Notre entreprise ne loue plus les panneaux, elles les
vend. Non, je plaisante. Elle les fabrique. Bon, jarrte !
La SNCF vous demande de raliser lanalyse de sa gestion des trains. Un point de lanalyse
vous posant problme, vous dcidez dutiliser la technique de la conception par les DF. Voici
ce que vous avez du mal modliser :
Un train (numro, type (TGV), supplment ou non) est constitu de wagons. Chaque
wagon est dcrit par son type (wagon restaurant, couchette, 1re classe, 2e classe), son
numro, sa date de fabrication et ses places. Dans chaque wagon, les places sont numrotes
en partant de 1. Une place possde diffrentes caractristiques (couloir ou fentre, sens du
dplacement ou non, fumeur ou non, compartiment ou non).

Travail faire
1. Le dictionnaire des donnes.
2. Les DF puis le graphe.
3. Le MCD.

Exercice 6
Quest-ce qui regarde passer les trains ? Les vaches ! Eh bien, intressons-nous llevage
raisonn de ce sympathique ruminant.

147
8 3932 TG PA 01

Squence 8

Un leveur souhaite informatiser la gestion de la gnalogie de son cheptel. Voici lanalyse


que vous avez crite :
Un animal possde un identiant vtrinaire et est dune race donne. Il a galement un
nom donn par lleveur qui les distingue ainsi plus facilement. Tout animal possde une
date de naissance, une date et une cause de dcs (maladie, accident, abattoir), un sexe et
une qualit (er animal, quelconque, vache de jardin). Les animaux ont un pre (un taureau)
et une mre (une vache). Il peut arriver quun ou les deux parents dun animal ne soient pas
connus. Comme il y a des soins et des contrles trs prcis faire selon lge de lanimal,
lleveur veut galement avoir lge en mois de chaque bte.

Travail faire
1. Le dictionnaire des donnes.
2. Les DF puis le graphe.
3. Le MCD.

Exercice 7
Je vous propose un exercice sur un thme original. Faites-le srieusement !
Nous allons modliser Merise. Eh oui ! Plus particulirement le MCD. quoi cela peut-il servir ? Supposons que vous vouliez automatiser vos productions de MCD. Pour cela, vous allez
crire un programme permettant de dessiner les MCD lcran. En fait, vous voulez crire
lquivalent de PowerAMC (ex AMC*Designor). Pour pouvoir faire cela, vous devez formaliser le MCD. Et, pour le formaliser, vous pouvez en faire le MCD !
Attention, notez bien que pour simplifier le sujet, nous posons les restrictions suivantes :
1. Nous ne tiendrons pas compte des entits faibles.
2. Nous ne tiendrons pas compte des associations rflexives.
3. Nous supposerons que les identifiants dentit sont atomiques.
4. Nous accepterons que des proprits soient utilises plusieurs fois dans le MCD. Cette
contrainte viole les rgles du cours, donc nous ne ladmettrons que pour simplifier temporairement le sujet.

Travail faire
1. Sans lire ce qui suit, rflchissez aux diffrents constituants du MCD et essayez de les
dcrire comme si vous deviez crire un sujet danalyse. Ainsi, au lieu de dcrire ce qui
caractrise un client, dcrivez ce qui caractrise une entit et tout le reste ! Quand vous
penserez avoir fini, vous lirez la suite.
Normalement, vous avez d avoir beaucoup de mal. Je vous avoue que moi, en tout cas, jen
ai eu. En effet, nous devons rflchir sur des concepts qui nous sont maintenant familiers, ce
qui ne devrait pas poser de problme. Mais nous devons y rflchir dune faon tout fait
inhabituelle. Et l, on se mlange un peu les pinceaux. Voici ce que je vous propose :
Une entit est dcrite par son nom, un identiant et des proprits. Une proprit est dcrite
par son nom. Une association est dcrite par son nom, ses cardinalits et les entits quelle
relie. Elle possde un identiant (la concatnation des identiants des entits relies) et peut
tre porteuse de donnes.

Daprs mon cours, on doit avoir unicit de la proprit. Les programmes comme PowerAMC
interdisent dutiliser deux fois la mme proprit mais autorisent deux proprits diffrentes
de mme nom. Donc concrtement autorisent la duplication de proprits.

148
8 3932 TG PA 01

Les dpendances fonctionnelles (utilisation)

Il y a diffrentes formulations possibles. Conservez la mienne pour que ma correction des


questions suivantes puisse vous servir.

Travail faire
2. La description du rel est termine ; elle parat assez simple. Mais de l faire le MCD
directement je crains que lon doive faire une entit Association. Vous aussi, vous
trouvez que cest un peu trop abstrait ? Alors, cette fois, nous allons pouvoir rellement
utiliser lapproche par les DF car lapproche classique nest pas aise. Comme premire
tape, faites le dictionnaire des donnes.
3. Les dpendances fonctionnelles, je vous prie.
4. Le graphe des DF, hop, et que cela saute.
5. Bon, le MCD, il vient ?

Exercice 8
On reprend le sujet de lexercice prcdent en interdisant quune proprit soit utilise plusieurs fois dans le MCD. La contrainte violant le cours disparat

Travail faire
1. Dictionnaire des donnes.
2. Dpendances fonctionnelles.
3. Graphe des DF.
4. MCD.

Exercice 9
Nous allons travailler sur une formulation un peu diffrente de celles des deux exercices
prcdents.
Prcdemment, nous avions dit quune entit possdait un identifiant dune part et des proprits dautre part. Maintenant, on va dire quune entit possde des proprits dune part
et quune proprit peut tre identifiant dautre part. Le changement nest pas flagrant
rflchissez nanmoins, car nos DF et tout ce qui en dcoule va tre chang.
Pour mettre un peu de piment cet exercice, je vais rajouter une petite chose. Dans le cours,
je vous ai dit que lentit tait crite en mettant lidentifiant soulign en premier puis la liste
des proprits dans un ordre quelconque. Bon, si lordre est quelconque, je veux nanmoins
pouvoir le dfinir moi-mme : par exemple, jai lhabitude de faire une entit Client ainsi :
CLIENT
NumroClient
NomClient
PrnomClient
AdrClient
CodeClient
VilleClient
TlClient

149
8 3932 TG PA 01

Squence 8

Je ne veux pas, sous prtexte que lordde importe peu, mon programme de modlisation de
MCD maffiche lentit comme cela :
CLIENT
NumroClient
CodeClient
NomClient
AdrClient
TlClient
VilleClient
PrnomClient

Travail faire
1. Sans lire cette note, contenant la solution, dites-moi quoi rajouter pour pouvoir trs
simplement dfinir lordre dans lequel je veux voir mes donnes.
Avec tout cela, la nouvelle description du rel est la suivante :
Une entit est dcrite par son nom et ses proprits qui ont toutes un rang daffichage. Une
proprit est dcrite par son nom ; elle peut tre identifiant. Une association est dcrite par son
nom, ses cardinalits et les entits quelle relie. Elle possde un identifiant (la concatnation
des identifiants des entits relies) et peut tre porteuse de donnes (chaque donne ayant
un rang daffichage). Une proprit nest utilise quune fois dans un MCD.
2. Faites le dictionnaire des nouvelles donnes par rapport lexercice prcdent.
3. tablissez les nouvelles dpendances fonctionnelles.
4. Dduisez-en le graphe des DF.
5. Faites le MCD.

Exercice 10
Nous reprenons lexercice 6. Revoici donc nos sympathiques ruminants lhonneur ! Je souhaite recommencer le principe des trois exercices prcdents : montrer que cest le sujet qui
dtermine le MCD final quand on utilise lapproche par les DF.
Je ne change que la phrase sur les parents (le nouveau texte est en gras).
Un animal possde un identifiant vtrinaire et est dune race donne. Il a galement un
nom donn par lleveur qui les distingue plus facilement. Tout animal possde une date
de naissance, une date et une cause de dcs (maladie, accident, abattoir), un sexe et une
qualit (fier animal, quelconque, vache de jardin). Les animaux ont deux parents. Un des
parents est le pre, lautre la mre. Il peut arriver quun ou les deux parents dun animal
ne soient pas connus. Comme il y a des soins ou des contrles trs prcis faire selon lge de
lanimal, lleveur veut galement avoir lge en mois de chaque bte.

Travail faire
1. Dictionnaire des donnes.
2. Dpendances fonctionnelles.
3. Graphe des DF. @
4. MCD.

La solution est trs simple : il suffit de donner un rang chaque proprit dans lentit ou
lassociation. Les proprits seront alors affiches selon leur rang.

150
8 3932 TG PA 01

Squence 9

Graphe acteurs/flux
Dure indicative : 3 heures

Le cours sur le MCD est dfinitivement termin. Nous allons maintenant tudier
un graphe permettant dapprhender de faon synthtique la circulation de linformation dans lentreprise, ce qui est une aide prcieuse pour comprendre son
fonctionnement.

Capacits attendues
Matriser les notions dacteurs et de flux
Comprendre le rle dun graphe acteur/flux
Savoir raliser un graphe acteur/flux

Contenu
1.

Introduction .......................................................................................... 152

2.

Graphe acteurs/flux ......................................................................... 152

2A.
2B.
2C.
2D.
2E.

Justification .............................................................................................. 152


Un exemple .............................................................................................. 153
Les acteurs ............................................................................................... 154
Les flux ..................................................................................................... 156
Graphe acteurs/flux ................................................................................. 157

3.

Conclusion ............................................................................................ 163


Synthse

151
8 3932 TG PA 01

Squence 9

1.

Introduction
Le graphe acteurs/flux prsente, comme son nom lindique, les acteurs de lentreprise
et les flux de documents quils schangent. Il matrialise donc la circulation de linformation dans lentreprise.
Cest un outil utile, permettant dapprhender de faon globale les documents qui circulent.
Cela permet de se faire une ide assez prcise du mode de fonctionnement et dorganisation
du systme que lon va informatiser. Il vous permet galement de recenser les documents,
ce qui sera utile pour ne pas en oublier lors de ltude des donnes (MCD). Le graphe est un
document assez informel qui fait partie du cycle de modlisation des traitements. On le crera
au cours des entretiens avec les responsables de lentreprise, avant toute bauche de MCD.

2.

Graphe acteurs/flux

2A.

Justification
Le graphe acteurs/flux met en vidence des acteurs et des flux. De faon informelle,
on prcisera que :
par acteurs, on sous-entend acteurs (intervenants) dans le systme dinformation ;
par flux, on sous-entend flux (dplacement) dinformations au sein du systme
dinformation.
Comment apprhender de faon globale le fonctionnement de lentreprise et son systme dinformation ? En examinant les documents, en questionnant les membres de
lentreprise, vous obtenez une vision structure des donnes qui aboutira au MCD. Ce
MCD vous fournit-il une connaissance entire de lentreprise ? Non ! Vous comprenez les
donnes manipules, mais vous ne savez toujours pas comment elles le sont.
Il nest pas pensable de raisonner en entits et associations du MCD pour aller voir chaque service ou personne de lentreprise et lui demander si elle intervient sur ces concepts.
En effet, les notions du MCD lui sont propres et un non informaticien aura dautant plus
de mal les percevoir quil aura, en temps que membre de lentreprise, une structuration
diffrente en tte.
Imaginez la gestion des permis de construire : l o lemploy verra un formulaire de
demande, vous verrez plutt les entits Terrain, Propritaire et Permis, relies par les liens
dlicats des associations. Non, dcidment, cette approche par les concepts du MCD nest pas
envisageable. Cest vous qui entrez dans lentreprise, cest donc vous de vous adapter.

On emploie les deux termes graphe et diagramme. Aprs tude approfondie du dictionnaire,
graphe me semble plus appropri.

En ralit, cest inexact car en interrogeant les divers intervenants de lentreprise, vous avez
mlang les questions portant sur les donnes et les traitements pour avoir la vue la plus globale
possible, sachant que, dans un premier temps, seules les informations lies aux donnes vous serviront. Et il nest pas question de jouer au schizophrne en ayant une personnalit qui soccupe des
donnes et lautre des traitements !
152
8 3932 TG PA 01

Graphe acteurs/flux

La solution est de raisonner sur les informations changes dans lentreprise en utilisant sa structuration (appel tlphonique, courrier lectronique, imprim, bon de commande). Notons que toutes ces informations constituent le systme dinformation de
lentreprise ; elles seront rorganises pour produire le MCD. Mais, alors que le MCD
est un document trs codifi destination des informaticiens, il sagit juste ici de savoir
comment fonctionne lentreprise.
Nous nen sommes pas encore demander concrtement la secrtaire (ou au service facturation, selon la taille de lentreprise) comment elle gre les relances pour les
impays : cela ne sera utile que lors de ltude prcise des traitements, pour savoir ce que
fait lentreprise et surtout comment elle le fait.
Ici, on veut savoir comment linformation circule. On va donc identifier les diffrentes
informations (flux), ainsi que les groupes (acteurs) qui les mettent et les reoivent. Et
on modlisera cela dans le graphe acteurs/flux.
quoi cela nous servira-t-il ? mieux apprhender le fonctionnement de lentreprise.
De plus, si vous voulez savoir de quelle faon un document est rempli ou exploit (selon
quelles rgles de gestion), vous irez voir la personne ou le groupe qui la gnr.
Prenons une mtaphore : le mdecin sintresse au corps humain. Une des approches
pour le comprendre est dtudier la circulation du sang : dune part les organes qui
lmettent et le reoivent (les acteurs), dautre part le type de sang : oxygn ou non
(les flux).

2B.

Un exemple
Le graphe acteurs/flux est dune simplicit sans commune mesure avec le MCD. Le plus
long est en fait de le dessiner !
Cela dit, la difficult pour vous est de bien cibler son rle et sa nature et de prendre
conscience des concepts quil utilise, radicalement diffrents de ceux du MCD.
Voici sans plus attendre un exemple simpliste de graphe acteurs/flux :
1. Demande dinformations
service
commercial

client
2. Catalogue

Voil ce que nous apprend ce graphe :


il y a deux acteurs, le client et le service commercial. Le client est un acteur externe
(cela est symbolis par les pointills), le service commercial est un acteur interne.
Bien entendu, un graphe possdera gnralement plusieurs acteurs internes et
plusieurs externes ;
il y a deux flux dinformation numrots chronologiquement :
le premier est la demande dinformations, allant de lacteur client vers lacteur
service commercial,
le second est le catalogue, allant de lacteur service commercial lacteur client.

153
8 3932 TG PA 01

Squence 9

De cet exemple, on peut dj tirer les enseignements suivants :


il y a deux types dacteurs (internes et externes) ;
un acteur peut tre une personne (ex. : un client) ou un ensemble de personnes
(ex. : le service commercial) ;
les acteurs sont identifis par leur fonction dans lentreprise (le client, la secrtaire,
latelier) ;
les flux sont ordonns chronologiquement ;
chaque flux est produit par un acteur destination dun autre acteur.

Exercice 81
Expliquez la diffrence entre un acteur interne et un acteur externe. Ce devrait tre assez
simple si vous identifiez vis--vis de quoi lacteur est interne ou externe. Inspirez-vous de
lexemple prcdent.

2C.

Les acteurs
Une petite dfinition :
Acteur : un acteur (sous-entendu du systme dinformation) est constitu dune ou
plusieurs personnes regroupes par leur fonction dans ce systme. Il est identifi
par son nom.
tudions cela dun peu plus prs :
acteur du systme dinformation
Cest un truisme dans mon cours : on ne parle pas dacteur dans labsolu, mais dacteur
dans un systme dinformation donn.
une ou plusieurs personnes regroupes par leur fonction
On agrgera dans un groupe toutes les personnes ayant la mme fonction dans lentreprise. La notion de groupe est au sens large, puisquil peut contenir une ou plusieurs
personnes selon la taille de lentreprise On considrera aussi quune entreprise ou
organisme tiers (caisse de Scurit sociale, Police) constitue un acteur. En fait, seuls les
objets ne peuvent tre des acteurs.
leur fonction dans ce systme
Comme pour le MCD, on ne modlise que le systme considr et pas le monde entier.
Si on modlise lactivit dun grossiste, on aura ses clients (entreprises) comme acteurs,
mais pas les clients de ses clients.

Javais commenc par crire un acteur est une entit du systme dfinie par sa fonction . Mais
jai chang cette dfinition car javais peur des confusions : il ne sagit pas du tout de la notion
dentit du MCD. Cela ma dailleurs permis de prciser quun acteur tait forcment humain
(entit humaine, cela faisait un peu trop science-fiction).
Oserais-je ? Allez un groupe contient 1,n personnes !
154
8 3932 TG PA 01

Graphe acteurs/flux

identifi par son nom


On identifiera lacteur par son nom et non par sa fonction ; ainsi, on ne dira pas livraison,
mais service livraison ou livreur. Cest plus poli et plus cohrent par rapport la notion
dacteur.
Il ne sagit pas forcment de prendre lorganigramme de lentreprise la recherche de
groupes fonctionnels : on ne prendra que les groupes ayant une fonction prcise dans le
systme que lon tudie, qui peut tre un sous-systme (une partie) de lentreprise.
On va voir maintenant la rponse lexercice 81.
Un acteur sera soit interne, soit externe au systme tudi.
Expliquons en quelques mots :
Ici, je parle du systme tudi et non du systme dinformation tudi. En effet, ce qui
mintresse est, dit crment : lacteur fait-il partie de lentreprise ou du monde extrieur ?
Les acteurs issus de lentreprise sont internes, ceux du monde extrieur sont externes.
videmment, on doit faire figurer des acteurs externes puisque la finalit de lentreprise
est de recevoir de largent en change dune contrepartie. Si aucun change dinformation na lieu entre lentreprise et lextrieur, cest trs louche !
Si on ne modlise quun sous-systme de lentreprise, seuls les acteurs de ce sous-systme
seront internes, les autres, mme internes lentreprise elle-mme, seront externes au
systme tudi.
Notons que cette distinction dacteurs internes et externes vient de mon obsession
travailler non pas dans labsolu, mais dans le cadre trs prcis et unique dune entreprise
et dun systme dinformation donns.
Il peut tout fait arriver que lanalyse dentreprises de taille et de secteur dactivit identiques aboutisse des graphes acteurs/flux diffrents si leur organisation interne diffre.

Exercice 82
tudions le cas dachat dune voiture doccasion auprs dun particulier.
Vous prospectez dans diffrentes revues, vous essayez plusieurs voitures, jusqu trouver la
bonne. Le vendeur vous remet si ncessaire lattestation de contrle technique, un certificat
de situation (anciennement appel certificat de non-gage), la carte grise barre, les cls et la
voiture. En change, vous lui donnez un chque.
Identifiez les acteurs du texte prcdent en prcisant sils sont internes ou externes.

155
8 3932 TG PA 01

Squence 9

Exercice 83
tudions maintenant le systme dinformation dune concession dautomobiles.
Lorsquun client veut commander une voiture neuve, le commercial remplit un bon de commande que le client signe. Pour viter tout abus, le commercial peroit toujours un chque
darrhes la signature. Le bon de commande et le chque sont remis la secrtaire qui en fait
une copie mise dans le dossier du client. Elle faxe ensuite le bon de commande au constructeur
et remet le chque au service comptabilit qui lenvoie la banque pour encaissement.
Lorsque le constructeur livre la voiture au concessionnaire, ce dernier prvient le client que
la voiture est disponible. Paralllement, lacheteur est all voir son assureur pour obtenir une
attestation dassurance temporaire (carte verte temporaire). Le service comptabilit dite la
facture de la voiture en trois exemplaires (un quil conserve, un qui est remis la secrtaire qui
le range dans le dossier du client, le dernier tant transmis au commercial qui le remettra au
client lorsque celui-ci aura rgl le vhicule).
Lorsque le client vient chercher sa voiture, il contrle que le vhicule correspond bien ce quil
a command et signe le bon de livraison attestant quil prend possession de la voiture. Il verse
au commercial le solde du prix et ce dernier lui remet en change la facture et les cls. Le commercial transmet la secrtaire le bon de livraison et le chque. Elle en fait une copie quelle
place dans le dossier du client et transmet les originaux au service comptabilit qui archive le
bon de livraison avec son exemplaire de la facture et envoie le chque la banque.
Gnralement, le client demande au commercial de soccuper de limmatriculation. Il lui remet
les documents ncessaires (formulaire de demande dimmatriculation rempli, justificatif de
domicile, chque du montant de la taxe rgionale sur les cartes grises). Le commercial transmet
ces pices la secrtaire car cest elle qui soccupe des dossiers dimmatriculation. La secrtaire
enverra la prfecture ces documents, ainsi quune copie de la facture de la voiture. Par retour
du courrier, la prfecture envoie la carte grise au domicile de lacheteur. En prsentant sa carte
grise lassureur, le client obtiendra une carte verte dfinitive (contre paiement de lassurance
bien entendu). Ouf !
Identifiez les acteurs du roman ci-dessus ; vous prciserez sils sont internes ou externes.

Exercice 84
Nous tudions une entreprise individuelle. Elle vend des ordinateurs des clients institutionnels
(administrations) et des particuliers. Dans tous les cas, le client passe commande, paye lordinateur la livraison puis reoit la facture acquitte.
Quels sont les acteurs du systme tudi ? Donnez leur type (interne ou externe).

2D.

Les flux
La traditionnelle dfinition :
Flux : un flux (sous-entendu dinformation) matrialise lchange dune information structure dun acteur un autre.

Je me suis longuement pos la question de mettre information au pluriel ou au singulier.


Comme je veux mettre laccent sur le fait que cest une information structure et non plusieurs
informations en vrac, jai choisi le singulier.
156
8 3932 TG PA 01

Graphe acteurs/flux

tudions cela dun peu plus prs :


flux dinformation dun acteur un autre
Flux signifie ici dplacement (Petit Robert). Le dplacement se fait bien dun point
un autre, soit dun acteur un autre. Notons que la phrase doit tre interprte strictement : lacteur mettant le flux est unique (ce qui est assez naturel), mais celui qui le
reoit galement. Si un document est envoy deux acteurs, cela engendrera deux flux.
On ne prend en compte que les flux (changes) dinformations et pas les flux dobjets.
(On mettra un bmol cette rgle dans les exercices.)
information structure
Le flux reprsente linformation relle utilise par lentreprise sans aucune modlisation.
Linformation prendra gnralement la forme dun document prcis (facture, carte grise,
bon de commande). On pourra prciser lorsque cest utile quun flux est la copie dun
autre (par exemple facture et double de facture). Sinon, on indiquera facture pour les
deux flux.
Une remarque : on notera que la dfinition dun acteur tait faite vis--vis dun systme
donn puisque la notion mme dacteur, en tant quintervenant dans un systme, impliquait davoir un systme o intervenir. En revanche, la notion de flux dinformation est
dfinie de faon trs gnrale. Ce nest que dans la partie 2E (Graphe acteurs/flux) que
nous prciserons les flux qui nous intressent.

Exercice 85
Reprenons le sujet de lexercice prcdent en fusionnant les diffrents types de clients :
Nous tudions une EURL dassemblage de PC. Son mode de fonctionnement est le suivant :
le client passe commande, paye lordinateur la livraison et reoit la facture acquitte en
change.
Dcrivez les diffrents flux (nom, acteur metteur, acteur rcepteur).

2E.

Graphe acteurs/flux
2E1. Soyons puristes
Allez, une dfinition !
Graphe acteurs/flux : le graphe acteurs/flux est une reprsentation des acteurs et
des flux permettant de visualiser la nature, lorigine et la destination des informations qui circulent dans le systme tudi.
Observons cela de plus prs :
information du systme tudi
Cela reprend lide que les acteurs doivent avoir une fonction au sein du systme tudi, quils soient internes ou externes. Ainsi, tout flux dinformation doit rpondre au
moins une des deux conditions suivantes :
il doit tre issu du systme considr (donc tre mis par un acteur interne) ;
il doit tre destination du systme considr (donc tre reu par un acteur interne).

157
8 3932 TG PA 01

Squence 9

dfaut, le flux est compltement externe au systme et na rien voir avec lui, donc
ne doit pas tre reprsent.
Du paragraphe prcdent, on retiendra la consigne suivante :
Il ne doit pas y avoir de flux entre deux acteurs externes.
Cela ne signifie pas que le flux nexiste pas dans la ralit, mais juste que le systme considr na pas la matrise (et ne doit pas lavoir) de ce qui se passe lextrieur.

2E2. Comment le graphe est-il reprsent ?


Un acteur est reprsent par un cercle dans lequel on crit son nom. Le cercle des
acteurs externes sera en pointills.
Un flux sera reprsent par une flche allant de lacteur metteur lacteur destinataire. Il sera nomm par le document (ou linformation) chang.
Demande dinformations
acteur externe

service
commercial

client

acteur interne

Catalogue
flux
Reprenons, en la compltant, la remarque faite sur les flux.
Il ne doit pas y avoir de flux entre deux acteurs externes. En consquence, on ne
fera pas figurer dacteur externe nchangeant dinformation quavec des acteurs
externes.

Exercice 86
Dans le graphe ci-aprs, rayez les acteurs et/ou les flux qui ne doivent pas tre reprsents.
Pour simplifier, je nai nomm ni les acteurs ni les flux puisque lon travaille sur une rgle de
construction indpendante de toute smantique.

158
8 3932 TG PA 01

Graphe acteurs/flux

Exercice 87
Considrons le systme entreprise de vente dordinateurs :
Le mode de fonctionnement dune entreprise de vente dordinateurs est le suivant : le client
passe commande, paye lordinateur la livraison et reoit la facture acquitte en change.
Faites le graphe acteurs/flux de ce systme.

2E3. Accordons-nous une petite drogation


Comparons les deux graphes que nous avons dj tudis :

Demande dinformations

Bon de commande

service
commercial

client
Catalogue

Premier graphe : systme de demande de catalogue

entreprise
de vente de PC

client
Facture acquite

Second graphe : systme de commande de PC

Le premier graphe est tout fait intelligible car on visualise un principe daction/raction du systme : le stimulus demande dinformation reoit la rponse envoi de catalogue. On peroit bien la logique de lensemble.
En revanche, le second graphe est hermtique : la lgende nous informe quil sagit de
vente de PC, mais lon reste tout surpris des flux ; on comprend que figurent le stimulus
initial (le bon de commande), la rponse finale (la facture acquitte), mais il est clair que
toute une machinerie reste implicite. Il est vident que ce graphe est finalement trop
pur pour nous aider comprendre le fonctionnement de lentreprise.
Nous nen avons pas fini avec le second graphe. Il modlise quelque chose de fondamental pour lentreprise : une vente ! Do ma remarque purement subjective mais
nanmoins valide : je souhaiterais que la vente, qui est la fonction mme de lentreprise,
soit matrialise de faon plus prcise. En effet, ce graphe est tellement imprcis quil
ne sert rien.
Finalement, que nous manque-t-il ? Rajouter des flux, mme sils reprsentent autre
chose que de linformation.
Le graphe acteurs/flux se veut une approche du fonctionnement du systme tudi par ltude de la circulation de ses documents. Limportant tant avant tout sa
lisibilit et lefficacit de sa reprsentation, on sautorisera matrialiser des flux
financiers ou dobjets, sous rserve quils apportent rellement des prcisions.

Pour changer, jemprunte un peu le vocabulaire des systmes ractifs (action, raction, stimulus). Cest naturel si on considre lentreprise (le systme tudi) comme une entit ragissant aux
sollicitations extrieures (les clients).

159
8 3932 TG PA 01

Squence 9

En pratique, on reprsentera toujours les flux financiers car :


le flux financier (lchange dargent) est minemment important en gestion, et on
aime bien matrialiser les choses importantes ;
avec le principe des acomptes, arrhes, paiements par traites de nombreux documents (factures, relances) naissent des flux dargent. Faire figurer la circulation
de ces documents sans mentionner les flux financiers sous-jacents rend incomprhensible leur rle.
Quant aux flux dobjets (marchandise), on ne les reprsentera que sils sont ncessaires
la comprhension du graphe.

Exercice 88
Refaites lexercice 87 en vous accordant les flux ncessaires la comprhension du graphe.

Exercice 89
Modlisons le systme de lentreprise LIPAD (LIvraison de Pizza Domicile)
Le client appelle le standard de LIPAD. On lui propose les pizzas du jour, ainsi que le dlai
dattente. Le client choisit sa pizza, donne ses coordonnes et raccroche. Le standardiste communique le bon de commande au pizzaolo. Celui-ci prpare la pizza puis la donne avec le bon
de commande au livreur qui, faisant fi des intempries, enfourche son petit scooter (fidle
destrier !) et fonce chez le client. Il lui remet la pizza contre paiement. De retour chez LIPAD,
le livreur remet le bon de livraison et largent au responsable.
Faites le graphe acteurs/flux du systme LIPAD.

Exercice 90
Faites le graphe acteurs/flux du sujet de lexercice 83 (concession automobile).
Nous avons quelques enseignements tirer de lexercice prcdent sur la suppression de
lacteur assureur. On ne travaille toujours que vis--vis dun systme considr. Ainsi, on
ne matrialisera que les acteurs intervenant dans ce systme, donc recevant ou changeant de linformation venant de ce systme.
Il en dcoule deux choses que lon rappelle :
un flux dinformation entre deux acteurs externes na aucun intrt pour lentreprise. On ne le fait pas figurer ;
corollaire : on ne fait figurer un acteur externe que sil reoit un flux dun acteur
interne ou sil lui en envoie un.

Cest un raisonnement analogue qui me faisait dire (squence 6 paragraphe 3) que plus lobjet
modlis est important dans le systme considr, plus on le reprsente sous forme dentit et non
dassociation.
160
8 3932 TG PA 01

Graphe acteurs/flux

Notons une dernire fois que le graphe acteurs/flux demeure beaucoup moins formaliste
que le MCD. Le graphe ayant pour seul objet lexplication du fonctionnement de lentreprise par la modlisation des flux documentaires, on saccordera des liberts si elles
aident manifestement la comprhension.

Exercice 91
Plaons-nous dans le systme dun marchand de biens (btiments, maisons).
La personne voulant vendre une maison (le vendeur) mandatera le marchand de biens par un
document contractuel (mandat de vente) pour que celui-ci trouve un acheteur.
Le marchand de biens fera signer lacheteur un compromis de vente puis le fera signer par le
vendeur. Ce document oblige les deux parties (acheteur et vendeur) conclure la transaction.
Le document est transmis chez un notaire qui va rcuprer divers documents puis convoquer
les parties pour leur faire signer lacte de vente.
Au moment de la signature, lacheteur remet le chque au notaire qui lencaissera puis versera
sa commission au marchand de biens et le restant au vendeur.
Notons une chose importante : le financement dun achat immobilier seffectue presque
toujours grce un emprunt. La loi impose donc que le compromis de vente soit annul si
lacheteur nobtient pas de prt. Si le prt est accord, la banque verse directement largent au
notaire, lacheteur nayant lui verser que son apport initial.
Faites le graphe acteurs/flux du systme marchand de biens.

La leon tirer de cet exercice est la suivante :


Par drogation la rgle prcdente, on peut reprsenter des flux ou des acteurs
trangers au systme sils ont une importance cruciale dans le fonctionnement de
lentreprise.

2E4. Ordonnancement des flux


Mettez le graphe de lexercice prcdent sous vos yeux en essayant doublier le sujet
correspondant. Le graphe est-il comprhensible ? Oui ?

Exercice 92
Eh bien, pensez-vous que vous pourriez me dire, au seul vu du graphe, si la demande demprunt doit tre faite avant ou aprs la signature du compromis de vente ?

La chronologie dchange des documents est videmment cruciale dans la comprhension du fonctionnement de lentreprise : ici, le compromis de vente na de sens quen
tant qutape pralable avant la signature du contrat chez le notaire.

Cela ne veut pas dire que son concepteur tait moins rigoureux que celui du MCD, mais provient
de la nature des deux modles. Le MCD est quasiment contractuel puisque toute lapplication sera
btie dessus, tandis que le graphe est destin une meilleure comprhension du fonctionnement de
lentreprise. Cest la diffrence entre une esquisse et un plan darchitecte.
161
8 3932 TG PA 01

Squence 9

Pour remdier cela, il suffit de numroter les flux dans lordre o ils se produisent.
Reprenons le graphe de lexercice 79 et ordonnanons les flux :

1. bon de commande

client

2. paiement

entreprise
de vente de PC

3. facture
Bien entendu, vous pouvez numroter comme vous voulez : (2) Paiement est tout
aussi bien !
Notons que sur un graphe touffu, il sera plus lisible de ne mettre que les numros des
flux sur le graphe et dindiquer ct leur nom, comme dans le graphe qui suit.

(1)

client

(2)

entreprise
de vente de PC

(3)

(1) : bon de commande


(2) : paiement
(3) : facture

Dans le graphe ci-dessus, il ny a que trois flux mis dans lordre les uns sous les autres.
Lordonnancement napporte pas grand chose. Mais dans le cas dun graphe plus complexe cest ncessaire.

Exercice 93
Ordonnancez les flux de lexercice 91 du systme marchand de biens.
Vous prendrez lhabitude dordonnancer systmatiquement les flux.
Nous terminerons cette partie sur un petit exercice :

Exercice 94
tudions une seconde EURL dassemblage de matriel informatique. Elle vend des ordinateurs
des clients institutionnels (administrations) et des particuliers. Le protocole de vente est
diffrent selon les clients :
le particulier verse un acompte de 25 % la commande, puis le solde le jour de la rception
de lordinateur. Il reoit en change une facture acquitte ;
les clients institutionnels demandent un devis pour que lintendant (le comptable) valide la
dpense. Si le devis est accept, le client passe la commande sans verser dacompte. Le jour
de la livraison, le client reoit une facture. Lintgralit de la somme est verse 90 jours aprs
la livraison, la suite de quoi le client reoit une facture acquitte.
Faites le graphe acteurs/flux de ce systme.

162
8 3932 TG PA 01

Graphe acteurs/flux

On retiendra de cet exercice la remarque suivante :


Le graphe acteurs/flux ne modlise que le fonctionnement normal (classique) de lentreprise, soit le cas gnral o tout se passe bien.
Deux remarques :
comme dhabitude, on peut droger cette rgle si ncessaire ;
le MCD, au contraire, modlise le cas gnral mais aussi tous les petits cas particuliers.

3.

Conclusion
Je vous assure que le graphe acteurs/flux est quelque chose dassez lmentaire. Jai
russi faire une douzaine de pages car jai tent lexhaustivit et toutes les astuces que
lon pourrait vous demander.
Hormis dans la dfinition des acteurs et des flux, il ny a pas de rgle immuable comme
pour le MCD. Les diffrentes rgles que nous avons vues ne reprsentent quun cadre de
travail. On peut toutes les violer, mais on doit le faire consciemment, donc bon escient
(c.--d. en le justifiant).

Le cours est termin. Je tiens fliciter ceux qui ont eu le courage darriver jusquici et
jespre que vous aurez eu autant de plaisir lire le cours que moi le rdiger.
Je peux vous assurer que si vous lavez assimil correctement, vous avez le niveau requis
en BTS.
Maintenant, haut les curs et passez au cas de synthse (tude de cas autocorrige) !
163
8 3932 TG PA 01

Synthse

Dfinitions
Acteur : un acteur (sous-entendu du systme dinformation) est constitu dune ou
plusieurs personnes regroupes par leur fonction dans ce systme. Il est identifi par
son nom. Un acteur sera soit interne, soit externe au systme tudi.
Flux : un flux (sous-entendu dinformation) matrialise lchange dune information structure dun acteur un autre. Les flux financiers sont galement reprsents vu leur importance en informatique de gestion.
Graphe acteurs/flux : le graphe acteurs/flux est une reprsentation des acteurs
et des flux permettant de visualiser la nature, lorigine et la destination des informations qui circulent dans le systme tudi.
Il ne doit pas y avoir de flux entre deux acteurs externes. En consquence, on
ne fera pas figurer dacteur externe nchangeant des informations quavec des
acteurs externes.
Le graphe acteurs/flux ne modlise que le fonctionnement normal (classique) de
lentreprise, soit le cas gnral o tout se passe bien.

Reprsentation
Un acteur est reprsent par un cercle dans lequel on crit son nom. Le cercle des
acteurs externes sera en pointills.
Un flux sera reprsent par une flche allant de lacteur metteur lacteur
destinataire. Il sera nomm par le document (ou linformation) chang. Vous
prendrez lhabitude dordonnancer systmatiquement les flux.
Le graphe acteurs/flux se veut une approche du fonctionnement du systme tudi par ltude de la circulation de ses documents. Limportant tant avant tout sa
lisibilit et lefficacit de sa reprsentation, on sautorisera matrialiser des flux
financiers ou dobjets, sous rserve quils apportent rellement des prcisions.

165
8 3932 TG PA 01

Graphe acteurs/flux

tude de cas rcapitulative


Nous allons tudier de faon quasi exhaustive le fonctionnement du CNED.
Ce sujet sera prtexte reprendre lensemble des thmes abords dans le
cours. Faites-le donc trs srieusement !
Avertissement
Ce devoir rpond plusieurs impratifs :
vous faire travailler sur un sujet de taille relle et non sur des mini-cas
comme dans nos exercices ;
mettre en uvre la plupart des diffrents concepts abords sans que
ce soit tlguid (utiliser des entits faibles dans la squence sur les
entits faibles, cela manque doriginalit) ;
vous proposer un sujet dexamen blanc.

Hlas, il apparat aux diffrentes relectures de la correction (jai videmment un peu


davance sur vous) que ces trois objectifs sont inconciliables.
Le sujet que je vous propose est donc complexe pour une fin de premire, voire seconde
anne. Pourquoi ? Il ne contient pas de difficult dabstraction comme avec le sujet de
modlisation des MCD. La difficult, cest la densit de ce que lon modlise. Pris isolment,
les lments sont raisonnablement simples, mais lensemble forme un tout complexe.
Quelle solution adopter face cet ennuyeux constat ? Soit je simplifiais le sujet, soit je
rajoutais un long avertissement (et, votre avis, qutes-vous en train de lire ?). Lintrt
de ce sujet est quil est trs reprsentatif :
il constitue une tude complte dun cas de gestion rel ;
tout ce qui a t vu dans le cours se retrouve ici ;
ce sujet comporte 90 % de choses trs simples et 10 % de choses complexes. Supprimer
des lments aurait dsquilibr cela.
Voici donc ce que je vous conseille :
Ce sujet est assez long et difficile. Je ne pense pas que vous puissiez raisonnablement le traiter
en moins de quatre heures. Selon votre aisance, fixez-vous de quatre six heures. Mettezvous en condition dexamen en le faisant dune traite (dbranchez votre tlphone !).
lissue de lpreuve (et non aprs 10 minutes de griffonnage), comparez votre solution
la correction. Si, ds les premires lignes du corrig, vous voyez que vous tes pass
ct, lisez la correction de la partie qui vous a pos problme (pas plus), attendez quelques
jours puis refaites le sujet.

167
8 3932 TG PA 01

Squence 9

Encore une fois, ce sujet est plus complexe quun sujet de BTS (qui nvalue pas que lanalyse).
Sans dmagogie, je nai pas honte davouer que si crire le sujet ne ma pas pos trop de problmes, jai pass beaucoup de temps pour mettre au point un corrig correct. Or, jai tout de
mme beaucoup plus de recul que vous. Ainsi, ne croyez pas navoir rien compris lanalyse si
vous avez du mal avec ce sujet. Il nest pas facile. Mais il constitue un trs bon entranement.
videmment, vous devrez tudier le volumineux corrig avec beaucoup dattention !
On vous demande de raliser lanalyse de lactivit du CNED. Pour cela, les informations
suivantes vous sont fournies.

1. Objectif de linformatisation
Le CNED assure un service de formation distance dans de nombreuses disciplines. Pour
assurer sa mission, il est en relation avec beaucoup dintervenants : des tudiants, mais
aussi des enseignants chargs de rdiger les cours et de corriger les copies. Le nombre de
disciplines, denseignants et dtudiants est tel quil devient ncessaire de tout informatiser pour suivre lactivit du centre et savoir :
si lenseignant recevant des copies corriger les retourne au CNED en temps et en
heure ;
sil ny a pas trop de dmissions dans un cours donn (ce qui serait un signe de malfaon) ;
lvolution du nombre dinscrits ;
les diffrentes versions et mises jour des supports de cours ;
les notes des inscrits ;

2. Organisation gnrale
Lorsque le service pdagogique du CNED veut faire concevoir un nouveau cours, il envoie
lenseignant retenu les documents contractuels (contrat, cahier des charges) que ce dernier
retourne sign. Une fois le cours rdig, lenseignant lenvoie au service pdagogique qui
lui retourne une attestation de service fait. Une copie de lattestation est envoye au service
comptabilit du CNED qui procde alors au paiement de la rmunration de lenseignant.
Un tudiant intress par des cours demande un dossier dinscription au secrtariat du
CNED qui le lui envoie par retour de courrier. Sil y trouve la formation qui lintresse, il
retourne le dossier accompagn dun chque (couvrant les frais dinscription) au secrtariat qui transmet le dossier au service scolarit et le chque au service comptabilit. Le
service scolarit envoie ltudiant lensemble des documents de la formation correspondante (supports de cours, fascicules dexercices).
Lorsquun tudiant envoie pour correction un devoir au secrtariat du CNED, ce dernier lui
expdie immdiatement le corrig-type correspondant et envoie le devoir lenseignant
charg de la correction.
Quinze jours maximum aprs rception de la copie, le correcteur la retourne corrige au
secrtariat du CNED, qui la renvoie ltudiant concern. Les notes sont communiques
au dpartement scolarit qui envoie aux inscrits un relev de notes en fin de formation. Le
secrtariat relve le nombre de copies renvoyes par chaque correcteur et le communique
au service comptabilit qui paye trimestriellement les correcteurs.

168
8 3932 TG PA 01

Graphe acteurs/flux

3. Les cours
Le CNED dispense deux types de cours :
1. Le module. Cest un cours sur un thme donn ; par exemple : Apprentissage de Word
2003, Comptabilit
2. La formation rglemente. Cest une formation conforme aux programmes de lducation Nationale. Par exemple : Classe de sixime, BTS informatique de gestion Elle
est constitue de modules : le module Apprentissage de Word 2003 fera partie de la
formation BTS Informatique de Gestion.
Chaque cours (module ou formation) possde un titre (intitul), une rfrence, des tarifs
(voir ci-dessous), une dure en heures, une date de dbut et de fin dinscription (ces dates
tant mises jour chaque anne scolaire) et le nombre de devoirs associs au cours.

4. Tarifs des cours


Les cours ont des tarifs diffrents selon la situation de linscrit.
Le tarif A1 concerne linscription titre individuel.
Le tarif A2 concerne les inscrits de 16 28 ans pour les formations allant de llmentaire
au baccalaurat.
le tarif B concerne les inscriptions non finances par linscrit (formation continue, financement ANPE).
Les cours peuvent donc avoir 2 ou 3 tarifs. Par exemple, une formation de BTS aura des
tarifs A1 et B mais pas A2 puisque ce dernier ne sapplique que jusquau baccalaurat.
Notons que le tarif dune formation est moins lev que la somme des tarifs des modules
qui le constituent.

5. Les supports de cours


Pour chaque module, le CNED a fait raliser un ou plusieurs supports de cours. Ces derniers
ont une nature trs variable puisquil peut sagir de cassettes audio, vido, de fascicules de
cours, de fascicules de devoirs Outre sa nature, un support de cours possde une rfrence, un titre, un auteur et une date de ralisation. Il nest utilis que pour un module.

6. tudiant
Un tudiant est caractris par ses nom, prnom, adresse complte, tlphone et date de
naissance.

7. Les inscriptions
Les inscriptions ne sont gres que pour lanne en cours, on ne les historise pas. Un
tudiant peut sinscrire autant de cours (module et/ou formation) quil le souhaite. Un
tudiant peut bnficier de tarifs diffrents. Par exemple, il peut avoir le tarif B pour la
formation BTS Informatique de Gestion finance par son entreprise, mais suivre en mme
temps la formation Comptabilit titre personnel et supporter le tarif A1. Une inscription
se fait une date prcise.

169
8 3932 TG PA 01

Squence 9

8. Envoi des supports de cours


Une fois linscription enregistre, le CNED envoie les supports correspondants ltudiant.
Comme il peut arriver quun support soit temporairement manquant, le CNED doit savoir
exactement ce quil a envoy ainsi que la date denvoi de chaque support.

9. Enseignant
Un enseignant est caractris par ses nom, prnom, adresse complte, tlphone et coordonnes bancaires. Paralllement son travail au CNED, lenseignant est soit en retraite,
soit en poste dans un tablissement scolaire (numro dtablissement, nom, adresse, tlphone). Pour pouvoir travailler au CNED en plus de son service normal en tablissement,
lenseignant doit avoir une autorisation de cumul dont il faut conserver la date.

10. Rdaction des supports de cours


Le CNED sadresse des enseignants pour concevoir les supports de cours. Toute conception de support est encadre par un contrat prcisant la date de livraison du support et la
rmunration. Le contrat est sign une date donne. La conception dun support peut
tre faite conjointement par plusieurs enseignants. Dans ce cas, il y aura autant de contrats
que denseignants.

11. Les contrats de correction de copies


Les enseignants correcteurs signent un contrat de correction valable pour lanne scolaire
et pour un ou plusieurs modules. Pour chaque module concern, le CNED associe plusieurs
tudiants chaque correcteur. La rmunration est faite la copie, le tarif tant fix en
fonction du module. Le contrat est sign une date donne.

12. La gestion des devoirs


Ltudiant envoie son devoir au CNED (la date de rception est conserve), qui la fait parvenir au correcteur ; ce dernier la retourne corrige au CNED qui la renvoie ltudiant.
Chaque devoir a une date denvoi thorique permettant aux tudiants de se situer dans
le rythme de progression.

13. Les paquets de devoirs


Entre ltudiant et le CNED, les changes se font copie par copie. En revanche, pour viter lexpdition anarchique, les changes entre le CNED et les correcteurs sont faits par
paquets de copies. Un paquet est constitu dune ou plusieurs copies (en pratique, les
copies des tudiants associs au correcteur correspondant). Les paquets sont envoys chaque semaine, la date denvoi tant stocke. Le correcteur ne peut renvoyer le paquet que
lorsquil en a corrig toutes les copies. La date de rception par le CNED du paquet corrig
est mmorise. Pour chaque paquet, le CNED compte systmatiquement le nombre de
copies envoyes et reues pour sassurer quaucune nest perdue.

14. Les notes


Lorsque le CNED reoit un paquet de copies corriges, il archive les notes pour tablir le
relev de fin de formation.

170
8 3932 TG PA 01

Graphe acteurs/flux

Travail faire
1. Faites le graphe acteurs/flux modlisant lorganisation gnrale du CNED (paragraphe
2). Vous ordonnancerez les flux.
2. Faites le MCD modlisant lactivit complte du CNED. Ce sujet possde deux difficults
majeures : la gestion des contrats de correction et la gestion des copies et paquets de
copies. Tout ntant pas forcment parfaitement modlisable, nhsitez pas utiliser des
rgles de gestion.
3. Faites le MLD correspondant en jouant le jeu et en crivant tous les champs (et non un
seul champ suivi de ) !

Vous pouvez, ds maintenant, faire et envoyer la correction le devoir 3 (voir


fascicule devoirs rf. 3932 DG).

171
8 3932 TG PA 01

Вам также может понравиться