83932 t Gpa 0109

172
BTS Informatique de gestion, 1 re année Jean-Yves Février Développement d’applications informatiques et génie logiciel Cours 1 (Merise) Directrice de publication : Valérie Brard-Trigo Les cours du Cned sont strictement réservés à l’usage privé de leurs destinataires et ne sont pas destinés à une utilisation collective. Les personnes qui s’en serviraient pour d’autres usages, qui en feraient une reproduction intégrale ou partielle, une traduction sans le consentement du Cned, s’exposeraient à des poursuites judiciaires et aux sanctions pénales prévues par le Code de la propriété intellectuelle. Les reproductions par reprographie de livres et de périodiques protégés contenues dans cet ouvrage sont effectuées par le Cned avec l’autorisation du Centre français d’exploitation du droit de copie (20, rue des Grands Augustins, 75006 Paris).

description

hgh

Transcript of 83932 t Gpa 0109

  • BTS Informatique de gestion, 1re anne

    Jean-Yves Fvrier

    Dveloppement dapplications informatiques et gnie logiciel

    Cours 1 (Merise)

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

  • 8 3932 TG PA 013

    Conseils gnraux

    La place de lanalyse

    Dans le rfrentielLe cours que vous tes en train de lire vous permettra dacqurir la pratique de la mthode dana-lyse Merise.

    Cest un cours essentiel pour le BTS informatique de gestion car, dans cette branche de linfor-matique, 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 formationEn 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 lapprentis-sage 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 parfaite-ment 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 dfini-tion (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 dfi-nitions. 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 vi-ter l-peu-prs. On rencontrera dailleurs de nombreux cas o l-peu-prs nest pas acceptable.

    Prsentation du support de coursCe cours a t conu pour pallier au maximum les difficults de lapprentissage distance : les notions retenir (dfinitions) sont mises en avant et des exercices et questions sont prsents tout au long du cours pour vous permettre de vrifier votre comprhension.

    Mais jinsiste sur le point suivant : quelle que soit la qualit pdagogique de ce cours, il ne vous permettra pas dassimiler lanalyse par simple imprgnation visuelle. Vous devez fournir un travail dapprentissage (le cours), de rflexion (toujours le cours) et dentranement (les exercices).

  • 8 3932 TG PA 014

    Squence 1

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

    OrganisationLe 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 arri-vez 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 stra-tgiques 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 envi-sager 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 !

    ContenuLes 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 puis-que, 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 approxima-tivement un volume de travail identique. Le dcoupage nest nanmoins pas arbitraire : les diff-rents concepts ont t rpartis au mieux pour que chaque squence reste cohrente.

    NotationsPour 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 ;

  • 8 3932 TG PA 015

    Introduction

    les exercices intgrs dans les squences et destins vrifier votre comprhension sont num-rots 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 pas-serez du temps dessus (et cest conseill), plus vous risquez de dpasser les dures indiques.

    Sommaire

    Squence 1 : Introduction 7

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

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

    Travaux dirigs 1 51

    Squence 4 : MCD : fin 57

    Squence 5 : le MLD 71

    Squence 6 : rgles de validation du MCD 89

    Travaux dirigs 2 103

    Squence 7 : les dpendances fonctionnelles (thorie) 107

    Squence 8 : les dpendances fonctionnelles (utilisation) 121

    Travaux dirigs 3 145

    Squence 9 : graphe acteurs/flux 151

    tude de cas rcapitulative 167

  • 8 3932 TG PA 017

    Squence 1

    IntroductionDure indicative : 2 heures

    Cette squence dintroduction va vous expliquer ce quest et quoi sert une mthode danalyse. On prsentera ensuite la mthode que vous tudierez dans ce cours : Merise.

    Capacits attendues Percevoir limportance et le rle de lanalyse

    Matriser le vocabulaire et la dmarche de la mthode Merise

    Contenu1. Introduction lanalyse ....................................................................... 81A. Pourquoi lanalyse ? ..................................................................................... 81B. Linformatique de gestion ........................................................................... 81C. Les mthodes danalyse ............................................................................. 10

    2. La mthode Merise .............................................................................. 112A. Donnes et traitements ............................................................................. 112B. Les trois niveaux de modlisation ............................................................ 12

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

  • 8 3932 TG PA 018

    Squence 1

    1. Introduction lanalyse

    1A. 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 pro-grammes) permettant de raliser informatiquement les tches de gestion dune entre-prise : 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 dis-position des pices, leur nombre et leur superficie. Ensuite, on choisit les matriaux (bri-que, 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 grand-chose, 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 gestionCest 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 linfor-matique 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 reprsen-tant 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 3932 TG PA 019

    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, compta-bilit), dont lensemble forme le systme dinformation de lentreprise. Cest une posses-sion immatrielle, au contraire de btiments, doutils, de vhicules mais cest la plus importante car elle est irremplaable et unique.

  • 8 3932 TG PA 0110

    Squence 1

    Cet exemple me permet de vous donner la dfinition suivante :

    Linformatique de gestion consiste grer, manipuler et exploiter le systme dinfor-mation (les donnes) de lentreprise pour chercher linformation utile.

    Raliser un programme de gestion passe par une tape essentielle : simprgner du fonc-tionnement de lentreprise et des donnes quelle manipule. Et cela na rien dvident car chaque entreprise a ses propres rgles. Ensuite, il ny a plus qu crire le programme. Si vous avez mal compris linterconnexion des donnes entre elles, le programme ne pourra pas fonctionner correctement.

    Par exemple, si vous avez gr les commerciaux individuellement alors quils sont regrou-ps en quipe, vous ne pourrez pas leur affecter une prime globale. Vous serez oblig dattribuer individuellement la prime chaque membre de lquipe en esprant ne faire aucune erreur de saisie qui entranerait des primes diffrentes au sein de lquipe.

    De mme, supposons une entreprise qui installe des panneaux publicitaires sur des murs ou des terrains et les loue ensuite des clients. Si vous voulez informatiser cette activit, vous tes bien daccord quil vaut mieux savoir avant de commencer si un panneau peut avoir une publicit diffrente par face ou ne possde quune face utilisable. En dautres termes, va-t-on associer un seul ou deux clients chaque panneau ? Ce nest pas du tout la mme chose !

    1C. Les mthodes danalyseEh bien, tout cela, cest un des rles

    de lanalyse : modliser les donnes de lentreprise

    et leur interconnexion. Bien entendu, il y a deux problmes :

    1. Comment faire cela ?

    2. Comment faire pour que la modlisation soit comprhensible donc utilisable par dautres personnes que son concepteur ?

    Des thoriciens ont tudi ce problme et ont fourni des solutions : les mthodes dana-lyse. Elles rpondent aux deux problmes prcdents :

    1. Dune part, elles fournissent une faon (mthode) pour reprsenter (analyser) les don-nes de manire efficace et complte.

    2. Dautre part, elles permettent une reprsentation codifie et normalise comprhensi-ble par tous ceux qui connaissent la mthode en question. Un dveloppeur peut alors raliser le programme en exploitant uniquement lanalyse, sans se rfrer au monde rel . Cela simplifie normment le travail. On retrouve parfaitement la notion de plan pour la construction de la maison : le maon se rfre au plan quil sait lire, et non vous qui ne pouvez que rpter un grand sjour, hein ! Et, plein sud ! .

    Je vous propose la dfinition suivante.

    Mthode danalyse : technique de modlisation du rel utilisant une reprsentation nor-malise.

    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.

  • 8 3932 TG PA 0111

    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 compr-hension 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 pro-grammera 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 per-sonne : 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 MeriseCette 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 semai-nes. 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 traitementsDonnesCe sont les objets que lon manipule et leur interaction (en cuisine, ce sont les ingr-dients). 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 suppor-tent une ou deux publicits

  • 8 3932 TG PA 0112

    Squence 1

    TraitementsCest 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 linfor-matiser 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 successi-ves, du plus abstrait au plus concret. Ces tapes, appeles niveaux de modlisation, sont dans lordre le niveau conceptuel, le niveau logique et enfin le niveau physique.

    De mme, en construction, on va dessiner le plan dune maison (conceptuel), puis on choisit les matriaux (logique), enfin on ralise la construction (physique).

    2B. Les trois niveaux de modlisationNiveau conceptuelOn va reprsenter (modliser) le rel indpendamment de tout choix matriel ou dor-ganisation de lentreprise. Par exemple, concernant les traitements, on retiendra que la facture est tablie aprs lenvoi de la commande. Le fait que ce soit le service facturation qui envoie cette facture est sans importance. On modlisera :

    dune part les donnes, ce qui donnera le MCD, Modle Conceptuel des Donnes ; dautre part les traitements, ce qui donnera le MCT, Modle Conceptuel des

    Traitements.

    Niveau organisationnel (ou logique)On adapte le modle du niveau conceptuel pour prendre en compte les contraintes matrielles (matriel informatique disponible, contraintes diverses).

    le MCD donnera le MLD, Modle Logique des Donnes ; le MCT donnera le MOT, Modle Organisationnel des Traitements.

    Niveau oprationnel (ou physique)On adapte le modle du niveau organisationnel pour produire le programme en prenant en compte le formalisme du langage choisi :

    le MLD donnera le MPD, Modle Physique des Donnes ; le MOT donnera le MOPT, Modle OPrationnel des Traitements.

    On notera que, donnes et traitements tant indpendants, leur modlisation peut tre effectue en parallle par deux quipes distinctes. Notez galement que le premier niveau (le conceptuel) est indpendant de tout matriel informatique ou choix techni-que. Un mme MCD peut donc donner diffrents MLD et MPD selon les choix techniques retenus. Idem entre le MCT et les MOT et MOPT.

    Le niveau conceptuel est le plus complexe. Par exemple, le passage du MCD au MLD est suf-fisamment simple pour pouvoir se faire automatiquement (par des programmes). Le MLD est nanmoins important car il dcrit lorganisation des donnes en fonction du program-me utilis pour les stocker. Jadis on utilisait des fichiers, maintenant on utilise des bases de donnes personnelles (Access, Paradox) ou professionnelles (SQL Server, Oracle).

  • 8 3932 TG PA 0113

    Introduction

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

    Comprhension du mtier

    informatiser

    laboration du MCD

    laboration du MLD

    Dveloppement de la base

    de donnes

    3. Programme de la formationEn 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 !

  • 8 3932 TG PA 0115

    Synthse

    Linformatique de gestion consiste grer, manipuler et exploiter le systme din-formation (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 infor-mations 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, opra-tionnel.

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

    Niveau Donnes TraitementsConceptuel reprsente la perception du rel sans se proccuper des moyens dimplantation

    MCD Modle Conceptuel des Donnes

    MCT Modle Conceptuel des Traitements

    Organisationnelspcification du niveau organisationnelavec les choix techniques (langages)

    MLDModle Logique des Donnes

    MOTModle Organisationnel des Traitements

    Oprationnel prise en compte des moyens physiques dimplantation

    MPD Modle Physique des Donnes

    MOPT Modle OPrationnel des Traitements

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

  • 8 3932 TG PA 0117

    Squence 2

    MCD : les concepts de base 1/2Dure indicative : 5 heures

    Dans cette squence, nous allons tudier une partie des constituants lmentaires du MCD. Nous allons apprendre ce que sont les entits, les proprits et les associa-tions. 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 Contenu1. Analyse du sujet ................................................................................... 18

    2. Les entits ............................................................................................... 192A. Prsentation ................................................................................................ 192B. Reprsentation graphique ......................................................................... 20

    3. Les proprits ........................................................................................ 213A. Dfinition .................................................................................................... 213B. Reprsentation graphique ......................................................................... 22

    4. Les associations ..................................................................................... 234A. Prsentation ................................................................................................ 234B. Reprsentation graphique ......................................................................... 24

    5. Complments ......................................................................................... 26

    Synthse

  • 8 3932 TG PA 0118

    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 sco-laire 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 con-signes 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 plu-sieurs choses prciser ! Relisons le sujet :

    de lanne scolaire courante Cela signifie que le Cned ne conserve pas lhistorique des inscriptions des annes prc-dentes (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 corres-pondant linscription. Mais quappelle-t-on une personne ? Dj, il vaut mieux tre pr-cis ! 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 pau-vre 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 tem-porairement simplifier et dire que le Cned ne gre que les inscriptions des cours indpen-dants. 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 !

  • 8 3932 TG PA 0119

    MCD : les concepts de base 1/2

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

    2. Les entits

    2A. PrsentationBien. Aprs une demi-page dexplications, on peut enfin produire le schma suivant :

    tudiant coursRien 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 ga-lement reli ltudiant. Le nouveau schma sera alors :

    tudiant coursBien, on progresse ! Mais en fait, quoi sert une flche ? indiquer une direction. Ainsi, le fait de mettre une flche de chaque ct signifie finalement quil ny a pas de sens privilgi puisque le lien entre tudiant et cours peut se lire dans les deux sens. Dans ce cas, on simplifie en ne mettant aucune flche ! Ce qui donne :

    tudiant cours

    Maintenant, soyons ralistes : ce schma reprsente-t-il toutes les donnes ncessaires la gestion des inscriptions ? Il faut bien avouer que non ! Concrtement, qui sont les tudiants ? quels cours sont-ils inscrits ? Informatique, conomie, anglais ?

    Si vous voulez grer les tudiants et les intgrer dans votre base de donnes, cest pour leur envoyer les cours. Il faut donc un nom et une adresse pour chaque tudiant. Bien entendu, un tudiant possde dautres donnes : un numro de tlphone, une date de naissance mais aussi des rfrences bancaires, des parents, une formation scolaire, peut-tre un permis de conduire, un aliment prfr, etc. Cette numration a pour objet de bien vous faire comprendre quun tudiant est caractris par beaucoup (voire une infinit) de donnes. Quand on parle de dcrire un tudiant, ce nest donc pas dans labsolu, mais en fonction de lusage que lon en fera. On ne lui attribuera pas les mmes caractristiques selon que lon veut reprsenter ltudiant :

    dans le systme dinformation Gestion des inscriptions au Cned ; dans le systme Scurit Sociale tudiante ; dans le systme Prt tudiant dune banque

    Dans notre exercice, on aura besoin des nom et prnom de ltudiant et de son adresse (rue, code postal et ville). On peut se poser la question de stocker le numro de tl-phone ou une adresse e-mail. Si vous informatisiez rellement les inscriptions, vous demanderiez au responsable du Cned sil dsire (sil a besoin de) ces informations.

    Dans un devoir (ou lexamen du BTS), vous aurez plus ou moins clairement la liste des informations ncessaires : certaines seront tout fait explicites, tandis que dautres ne se laisseront dbusquer quaprs une lecture trs attentive du sujet. Cela fait partie de la difficult de lexercice.

  • 8 3932 TG PA 0120

    Squence 2

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

    2B. Reprsentation graphiqueReprenons : un tudiant est caractris par ses nom, prnom et adresse. On va reprsenter cela dans notre schma. Le formalisme sera le suivant :

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

    Tant quon y est, on va donner un nom plus professionnel que rectangle ou objet cette reprsentation : on dira qutudiant est une entit, de mme que Cours. La dfinition suit !

    Entit : Objet considr comme un tre dou dunit matrielle [] (Petit Robert). Une entit est une chose du monde rel qui possde une existence propre (concrte ou abstraite), des caractristiques bien dfinies, qui prsente un intrt et a un sens pour le systme dinformation tudi.

    Encore une fois, il nous faut expliquer les mots de cette dfinition.

    chose du monde rel Lobjectif de lanalyse est dinformatiser des activits humaines relles. Ces activits exploitent des donnes complexes

    : un mdecin ne traite pas un numro de Scurit

    Sociale, mais un patient, dcrit entre autres par ce numro, un nom, un prnom Ce concept est rapprocher des donnes structures que vous verrez en programmation.

    possde une existence propre Cest une consquence directe de lexpression prcdente ( chose du monde rel ). Je lai rpt pour bien vous faire assimiler le fait quil sagit de grer des entits qui exis-tent 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 caract-ristiques 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 com-pltement, mais aussi une fonction prcise, qui dpendra de ce que lon veut informatiser.

    TUDIANTNomPrnomRueCode postalVille

    Complexe, dans le sens qui contient, qui runit plusieurs lments diffrents .

  • 8 3932 TG PA 0121

    MCD : les concepts de base 1/2

    Un exemple classique : un grossiste a comme fournisseurs et comme clients des entreprises. Aura-t-on une seule entit Entreprise ou deux entits Fournisseur et Client ? Certes, les four-nisseurs et les clients ont, en tant quentreprises, les mmes caractristiques (un nom, une adresse). Mais leur fonction, donc leur smantique, est distincte (voire oppose). On aura donc deux entits diffrentes. Parmi tous les objets qui existent, on ne retiendra que ceux qui sont utiles lentreprise et on les dcrira daprs les donnes que cette dernire utilise.

    On retiendra donc toujours le point de vue de lentreprise.

    existence concrte ou abstraite Cest un point assez complexe, o les non-informaticiens achoppent. Nous venons de voir assez longuement que les entits taient des objets cohrents manipuls par le systme dinformation. Mais il en existe de deux types.

    Les entits concrtes, qui ont une existence physique tangible. Elles ne posent pas de problme car on identifie facilement un fournisseur, un client ou un patient comme autant dentits.

    En revanche, lentreprise manipule dautres entits qui nont pas forcment une exis-tence tangible : les factures (qui ne sont physiquement que des feuilles de papier), mais aussi des impays, qui sont un concept abstrait mais crucial pour toute entreprise.

    Pour fixer les ides, voici une dfinition moins thorique, mais regroupant les notions vues plus haut :

    Une entit est un objet cohrent vu (dcrit) avec lil de lentreprise tudie.

    Pour faire le MCD, on devra notamment structurer les informations en les regroupant pour former des entits. Cest l quintervient lentranement et lintelligence de lana-lyste : il nest pas toujours vident de bien cerner les contours des entits, dautant quil nexiste pas de technique rigoureuse. Il faut travailler par intuition.

    3. Les proprits

    3A. Dfinition Proprit : donne lmentaire et pertinente pour le systme dinformation tudi. Le regroupement cohrent de proprits dfinit les entits. Symtriquement, une entit sera dcrite par ses proprits.

    Cest maintenant devenu une coutume revenons sur quelques termes de cette dfinition :

    donne pertinente pour le systme dinformation Nous lavons dj dit, on ne retient que les informations utiles lentreprise que lon informatise.

    donne lmentaire pour le systme dinformation Voici un point thorique trs discut. Une donne lmentaire est une donne que lon ne peut plus dcomposer (cest lquivalent dun corps simple en chimie). Dit autrement, si lon dcompose une donne lmentaire, on nobtient plus rien de significatif.

    Par exemple, mon nom complet Jean-Yves Fvrier nest pas une donne lmentaire, puisque je peux le dcomposer en Jean-Yves (mon prnom) et Fvrier (mon nom). En revanche, mon prnom et mon nom sont lmentaires puisquen les dcomposant, je nobtiens quun groupe de lettres sans signification.

  • 8 3932 TG PA 0122

    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 sim-ple 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 lmen-taire des donnes. Pour rgler le problme, il suffit de bien lire la dfinition : donne lmen-taire 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 len-treprise 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.

    O Il ne sagit pas de passer des heures sinterroger sur lventuelle non-lmentarit dune 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 graphiqueIl 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

    NomPrnomRueCode postalVille

    Dans un rectangle, on met le nom de lentit, puis on tire un trait et lon met la liste des proprits en dessous sans ordre particulier.

    Revenons sur notre gestion des inscriptions. Aprs ltude dtudiant, occupons-nous de Cours. Il vous faut toutes les informations relatives un cours. Vous demandez au res-ponsable 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.)

  • 8 3932 TG PA 0123

    MCD : les concepts de base 1/2

    Exercice 3

    1. Le fait quun cours soit une entit dans le systme tudi doit tre assez naturel. Mais, votre avis, est-ce une entit concrte ou abstraite ?

    2. Imaginez deux informaticiens discutant. Le second rpond au premier titre et dure en mois . Quelle tait la question du premier ? (Utilisez les termes techniques.)

    3. Dessinez lentit Cours daprs le formalisme Merise.

    4. Les associations

    4A. PrsentationBien. Dans notre schma, jai remplac les mots tudiant et cours par des entits. Nous obtenons alors :

    TUDIANT

    NomPrnomRueCode postalVille

    COURS

    TitreDure

    Je ne connais pas votre faon de travailler. Peut-tre que vous navez pas pos ce docu-ment 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 rensei-gnements 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.

  • 8 3932 TG PA 0124

    Squence 2

    4B. Reprsentation graphiqueOn obtiendra donc le schma suivant :

    TUDIANT

    NomPrnomRueCode postalVille

    COURS

    TitreDure

    sinscrire

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

    Devinez ! Je vais vous donner une dfinition formelle dun lien. Et, du coup, on oubliera le mot lien au profit dassociation.

    Association : une association reprsente un lien smantique entre des entits. On parlera dassociation binaire (ou plus simplement de binaire) si elle relie deux enti-ts, 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

    NomPrnomRueCode postalVille

    COURS

    TitreDure

    sinscrire

    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.

  • 8 3932 TG PA 0125

    MCD : les concepts de base 1/2

    TUDIANT

    NomPrnomRueCode postalVille

    COURS

    TitreDure

    est suivi par

    On est confront un problme qui nest pas du tout vident : essayer de nommer las-sociation 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 lassocia-tion 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.

    suivre

    COURS

    TitreDure

    s'inscrire

    TUDIANT

    NomPrnomRueCode postalVille

    COURS

    TitreDure

    TUDIANT

    NomPrnomRueCode postalVille

    COURS

    TitreDure

    apprendre

    TUDIANT

    NomPrnomRueCode postalVille

  • 8 3932 TG PA 0126

    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

    TitreDure

    Apprendre

    TUDIANT

    NomPrnomRueCode postalVille

    Bien, nous avons presque termin.

    5. Complments

    Ltudiant Jean Dupond sinscrit au cours initiation Internet. Comment vais-je le repr-senter 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 associa-tions 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).

  • 8 3932 TG PA 0127

    Synthse

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

    Les dfinitionsEntit : 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 lentre-prise tudie.

    Proprit : donne lmentaire et pertinente pour le systme dinformation tu-di. 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 informa-tise 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.

  • 8 3932 TG PA 0129

    Squence 3

    MCD : les concepts de base 2/2Dure indicative : 10 heures

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

    u Capacits attendues Matriser le vocabulaire de Merise

    Assimiler les concepts vhiculs par ces termes

    Reprsenter graphiquement un MCD

    Se doter dune dmarche rigoureuse pour pouvoir btir un MCD

    u Contenu1. Les occurrences ...................................................................................... 301A. Occurrence dentit .................................................................................... 301B. Occurrence dassociation ........................................................................... 31

    2. Les identifiants ...................................................................................... 322A. Approche par le MLD ................................................................................. 322B. Identifiant dune entit ............................................................................. 372C. Identifiant dune association ..................................................................... 39

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

    4. Les cardinalits ...................................................................................... 414A. Prsentation par lintuition ....................................................................... 414B. Dfinition des cardinalits ......................................................................... 444C. Les diffrentes cardinalits ....................................................................... 464D. Distinguons les cardinalits maximales .................................................... 47

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

    Synthse

  • 8 3932 TG PA 0130

    Squence 3

    1. Les occurrences

    1A. Occurrence dentitOh non, encore une ? Euh, oui, encore une petite dfinition. Et en plus, cest une dfi-nition 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 occur-rences 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 occur-rences 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.

  • 8 3932 TG PA 0131

    MCD : les concepts de base 2/2

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

    Quand vous dclarez une variable : var i : entier

    On lit i est un entier mais cela signifie i fait partie de la famille des entiers et non i est lentier . (sinon on aurait le syllogisme 0 est un entier, 1 est un entier donc 0 est 1 !)

    Quand vous crivez un test : si a = b alors

    L, on dit si a gale b , mais on pourrait dire si a est b car il sagit vraiment dune quivalence absolue (dailleurs, vous savez depuis longtemps que si a = 2 et a = b, alors b = 2).

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

    Exercice 4

    Vous vous doutez sans doute de la question ! Citez-moi une occurrence dtudiant (sous- entendu : 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 occur-rences 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.

  • 8 3932 TG PA 0132

    Squence 3

    Occurrence dassociation : une occurrence dassociation est une ralisation (concr-tisation) 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 dif-frentes 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 Jean-Jaurs/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.

    O Si Jean Dupond est inscrit deux cours (Initiation Internet et Analyse), loccur-rence de suivre ne sera pas Dupond/Jean/1, bd Jean-Jaurs/54000/NANCY//Initiation Internet/2//Analyse/9, mais

    Exercice 7

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

    On retiendra ce qui suit :

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

    2. Les identifiants

    2A. Approche par le MLDCe ntait pas prvu, mais nous allons passer temporairement au MLD (vous tes sens savoir exactement ce que cest !).

    Le MCD permet dindiquer comment les donnes structures (les entits, pas les donnes relles que sont les occurrences) sont relies entre elles.

    Le MLD va indiquer, pour un mode de stockage donn, de quelle faon on va organiser les donnes physiques (relles, donc les occurrences) pour maintenir les liens tablis dans le MCD.

    Cela doit vous paratre plus clair que lors de lintroduction du cours ! Et cela va ltre encore plus dans les lignes qui suivent.

  • 8 3932 TG PA 0133

    MCD : les concepts de base 2/2

    Nous avons dit dans lintroduction que le MCD donnait naissance des MLD diffrents selon le mode de stockage choisi. Jadis, le mode de stockage tait les fichiers. Depuis lavnement des bases de donnes, on nutilise plus quelles. Lavenir nous fournira sans doute de nouvelles techniques de stockage.Oubliez temporairement tout ce que vous avez vu dans ce cours. Imaginez-vous travaillant au CNED, sans avoir dordinateur disposition. Comment allez-vous stocker la liste des tudiants ? Dit autrement, comment stocker les occurrences de lentit tudiant ?

    Eh bien, comme je viens de le dire, vous allez en faire une liste.

    Si les informations qui vous intressent sont les nom, prnom, adresse, code postal et ville de ltudiant, vous aurez la liste des tudiants crite sur une feuille. Cela donnera, en se limitant quatre tudiants :

    Jean DupondPollen LeChat

    1, boulevard Jean-Jaurs8, avenue de la Libration

    54000 NANCY45000 ORLANS

    Nina LeTeckel 13, rue de lEurope 95000 CERGYAlf LeLapin Square Fleuri 34830 CLAPIERS

    De mme, vous aurez une liste des cours (qui ont un titre et une dure) :

    Initiation Internet 2Word 2Excel 3Access 6Linux 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.

    tudiantPRNOM NOM ADRESSE CODE POSTAL VILLE

    Jean Dupond 1, boulevard Jean-Jaurs 54000 NANCYPollen LeChat 8, avenue de la Libration 45000 ORLANSNina LeTeckel 13, rue de lEurope 95000 CERGYAlf LeLapin Square Fleuri 34830 CLAPIERS

    Cours

    TITRE DURE (MOIS)

    Initiation Internet 2Word 2Excel 3Access 6Linux 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 for-mulant une requte ; par exemple, on peut interroger la base de donnes des inscriptions pour deman-der 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 dve-loppeur dapplications devait programmer lui-mme tous les accs aux donnes.

  • 8 3932 TG PA 0134

    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 :

    SuivreTITRE NOM

    Excel LeTeckelInitiation Internet LeLapinAccess DupondInitiation Internet DupondInitiation Internet LeChatWord 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 forma-tion 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 :

    SuivreTITRE NOM

    Excel LeTeckelInitiation Internet LeLapinAccess DupondInitiation Internet DupondInitiation Internet LeChatWord Dupond

    tudiantPRNOM NOM ADRESSE CODE POSTAL VILLE

    Jean Dupond 1, boulevard Jean-Jaurs 54000 NANCYPollen LeChat 8, avenue de la Libration 45000 ORLANSNina LeTeckel 13, rue de lEurope 95000 CERGYAlf LeLapin Square Fleuri 34830 CLAPIERS

  • 8 3932 TG PA 0135

    MCD : les concepts de base 2/2

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

    Exercice 9

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

    Exercice 10

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

    La correction de lexercice prcdent nous indique que le couple nom/prnom nest pas suffisant pour identifier coup sr un tudiant. En gnralisant, on ne peut pas se con-tenter 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 :

    SuivreTITRE PRNOM NOM ADRESSE CODE POSTAL VILLE

    Excel Nina LeTeckel 13, rue de lEurope 95000 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 Jean Dupond 1, boulevard Jean-Jaurs 54000 NANCYAccess Frdrique Dupond 11, rue des Arbres 60100 CREILExcel Frdrique Dupond 11, rue des Arbres 60100 CREIL

    On remarquera les points suivants :

    1. Si lon informatisait vraiment les inscriptions avec des tableaux, on naurait pour le moment plus besoin du tableau tudiant puisque toutes les informations quil conte-nait sont dans le tableau suivre.

    2. Le problme dhomonymie ne se pose pas pour le cours puisque son titre lidentifie sans ambigut (heureusement !). On najoute donc pas la dure.

    Bon, on a toujours le risque davoir un homonyme une mme adresse mais il faut savoir sarrter, dautant quil y a plus urgent : M. Dupond vient dappeler. Il a dmnag, voici sa nouvelle adresse : 78, avenue de la Libration 58000 NEVERS .

  • 8 3932 TG PA 0136

    Squence 3

    Exercice 11

    Corrigez les diffrents tableaux pour tenir compte du changement dadresse.

    Reprenons le tableau de la correction :

    SuivreTITRE PRNOM NOM ADRESSE CODE POSTAL VILLE

    Excel Nina LeTeckel 13, rue de lEurope 95000 CERGY

    Initiation Internet Alf LeLapin Square Fleuri 34830 CLAPIERS

    Access Jean Dupond 78, avenue de la Libration 58000 NEVERS

    Initiation Internet Jean Dupond 78, av. de la Libration 58000 NEVERS

    Initiation Internet Pollen LeChat 8, avenue de la Libration 45000 ORLANS

    Word Jean Dupond 78 av. Librations 58000 NEVERSAccess Frdrique Dupond 11, rue des Arbres 60100 CREILExcel Frdrique Dupond 11, rue des Arbres 60100 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 coh-rence) 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.

  • 8 3932 TG PA 0137

    MCD : les concepts de base 2/2

    Exercice 12

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

    Nous allons reprendre ce concept de numro de client dans le MCD.

    2B. Identifiant dune entit

    2B1. Dfinition

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

    Analysons cette phrase

    un identifiant est une proprit dune entit Lidentifiant sera donc une caractristique de lentit. Comme pour toute proprit, cha-que occurrence de lentit possdera une valeur pour lidentifiant.

    la valeur de lidentifiant doit caractriser de faon unique loccurrence correspon-dante

    La diffrence entre une proprit quelconque et lidentifiant est la smantique. Chaque proprit apporte une information, une caractristique, tandis que lidentifiant ne sert qu identifier.Chaque valeur de lidentifiant ne correspond qu une seule occurrence de lentit. Par exemple, un numro de Scurit Sociale identifie de faon unique (ne correspond qu) une personne.De mme, chaque occurrence dentit ne possde quune valeur didentifiant. En math-matiques, on parlerait de bijection entre les identifiants et les occurrences.

    O Le fait que lidentifiant dtermine loccurrence ne signifie pas qu partir de la valeur de lidentifiant, vous pouvez dterminer la valeur des autres proprits de loccurrence (si je vous donne un numro de Scurit Sociale, vous ne pourrez pas en dduire le nom de la personne). Cela signifie que, pour une valeur donne de lidentifiant, il nexiste quune valeur pour chacune des autres proprits de loccur-rence (mais quelles sont ces valeurs mystre !).

    Une consquence importante : pour une entit donne, chaque valeur de lidentifiant est unique.

    Une remarque : dans la dfinition, jaurais d mettre la valeur de lidentifiant identi-fie . Mais comme cela faisait un peu redondant, jai prfr utiliser caractrise.

  • 8 3932 TG PA 0138

    Squence 3

    Exercice 13

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

    la valeur de lidentifiant doit tre stable [et] non nulle Daprs ce que lon vient de voir, lidentifiant peut varier en permanence. Mais le bon sens peut-il accepter cela ? Si mon numro de Scurit Sociale change, ce nest pas gnant tant quil continue midentifier de faon unique. Enfin, pas gnant en thorie car en pratique je devrai changer ma carte dayant droit, prvenir mon employeur, ma mutuelleDe mme, si le numro dun client change, il faut mettre jour ses factures, ses com-mandes, bref tout ce qui le concerne. Finalement, lidentifiant faisant rfrence une occurrence, on sen servira trs souvent. Accepter que les identifiants varient entranerait un travail de mise jour norme et finalement idiot.

    Je peux justifier cela dune manire plus intuitive, quil faut sentir : lidentifiant est un peu la proprit phare de loccurrence, celle qui dtermine tout le reste. Cest en quel-que sorte un point fixe. Le fait que ce point fixe varie est assez ennuyeux. Pour la mme raison, une valeur nulle est techniquement une valeur. Mais bon tre caractris par rien, cest angoissant. On refuse donc la valeur nulle lidentifiant.

    proprit naturelle ou artificielle dune entit Le rle de lidentifiant est donc didentifier. Jespre vous avoir montr dans lexemple des inscriptions au CNED que lon avait besoin dun identifiant pour grer les tudiants. En gnralisant, on dfinira un identifiant pour chaque entit. Pour faire cela, on obser-ve lentit :

    soit il existe dj une proprit qui peut servir didentifiant car elle en a la caract-ristique. Dans ce cas, cette proprit naturelle est promue au rang didentifiant. On parlera didentifiant naturel ;

    soit, et cest le cas le plus frquent, aucune proprit ne peut tre identifiant. On va donc rajouter une proprit artificielle (gnralement juste un numro) dont le seul rle est de servir didentifiant. On parlera alors didentifiant artificiel.

    proprit ou ensemble de proprits Il peut tout fait arriver quune seule proprit ne soit pas identifiant, mais que deux proprits accoles le soient. Nous verrons des exemples dans la suite du cours (cela reste un cas assez rare).

    (On dfinira plus tard de faon thorique lidentifiant dans la partie de cours sur les dpendances fonctionnelles. On verra alors le cas o un identifiant est constitu par plusieurs proprits.)

  • 8 3932 TG PA 0139

    MCD : les concepts de base 2/2

    2B2. Reprsentation graphique

    Dans le MCD, on fait figurer toutes les proprits de chaque entit. Pour distinguer lidentifiant, on le souligne et on le met en tte des proprits.

    Voici lexemple de lentit Client avec lidentifiant NumroClient, puis le cas gnral avec lentit Entit :

    ENTIT

    Identifiant

    Proprit_1

    Proprit_2

    Proprit_3

    (etc)

    Proprit_n

    CLIENT

    NumroClient

    NomClient

    PrnomClient

    AdrClient

    CodeClient

    VilleClient

    TlphoneClient

    Exercice 14

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

    Exercice 15

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

    Exercice 16

    Vrifiez quavec le changement dans le tableau des inscriptions, on a toujours la possibilit dobtenir :

    les adresses des inscrits au cours Excel ; quels cours est inscrite Mlle Dupond.

    2C. Identifiant dune association

    Exercice 17

    Nous avons vu la notion didentifiant dentit. La notion didentifiant dassociation existe ga-lement. Partant du principe que lidentifiant identifie loccurrence concerne, essayez de rfl-chir ce que peut tre lidentifiant dune association sans regarder la suite du cours. Donnez lidentifiant de lassociation suivre.

  • 8 3932 TG PA 0140

    Squence 3

    La dfinition sera la suivante :

    Identifiant dassociation : lidentifiant dune association est la concatnation des identifiants des entits relies.

    Par exemple, si Pollen LeChat (tudiant numro 2) suivait le cours Excel, on aurait une occurrence de suivre identifie par 2/Excel (la concatnation des deux valeurs). Cette notion ne sert pas grand-chose. Dailleurs, elle nest pas reprsente dans le MCD : les identifiants des entits sont souligns, mais on ne les souligne pas une seconde fois pour indiquer quils sont identifiants dune ou plusieurs associations.

    Donc, me diriez-vous si jtais devant vous, vous nous apprenez des choses inutiles ? Ce nest pas raisonnable ! . Certes ; jai donc une justification : la notion didentifiant dassociation est utile pour la comprhension de lassociation.

    Par dfinition, toute valeur didentifiant (dentit ou dassociation) est unique. Cest pourquoi on ne peut pas relier deux fois les mmes occurrences dentit par une mme association.

    Dit autrement, le mme ensemble doccurrences dentit ne peut constituer deux occur-rences dune mme association. Par rapport notre exemple dinscription, cela signifie que Jean Dupond ne peut pas sinscrire deux fois au mme cours. Ce qui, ma foi, est assez raisonnable. Ce point semble mme trivial, mais je vous assure que ce sera un bon garde- fou lorsque vous ferez un MCD trapu o lon a vite fait de perdre ses repres.

    3. Interlude : comment construire un MCD (1)Nous avons vu ensemble les diffrents constituants du MCD. Cependant, je ne vous ai donn aucune technique pour passer dun sujet en franais au MCD. Le sujet ci-dessous est donc volontairement explicite. De plus, je vous donne les conseils suivants :1. Ne tenez pas compte dans le sujet de ce qui a trait aux traitements, ni de ce qui est

    extrieur au domaine considr.2. Identifiez les entits et les associations.3. Identifiez les proprits.4. Dterminez les identifiants (identifiants naturels) ou rajoutez-en (identifiants artificiels).5. Il ny a plus qu faire le MCD.

    Avant daborder le dernier constituant (cardinalits) du MCD, je vous propose un petit jeu : la modlisation du sujet suivant.

    Gestion des permis de construire la mairie (premire partie).Un terrain est caractris par une rfrence cadastrale, une surface en ares, un type (constructible, inondable, indtermin). Un propritaire est caractris par ses nom, prnom, adresse et date de naissance.

    Un terrain appartient un seul propritaire, lachat tant ralis devant notaire. Les gens qui ne sont pas du mtier nayant pas une bonne comprhension de ce quest un are, il est dcid davoir aussi la surface en m2.

    Un are = 100 m2 (et un hectare = 100 ares = 10 000 m2). Dans la vraie vie, cest faux. Mais cest sans importance ici, puisque seul le sujet compte.

  • 8 3932 TG PA 0141

    MCD : les concepts de base 2/2

    Exercice 18

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

    Exercice 19

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

    4. Les cardinalits

    4A. Prsentation par lintuitionCest la dernire notion utile dans un MCD et cest sans doute la plus simple com-prendre.

    Son importance est nanmoins norrrrrrrrrrrrrrrrrrrrrrrrme ! Depuis le dbut du cours, jai essay de justifier tout ce que lon voyait. En effet, mon dada est de dire que tout en informatique a une justification et un intrt. Ainsi, si lon utilise des identifiants, ce nest pas pour le plaisir, mais parce quon en a besoin.

    Cest la mme chose pour les cardinalits, sauf que je vous avoue humblement navoir pas trouv de biais pour le prsenter. Le concept est tellement simple que je pourrais vous dire bon, les cardinalits, cest comme cela, point . Mais cela ne serait pas srieux.

    Reprenons les deux exercices prcdents (les inscriptions et les permis de construire). Je ne les ai pas choisis au hasard : bien que similaires (deux entits, une association, on ne peut pas faire plus simple), ils ont une diffrence essentielle que lon navait pas encore exploite.

    Cas des inscriptions : un cours peut tre suivi par plusieurs tudiants ; un tudiant peut suivre plusieurs cours.

    Exercice 20

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

    O est la diffrence avec les inscriptions ? Dans le cas des inscriptions, lassociation est symtri-que : 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

  • 8 3932 TG PA 0142

    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 com-porte 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 propri-taire nest pas un objet rel.

    Jinsiste ! Oubliez jamais toute ide du genre de celles prsentes ci-aprs.

    TERRAIN

    RfrenceCadastrale

    Surface

    Type

    NumroPropritaire

    Nom

    Prnom

    DateDeNaissance

    Code

    Ville

    TERRAIN

    RfrenceCadastrale

    Surface

    Type

    PROPRITAIRENumroPropritaireNomPrnomDateDeNaissanceAdresseCodePostalVille

    Proprit fautive

    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 dis-tincts, 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, inu-tile 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.

  • 8 3932 TG PA 0143

    MCD : les concepts de base 2/2

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

    Propritaire

    NUMRO PROPRIETAIRE NOM PRNOM DATE DE NAISSANCE ADRESSE CODE VILLE

    1 LeChat Pollen 25/01/1998 ici 59000 LILLE2 LeTeckel Nina 12/04/1996 l 34000 MONTPELLIER

    Terrain

    RFRENCE CADASTRALE SURFACE TYPE NUMRO PROPRITAIRE

    1B19GH 20 constructible 2BB2GH 15,5 constructible 1FRRR88 10 inondable 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 prin-cipe 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