Академический Документы
Профессиональный Документы
Культура Документы
Jean-Yves Fvrier
Dveloppement dapplications
informatiques et gnie logiciel
Cours 1 (Merise)
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.
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
17
29
Travaux dirigs 1
51
57
Squence 5 : le MLD
71
89
Travaux dirigs 2
103
107
121
Travaux dirigs 3
145
151
167
5
8 3932 TG PA 01
Squence 1
Introduction
Dure indicative : 2 heures
Capacits attendues
Percevoir limportance et le rle de lanalyse
Matriser le vocabulaire et la dmarche de la mthode Merise
Contenu
1.
1A.
1B.
1C.
2.
2A.
2B.
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
1C.
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.
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.
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
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.
2.
2A.
2B.
Prsentation ................................................................................................ 19
Reprsentation graphique ......................................................................... 20
3.
3A.
3B.
Dfinition .................................................................................................... 21
Reprsentation graphique ......................................................................... 22
4.
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
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
19
8 3932 TG PA 01
Squence 2
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
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
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
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
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
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
TUDIANT
COURS
Nom
Prnom
Rue
Code postal
Ville
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
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
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.
2.
2A.
2B.
2C.
3.
4.
4A.
4B.
4C.
4D.
5.
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
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 ?
2.
Les identifiants
2A.
32
8 3932 TG PA 01
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
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
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
58000
NEVERS
Initiation Internet
Jean
Dupond
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
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.
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.
38
8 3932 TG PA 01
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.
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
3.
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.
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
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.
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
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 ?
45
8 3932 TG PA 01
Squence 3
4C.
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
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.
47
8 3932 TG PA 01
Squence 3
5.
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
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
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.
1A.
1B.
Introduction ............................................................................................... 58
Dfinition ................................................................................................... 59
2.
2A.
2B.
Introduction ............................................................................................... 61
Dfinition ................................................................................................... 63
3.
3A.
3B.
3C.
Prsentation ............................................................................................... 64
Dfinition ................................................................................................... 66
Autre formalisme ...................................................................................... 67
Synthse
57
8 3932 TG PA 01
Squence 4
1.
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
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).
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.
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
poux
pouser
pouse
1, n
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.
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.)
66
8 3932 TG PA 01
MCD : fin
HTEL
NumroHtel
NomHtel
(etc)
1,n
contenir
1,1
CHAMBRE
#NumroHtel#
NumeroChambre
(etc)
SERVICE
NumroService
Description
0,n
travailler
1,1
SALARI
NumroSalari
Nom
Prnom
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 #.
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.
2.
Le MLD .................................................................................................... 73
2A.
2B.
2C.
2D.
2E.
2F.
2G.
2H.
3.
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.
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
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.
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
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
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
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
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
2H.
PERSONNE
NumroPersonne
Nom
Adresse
Ville
1,n
0,n
DATE
JJMMAAAA
emprunter
0,n
LIVRE
ISBN
TitreLivre
DateAchat
79
8 3932 TG PA 01
Squence 5
Graphiquement :
Emprunter
Date
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
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
82
8 3932 TG PA 01
Le MLD
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.
83
8 3932 TG PA 01
Squence 5
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
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
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#
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
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.
2.
3.
4.
4A.
4B.
Synthse
89
8 3932 TG PA 01
Squence 6
1.
2.
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
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
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.
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
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
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
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
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
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
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.
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
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
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.
1A.
1B.
1C.
2.
2A.
2B.
2C.
2D.
3.
3A.
3B.
3C.
4.
4A.
4B.
5.
Synthse
107
8 3932 TG PA 01
Squence 7
1.
1A.
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
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.
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
TUDIANT
Numrotudiant
Nom
Prnom
Rue
CodePostal
Ville
1C.
suivre
1,n
COURS
0,n
Titre
Dure
P1, P2 Pn " Q
P1 " Q
P2 " Q
Pn " Q
Enfin, cela peut arriver, mais cest une concidence et pas le cas gnral.
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.
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
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 :
| quivalent }
P1, P2 Pn " Q1
P1, P2 Pn " Q2
P1, P2 Pn " Qm
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 :
| quivalent }
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
Exercice 57
Identifiez les dpendances qui ne sont pas directes dans cet ensemble :
1. DateNaissance " ge
4.
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.
atomique
lmentaire si toutes les DF quil contient sont
direct
atomiques
lmentaires
directes
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
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.
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.
atomique
lmentaire si toutes les DF quil contient sont
direct
atomiques
lmentaires
directes
119
8 3932 TG PA 01
Squence 8
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.
1A.
1B.
1C.
1D.
2.
3.
3A.
3B.
3C.
Synthse
121
8 3932 TG PA 01
Squence 8
1.
1A.
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
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
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.
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.
123
8 3932 TG PA 01
Squence 8
Exercice 62
Ah oui ? trivial ? Eh bien, expliquez-moi quavec un identiant lmentaire, 1re FN et 2e FN sont
quivalentes !
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
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
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
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.
2.
2A.
Introduction
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
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.
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.
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.)
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
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.
COMMENTAIRE
Adresse
DateDeNaissance
Nom
Prnom
Rfrence
SurfaceA
surface en ares
SurfaceM2
surface en m2
Type
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
SurfaceAres
SurfaceM2
surface en m2
TypeTerrain
129
8 3932 TG PA 01
Squence 8
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
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.
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
alphabtique (n)
alphanumrique (n)
rfrence, adresse
numrique (n,m)
date
boolen
132
8 3932 TG PA 01
Exercice 67
Reprenez le sujet de lexercice prcdent et refaites le dictionnaire en rajoutant et compltant
la colonne Type.
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.
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
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
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
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.
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
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
2E.
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.
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
DateImmat
Date1eImmat
Couleur
Puissance Modle Marque
ENTIT TYPE
TypeMine
NumroSrie
Immatriculation
DateImmat
Date1eImmat
Couleur
Puissance
Modle
Marque
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.
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
Squence 8
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
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 ?
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.
3A.
3B.
3C.
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
143
8 3932 TG PA 01
Squence 8
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
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
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
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.
2.
2A.
2B.
2C.
2D.
2E.
3.
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
153
8 3932 TG PA 01
Squence 9
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
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.
Graphe acteurs/flux
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.
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.
Demande dinformations
Bon de commande
service
commercial
client
Catalogue
entreprise
de vente de PC
client
Facture acquite
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
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.
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)
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
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
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.
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
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.
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 ) !
171
8 3932 TG PA 01