Vous êtes sur la page 1sur 23

Mthode de modlisation Merise

Module N1 Concevoir une base de donnes (MCC, MCD, MLD)

PSBDMF!
Programme de formation Supinfo

Laboratoire ORACLE Auteur : Aurlie Vuaroqueaux Date : 07/11/2002 - v 1.1 Nombre de pages : 1 http://www.labo-oracle.com Ecole Suprieure d'Informatique 23 rue Chteau Landon 75010 PARIS http://www.supinfo.com

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

TABLE DES MATIERES 1 PRESENTATION GENERALE DE MERISE_________________________________________ 0 1.1 1.2 Les principes gnraux___________________________________________________ 0 Prsentation des diffrents niveaux et des modles associs ___________________ 1.2.1 Le niveau conceptuel _______________________________________________ 1.2.2 Le niveau organisationnel ____________________________________________ 1.2.3 Le niveau logique __________________________________________________ 1.2.4 Le niveau physique _________________________________________________ 0 0 0 0 0

1.3 2 2.1 2.2 2.3 2.4 2.5 2.6 3 3.1

Prsentation des tapes de dveloppement dun SI ___________________________ 0 Les concepts ___________________________________________________________ 0 Le graphisme ___________________________________________________________ 0 Les communications possibles entre les acteurs conceptuels __________________ 0 Les tapes de construction du MCC ________________________________________ 0 Synoptique _____________________________________________________________ 0 Exemple : Gestion des livres dans une bibliothque ___________________________ 0 Le MCD et ses concepts de base ___________________________________________ 3.1.1 Le concept dentit (ou objet) _________________________________________ 3.1.2 Le concept de proprits_____________________________________________ 3.1.3 Le concept d'association _____________________________________________ 3.1.4 Le concept de cardinalits ___________________________________________ Les rgles de normalisation et de vrification ________________________________ 3.2.1 Rgle N1 et N2 concernant les entits et leurs proprits __________________ 3.2.2 Rgle N3 concernant les relations_____________________________________ 3.2.3 Rgle N4 et N5 concernant lensemble du MCD _________________________ 0 0 0 0 0 0 0 0 0

LE MODELE CONCEPTUEL DES COMMUNICATIONS _______________________________ 0

LE MODELE CONCEPTUEL DES DONNEES_______________________________________ 0

3.2

3.3 4 4.1 4.2 4.3

Exemple : Le championnat d'athltisme _____________________________________ 0 Le MLD et ses concepts de base ___________________________________________ 0 Passage du MCD au MLD _________________________________________________ 0 Passage du MLD au DPD (Description Physique des Donnes) __________________ 0

LE MODELE LOGIQUE DES DONNEES ___________________________________________ 0

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

Prambule
Avant de raliser un projet informatique, il faut pratiquer une analyse informatique. Cette analyse consiste comprendre et modliser le systme dinformation sur lequel on travaille. Un systme dinformation regroupe toutes les informations dun domaine prcis. Par exemple, toutes les informations concernant la gestion des employs : les coordonnes de lemploy, son grade, son dpartement, ses activits L'efficacit et la valid de lanalyse reposent sur la qualit de la communication entre les utilisateurs (matrise douvrage, MOA) et les informaticiens (matrise duvre, MOE). Pour obtenir une bonne communication, les informaticiens utilisent une mthode danalyse. Une mthode d'analyse est constitue de trois lments indispensables : La dmarche : il s'agit du processus opratoire qui permet d'effectuer le travail de modlisation, de description et de ralisation du systme d'information. Les modles : il s'agit des concepts normaliss qui permettent de construire et d'amnager le systme d'information. Ils sont prsents sous forme de schma afin de permettre une reprsentation simple de la ralit et de faciliter le raisonnement. Les outils : il s'agit d'abord de la technique employe pour analyser et concevoir un systme d'information, puis du support papier ou logiciel employ pour conserver une trace du travail. Il existe des Ateliers de Gnie Logiciel (AGL) qui permettent de concevoir des modles, de crer des documentations, de faire des simulations, des valuations...

La mthode d'analyse MERISE est une mthode de conception et de dveloppement de systmes d'information. Elle a t cre en 1977 par la volont des autorits publiques, dsireuses de doter les administrations et les entreprises publiques d'une mthodologie rigoureuse tout en intgrant les aspects nouveaux d'informatique rpartie et de bases de donnes.

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

1 PRESENTATION GENERALE DE MERISE


1.1 Les principes gnraux

La mthode Merise est une mthode de conception des systmes dinformation (SI), mais aussi une dmarche mthodologique de dveloppement de SI. La mthode est une approche globale du SI mene paralllement et simultanment sur les donnes et les traitements. Elle permet une description du SI sur diffrents niveaux : - niveau conceptuel, - niveau organisationnel, - niveau logique, - niveau physique ou oprationnel. Ces quatre niveaux constituent le cycle dabstraction du SI. La description des donnes du SI suit un formalisme de reprsentation prcis, simple et rigoureux. Ce formalisme a t normalis au plan international par lISO sous le nom de ENTITE RELATION . La reprsentation visuelle contribue ltablissement dun dialogue constructif entre tous les partenaires qui collaborent pour concevoir ensemble le SI. Le second point de Merise est le dcoupage du processus de dveloppement en quatre tapes : - Etude pralable - Etude dtaille - Ralisation - Mise en uvre Ce dcoupage a t repris et normalis par lAFNOR (norme Z67 101 : recommandations pour la conduite des projets informatiques). Il correspond au cycle de vie dun SI. Lensemble des rsultats produis chaque tape constitue le cycle de dcision. Merise permet dtablir une description dtaille de la structure de travail mettre en place pour mener bien le dveloppement du SI. Cette structure est thoriquement compose dun COMITE DIRECTEUR, dun GROUPE PROJET et dun COMITE UTILISATEUR.

1.2

Prsentation des diffrents niveaux et des modles associs

Ils existent diffrents niveaux dabstraction allant de labstrait au concret. Ces niveaux dabstraction sont rpartis en deux sous-ensembles : - Niveau conceptuel et niveau organisationnel : description du SI sans prendre en compte les aspects techniques lis linformatisation. - Niveau logique et niveau physique : description du SI en prenant compte de la technologie informatique de la solution retenue pour linformatisation.

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

Abstraction Niveau conceptuel MCD MCT MCC Prise en compte de lorganisation Niveau organisationnel MOD MOT MOC Prise en compte des choix logiques MLD Niveau logique MLT MLC

Prise en compte des choix techniques Niveau physique MPD MPT MPC

1.2.1 Le niveau conceptuel


Le niveau conceptuel est constitu des trois modles suivant : - Le Modle Conceptuel des Donnes (MCD) : Diagramme entit-relation permettant de modliser le SI sans prendre en compte des dtails lis sa mise en uvre physique. - Le Modle Conceptuel des Traitements (MCT) : Diagramme reprsentant lactivit ou un sous-ensemble de lactivit dune entreprise indpendamment des choix dorganisation et des moyens dexcution. - Le Modle Conceptuel des Communications (MCC) : Diagramme reprsentant les informations transmises et rcupres par le domaine de gestion. Ce niveau dabstraction rpond la question quoi ? . Il sagit de rechercher toutes les donnes qui circulent et qui sont traites dans le systme dinformation et de les modliser sans tenir compte des aspects organisationnels, logiques et physiques. Exemple : Un client, identifi par son numro de client, son nom, son prnom et son adresse, passe une commande identifie par son numro de commande et sa date. Cette commande est constitue de produits identifis par un numro de produit, un libell et un prix. Cette commande est ensuite facture au client par lintermdiaire dune facture (n facture, date de facture, montant de la facture) Comment les donnes circulent elles ? o le client passe une commande o la commande est facture au client Quelles sont les donnes ? o Le client : n client, nom, prnom, adresse o La commande : n commande, date de la commande o La facture : n facture, date de la facture, montant de la facture Comment sont elles lies entre elles ? o Une commande nappartient qu un seul client o Un client peut passer plusieurs commandes o Une commande est constitue de produits o Une facture ne se rapporte qu une seule commande
Laboratoire Oracle SUPINFO www.labo-oracle.com 04/09/2002 Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

1.2.2 Le niveau organisationnel


Le niveau organisationnel permet de prendre en compte les choix dorganisation, savoir : - la rpartition des traitements entre lhomme et la machine, - le mode de fonctionnement (temps rel ou temps diffr), - laffectation des donnes et des traitements par type de site organisationnel et par type de poste Ce niveau dabstraction rpond la question qui fait quoi et o ? . Exemple : Lacheminement du courrier par la Poste Un client dpose une lettre dans une bote aux lettres. Le facteur passe une heure dtermine pour ramasser le contenu de la bote. Il dpose les lettres ramasses au centre postal dont il dpend. A une heure dtermine, une entreprise de transport achemine les lettres distribuer au centre de tri postal. A leur arrive, les lettres sont tries par une machine suivant leur format. Les lettres ne possdant pas un format standard sont spares des autres et envoyer au service de tri manuel. Les enveloppes non timbres, suspectes, possdant une adresse errone ou illisible ne sont pas achemines aussi rapidement que les autres enveloppes. Elles sont rparties suivant leur anomalie dans diffrents services denqute qui ne seront pas dtaills. Les enveloppes ne possdant aucune anomalie sont tries suivant leur destination et achemines, selon les besoins, par camion, train ou avion... Qui fait quoi ? o Un service de transport soccupe de lacheminent du courrier entre les centres postaux et les centres de tris o Les facteurs relvent et distribue le courrier o Les centres de tris soccupent du tri du courrier et possdent un service denqute pour les enveloppes non valides. o Le centre postal stocke le courrier relev par les facteurs et le courrier distribuer. Le niveau organisationnel est constitu des trois modles suivants : - Le Modle Organisationnel des Donnes (MOD) : Diagramme reprsentant lensemble des donnes par type de site organisationnel (formalisme identique au MCD) - Le Modle Organisationnel des Traitements (MOT) : Diagramme reprsentant lensemble des traitements en prenant compte de lorganisation de lentreprise. - Le Modle Organisationnel des Communications (MOC) : Diagramme reprsentant les communications entre les acteurs organisationnels qui composent le domaine et les acteurs externes.

1.2.3 Le niveau logique


Ce niveau dabstraction rpond la question Comment ? . Le niveau logique est constitu des trois modles suivants : - Le Modle Logique des Donnes (MLD) ou Modle Relationnel des Donnes (MRD) : diagramme issue du MCD et permettant de prendre en compte la structuration technique propre au stockage informatis. - La Description Logique des Traitements : Diagramme reprsentant la conception technique (structuration en units de traitements de type temps rel ou de type temps diffr). - Le Modle Logique des Communications : Diagramme de rpartition du dialogue entre lhomme et la machine. Il est dploy pour spcifier en dtail une composante logicielle interactive dun projet. Depuis quelques annes, la technologie des systmes de gestion des bases de donnes sest stabilise. Dans les annes 80, cest le modle de structuration de donnes CODASYL qui a t trs utilis. Mais depuis la fin des annes 80, cest le modle RELATIONNEL qui sest largement impos.
Laboratoire Oracle SUPINFO www.labo-oracle.com 04/09/2002 Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

Aujourdhui, nous sommes en prsence dun standard pour la description logique : le Modle Relationnel des Donnes. Aucune normalisation na t tablie et adopte par les informaticiens car la technologie volue trop rapidement et les solutions techniques possibles sont trop diverses.

1.2.4 Le niveau physique


La description physique est troitement lie aux choix techniques informatiques concernant le systme de gestion des donnes. Ce niveau dabstraction rpond aussi la question Comment ? . Aucun formalisme universel nest disponible aujourdhui pour le niveau physique, cest pourquoi les reprsentations sont appeles des descriptions et non des modles. Le niveau physique est constitu des trois modles suivants : - La Description Physique des Donnes : Diagramme table-rfrence qui permet de modliser le SI en tenant compte des dtails de mise en uvre physique. Le DPD peut corespondre : o un script de cration des tables en fonction du SGBD utilis. o au stockage des donnes dans des fichiers suivant le type des fichiers, leur organisation. - La Description Oprationnelle (ou Modle Physique) des Traitements : Diagramme permettant de dtailler au niveau oprationnel chaque tche logicielle par des actions logicielles lmentaires. - La Description Physique des Communications : Diagramme reprsentant les communications entre acteurs et machines permettant de spcifier en dtail les tches logicielles.

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

1.3
ETAPES SCHEMA DIRECTEUR

Prsentation des tapes de dveloppement dun SI


PHASE DE LETAPE MODELES OBJECTIFS Choix dune stratgie. Constitution dquipes. Ebauche de solutions globales. Evaluation projective des rsultats escompts. Dcision de suivre la stratgie du schma directeur. Description du systme actuel en se basant sur des documents et des interviews. Modlisation conceptuelle des traitements et des donnes de lexistant. Critique de lexistant et dfinition des orientations du nouveau systme. Modlisation conceptuelle et organisationnelle partir des nouvelles rgles de gestion et dorganisation. Concevoir les nouveaux documents ou restaurer les documents existants. Construire les MODs correspondant et valider le MCD global du projet. Elaboration des solutions logiques. Identification des tches logicielles. Choix du type de MLD en fonction du SGBD envisag. Optimisation du MLD pour rduire les encombrements ou limiter les temps daccs. Dfinition des modes dorganisations des donnes. Cration des fichiers Conception des crans et spcification des actions des rubriques de lIHM sur la base de donnes. Elaboration du MPC. Dtermination des actions logiques : actions environnementales, contraintes dynamiques, algorithmes et rgles associes aux tches logiques.

ETUDE DOPPORTUNITE ETUDE PREALABLE sur le Domaine Description de lexistant Analyse de lexistant Spcifications des besoins Modlisation conceptuelle et scnarios organisationnels du nouveau systme Production du dossier dtude Maquettage des documents nouveaux, Modles externes, Modle global des donnes Modle logique MOC, MCC MOT, MCT, MOD, MCD Tableaux analytiques MCT, MCD, MCC, MOT(s), MOC(s)

ETUDE DETAILLEE sur le projet

MOD, Validation du MCD global

MLC, MLT, MLD

Optimisation du MLD Production du dossier de spcifications dtailles Modlisation physique et optimisation des donnes Maquettage des crans

MLD optimis

ETUDE TECHNIQUE sur le projet

MPD IHM (Interface Homme/ Machine) Fiche de description des PF (Procdures fonctionnelles, MPC, MPT

Spcification dtaille des traitements et des communications

REALISATION de lapplication MISE EN UVRE de lapplication

Jeux dessais Programmation Tests Recette de lapplication Assistance aux utilisateurs

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

Remarque : Les aspects logique et physique (tels que les systmes informatiques, les moyens de stockage, le rseau, les logiciels, le degrs de portabilit et de scurit) ne sont pas pris en compte dans ltude de lexistant. Mais ils peuvent tre rajouts au tableau.

2 LE MODELE CONCEPTUEL DES COMMUNICATIONS


2.1 Les concepts

Le MCC reprsente les informations transmises et rcupres par le domaine de gestion (ou domaine dtude). Les concepts manipuls dans les communications et utiliss dans ce cours sont les suivants : Domaine dtude : le domaine englobe les activits ou les services concerns par une tude. Il ne peut y avoir qun seul domaine dtude. Activit du domaine dtude Exemple : Le domaine dtude GESTION DES VENTES peut tre divis en quatre activits : gestion des commandes, gestion des clients, gestion des stocks, contentieux. Acteur Externe (ou Partenaire) : un acteur externe est extrieur au domaine dtude mais communique avec celui-ci. Il peut sagir dune activit, dun service, dune personne, dun profil (secrtaire, ingnieur, directeur), dun matriel ou dun lieu gographique. Exemple : Le domaine dtude GESTION DES VENTES gre les clients, les commandes, le stock et le service contentieux. Donc le domaine est en interaction avec des clients (ventes) et des fournisseurs (commandes). Donc les clients et les fournisseurs seront modliss comme deux acteurs externes. Domaine connexe : il sagit dune activit ou dun service du domaine dtude en troite liaison et dont la gestion ne doit pas tre prise en compte. Exemple : En admettant que le domaine dtude GESTION DES VENTES ne doive pas prendre en compte la gestion du service contentieux, le service contentieux qui nest pas un partenaire et qui ne doit pas se trouver dans le domaine, est modlis comme tant un domaine connexe. Communication (ou Flux) : changes entre les diffrentes parties prenantes du systme et entre le systme et son environnement. Exemple : Lactivit gestion des commandes soccupe de passer des commandes ses fournisseurs. Lactivit gestion des clients soccupe de la raliser des ventes aux clients. Lactivit gestion des clients envoie un avis de non paiement au service contentieux. Le service contentieux envoie des rappels de non paiement au client.

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

2.2

Le graphisme

Ensemble des symboles graphiques des diffrents concepts manipuls dans les communications et utiliss dans ce cours :

Acteur Externe

Activit

Flux

Domaine

Domaine Connexe

2.3

Les communications possibles entre les acteurs conceptuels

Le systme est reprsent par un domaine dactivits en interaction avec lenvironnement des acteurs externes. Tableau rcapitulatif des communications possibles et impossibles entre les diffrents acteurs conceptuels : EMETTEUR Domaine Domaine Domaine Activit Activit Activit Domaine connexe Domaine connexe Acteur Externe RECEPTEUR Domaine Acteur Externe Domaine connexe Activit Acteur Externe Domaine connexe Domaine connexe Acteur Externe Acteur Externe

X X X

2.4

Les tapes de construction du MCC

La reprsentation du MCC se divise en plusieurs tapes. Chaque tape ncessite une relecture du texte dfinissant le systme d'information : - Rechercher le domaine d'tude - Rechercher le(s) partenaire(s) - Rechercher le(s) domaine(s) connexe(s) ventuel(s) - Etablir les flux d'informations circulants entre le domaine et les intervenants (extrieurs) - Dterminer les activits du domaine - Etablir les flux d'informations circulants entre les activits du domaine

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

2.5

Synoptique

Domaine flux 1 Activit 1 flux 5

flux 2 Partenaire flux 3 flux 10 flux 9

flux 6 flux 7

Domaine connexe

flux 4

Activit 2

flux 8

Il peut y avoir plusieurs domaines connexes et plusieurs partenaires. Il faut viter la communication entre les partenaires et entre les domaines connexes. Attention, le domaine dtude ne gre pas lactivit dun domaine connexe ni dun partenaire.

2.6

Exemple : Gestion des livres dans une bibliothque

Description du SI : Les abonnes la bibliothque peuvent faire des demandes d'achats de livres nouveaux, ces demandes sont remises un bibliothcaire qui les classifie. En fin de semaine le responsable de la bibliothque examine ces demandes, dcide les achats et fait les commandes aux diteurs. Ceux-ci envoient sparment les livres et les factures. Lors de la livraison d'une commande, un bibliothcaire contrle la concordance avec la commande. Pour chaque exemplaire, une fiche est tablie, elle accompagnera le livre lors de son rangement dans les rayons. Le responsable de la bibliothque, lorsqu'il reoit les factures, contrle la conformit de la livraison et de la facture et envoie au service comptable un ordre de paiement. Dans un premier temps, il faut dterminer le domaine d'tude : La question essentielle se poser est " Que dcrit le sujet ? " Dans notre exemple, le sujet dcrit la faon dont une bibliothque gre les achats de ses livres. Le domaine d'tude pourrait tre "La bibliothque" ou "Gestion des achats de livres". Dans un deuxime temps, il faut rechercher les partenaires ventuels : La question se poser est " Qui intervient dans la gestion des achats de livres ? " En relisant attentivement le texte, on relvera cinq partenaires ventuels : l'abonn, le bibliothcaire, les diteurs, le responsable de la bibliothque, le service comptable. Les partenaires sont des acteurs externes la bibliothque. C'est pourquoi il faut distinguer, parmi cette liste, ceux qui font parti de la bibliothque ou d'un service indpendant, c'est--dire le bibliothcaire, le responsable de la bibliothque et le service comptable. Dans un troisime temps, il faut rechercher les domaines connexes ventuels :
Laboratoire Oracle SUPINFO www.labo-oracle.com 04/09/2002 Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

La question se poser dans ce cas est "Y a t-il des services indpendants qui interviennent dans la gestion des achats de livres ?" On relvera, en tant que domaine connexe, le service comptable qui s'occupe des ordres de paiement. Dans un quatrime temps, il faut tablir les flux informationnels circulants entre le domaine et les partenaires : La question se poser est " Quels sont les contacts entre le domaine et ses partenaires ?" Voici les lments du texte permettant de dterminer les flux informationnels : "Les abonnes la bibliothque peuvent faire des demandes d'achats de livres nouveaux", "le responsable [...] dcide les achats et fait les commandes aux diteurs", "Ceux-ci [les diteurs] envoient sparment les livres et les factures", "le responsable [...] envoie au service comptable un ordre de paiement".

Dans un cinquime temps, il faut dcouper le domaine dtude en activit : La question se poser est "Quelles sont les diffrentes activits dans le domaine dtude ?" Voici les activits que l'on peut relever : Gestion des demandes d'achats Gestion des achats Gestion des livraisons Gestion des factures

A partir des tapes prcdentes, on tablit le modle suivant :

Demande d'achats Gestion des demandes Gestion des achats Gestion des livraisons Gestion des factures La bibliothque Rponse Commandes Envoi des livres Envoi des factures 1 -Paiement 2 - Ordre de paiement 3 - Accord service compta 4 - Paiement Les diteurs Les abonns

Le paiement des diteurs n'est pas mentionn dans le texte. Plusieurs solutions se prsentent : - On ne gre pas le paiement : dans ce cas, les flux 1, 2 et 3 n'apparaissent pas sur le modle ci-dessus. - Le service comptabilit envoie le paiement aux diteurs : ce flux correspond au flux 4 barr sur le modle. En effet, il n'est pas ncessaire et mme trs dconseill de faire apparatre les messages circulants entre les partenaires, entre les domaines connexes ou entre les partenaires et les domaines connexes. - Le service comptabilit envoie son accord de paiement au responsable de la bibliothque qui envoie, son tour, le paiement aux diteurs : ces flux correspondent aux flux 1, 2 et 3 sur le modle. Quelque soit la solution choisie, elle doit figurer avec le MCC comme hypothse de gestion.
Laboratoire Oracle SUPINFO www.labo-oracle.com 04/09/2002 Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

3 LE MODELE CONCEPTUEL DES DONNEES


3.1 Le MCD et ses concepts de base

Il sagit dun diagramme entit-association (ou individu-relation) permettant de modliser le systme dinformation sans prendre en compte les aspects physiques et organisationnels. Il comporte plusieurs concepts : - Entit (ou objet) : personne, lieu, chose ou concept dont certaines caractristiques prsentent un intrt pour le domaine dtude et sur lesquels de linformation souhaitent tre conserve. Une entit est pourvue dune existence propre et conforme aux choix de gestion de lentreprise. - Proprit (ou attribut) : donne lmentaire que lon peroit sur une entit ou sur une relations entre entits. - Relation (ou Association) : association perue dans le rel entre deux ou plusieurs entits. (Contrairement une entit, une relation nest pas pourvue dexistence propre.) - Cardinalits : La cardinalit dune entit par rapport une relation sexprime par deux nombres appels cardinalit minimale et cardinalit maximale dfinies ci-aprs.

3.1.1 Le concept dentit (ou objet)


Une entit permet de modliser un ensemble d'objets de mme nature, concrets ou abstraits, perus d'intrts dans le discours. L'entit exprime un type, une classe, un ensemble dont les lments sont appels occurrence d'entit. C'est la dfinition des activits de gestion qui va permettre de dterminer les entits crer. Exemples d'entits : Etudiant, Matire d'enseignement et Coefficient. Exemples d'occurrences de l'entit Matire d'enseignement : mathmatique, informatique ou anglais. Quelques rgles rgissent la modlisation en termes d'entit : - Rgle de pertinence : la dfinition d'une entit est un choix du concepteur en fonction de l'intrt qu'il prsente. Plusieurs modlisations sont possibles partir de mmes objets. Il faut choisir celui qui est le mieux adapt aux besoins. - Rgles d'identification : on doit pouvoir faire rfrence distinctement chaque occurrence d'une entit. Pour cela l'entit doit tre dote d'un identifiant (voir dfinition dans la paragraphe " Le concept de proprits " ci-aprs). - Rgle de distinguabilit : les occurrences d'une entit doivent tre distinguables. Cette distinguabilit induit la comprhension de l'entit et se traduit par le choix de l'identifiant. - Rgle de vrification : l'entit est dcrite par une liste d'attributs. Chaque attribut de l'entit doit suivre la rgle suivante : A toute occurrence de l'entit, il ne peut y avoir, dans la mmoire du systme d'information, au plus qu'une valeur de l'attribut . - Rgle d'homognit : Les attributs d'une entit doivent avoir un sens pour toutes les occurrences de celle-ci. (il faut viter d'englober plusieurs populations dont certaines ont des caractres propres exprims dans la liste des attributs).

3.1.2 Le concept de proprits


Une proprit ou un attribut est la modlisation d'une information lmentaire prsente dans le discours. L'attribut est l'lment descriptif de l'entit ou de l'association. Il est unique dans un modle conceptuel et ne peut tre rattach qu' un seul concept (entit ou association).
Laboratoire Oracle SUPINFO www.labo-oracle.com 04/09/2002 Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

Remarque : il faut distinguer information et attribut. L'attribut est une manire de modliser une information, mais toutes les informations ne seront pas systmatiquement traduites par un attribut. Exemple d'attributs de lentit Etudiant : Identifiant Etudiant, Nom Etudiant, Prnom Etudiant
Un identifiant d'entit est constitu d'un ou plusieurs attributs de cette entit, de sorte qu' chaque valeur de l'identifiant correspond une occurrence unique de l'entit. L'identifiant est reprsent soulign pour qu'il puisse tre distingu des attributs de l'entit.

Exemple : L'entit Etudiant a pour identifiant Identifiant tudiant, il s'agit d'un numro unique chaque tudiant.

3.1.3 Le concept d'association


On appelle association l'ensemble qui constituent le lien d'association et l'objet association luimme. Il s'agit d'une relation nomme entre entits qui exprime l'existence d'un rapport entre elles. On appelle dimension le nombre d'entits composant l'association et collection la liste de ces entits. Dans la reprsentation ci-dessous, l'association a une dimension gale 2 et sa collection est compose de l'entit 1 et de l'entit 2. Symbolisation d'une association :
Nom de l'entit 1 Identifiant 1 Attribut 1 Attribut 2 ... Nom association Attribut 1... Nom de l'entit 2 Identifiant 2 Attribut 1 Attribut 2 ...

Pattes de lassociation Exemple : L'association Possder entre les entits Matire d'enseignement et Coefficient : une matire d'enseignement possde un coefficient.
MATIERE Identifiant matire Libell matire ... Possder COEFFICIENT Identifiant coefficient Coefficient ...

Une entit peut tre associe elle-mme, on parle alors d'association rflexive. Symbolisation d'une association rflexive :

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

Nom de l'entit Identifiant Attribut 1 Attribut 2 ... Nom association Attribut 1...

Exemple 1 : Un individu possde une mre et un pre qui reprsentent chacun un individu unique.
INDIVIDU PERE Identifiant individu Nom individu Prnom individu ... MERE

Quelques rgles rgissent la modlisation en terme d'association :


-

Le choix de l'association : l'association n'existe qu' travers les entits qui la composent. Il est souhaitable d'utiliser un verbe statique l'infinitif. La forme passive ou active permet d'orienter l'association. La numrotation des associations est dconseille. L'identifiant d'une association : une association n'a pas d'identifiant propre. L'occurrence d'une association est dtermine par les occurrences des entits de sa collection. Une occurrence d'une association ne peut exister que relie une occurrence de chacune des entits de sa collection. Les attributs d'une association : L'association ne peut tre dote d'attributs. Il s'agit d'informations qui ne peuvent prendre de sens qu'avec la prsence de la collection de cette association. Les rgles de vrification et de normalisation : A toute occurrence d'une association, il ne peut y avoir, dans la mmoire du systme d'information, qu'une seule valeur pour chacun des attributs rattachs cette association.

3.1.4 Le concept de cardinalits


Le terme cardinalit traduit la participation des occurrences d'une entit aux occurrences d'une association. Une cardinalit appartient une patte (branche) de l'association. Chaque patte possde deux cardinalits : une cardinalit minimum (m) et une cardinalit maximum (M). Signification des valeurs possibles des cardinalits : - m = 0 : certaines occurrences de l'entit ne participent pas l'association (participation optionnelle), - m = 1 : toute occurrence de l'entit participe au moins une fois aux occurrences de l'association (participation obligatoire), - M = 1 : quand une occurrence type de l'entit participe une association, elle n'y participe au plus qu'une fois (unicit de participation), - M = n : quand une occurrence type de l'entit participe une association, elle peut y participer plusieurs fois (multiplicit de participation). Exemple 1 : le cas d'une association simple avec les cardinalits
Laboratoire Oracle SUPINFO www.labo-oracle.com 04/09/2002 Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

MATIERE Identifiant matire Libell matire 0,1 Possder 0,n

COEFFICIENT Identifiant coefficient Coefficient

Un mme coefficient peut tre attribu plusieurs matires diffrentes, d'o les cardinalits "0,n". Mais une matire donne ne peut possder qu'un seul coefficient, d'o les cardinalits "0,1". Exemple 2 : le cas de l'association rflexive avec les cardinalits
0,n PERE 0,1 INDIVIDU Identifiant individu Nom individu Prnom individu ... 0,n MERE 0,1

Un individu peut tre pre ou mre de plusieurs individus, d'o les cardinalits "0,n". Un individu n'a qu'un seul pre et qu'une seule mre, d'o les cardinalits "0,1". Exemple 3 : Un rpertoire peut appartenir un autre rpertoire et peut contenir dautres rpertoires et des fichiers.
0,n appartient 0,1 REPERTOIRE Identifiant rpertoire Nom rpertoire 0,n contient 1,1 FICHIER Identifiant ficheir Nom fichier ...

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

3.2

Les rgles de normalisation et de vrification


3.2.1 Rgle N1 et N2 concernant les entits et leurs proprits

Rgle n1 : Il doit exister un identifiant pour chaque entit. Rgle n2 : Toutes les proprits autres que lidentifiant doivent tre en dpendance fonctionnelle complte et directe de lidentifiant. Notion 1 : La dpendance fonctionnelle Une proprit B est dite en dpendance fonctionnelle dune proprit A, si pour toute valeur de A, il existe une et une seule valeur B ; autrement dit : A B. Do la rgle pratique suivante (sous-rgle n 2) : Pour chaque occurrence dune entit, chaque proprit doit tre en dpendance fonctionnelle de lidentifiant et doit ainsi prendre une et une seule valeur. Autrement dit, il ne peut pas de valeurs rptitives, ni dabsence de valeur pour une mme proprit. Exemple :
EMPLOYE n employ nom prnom prnom enfant domiciliation prime de qualification

La proprit "prnom-enfant" peut prendre plusieurs valeurs selon le nombre d'enfants

Il faut en consquence crer une autre entit, do le nouveau MCD :


EMPLOYE n employ 0,n nom prnom domiciliation prime de qualification ENFANT 1,1 n employ -n ordre nom-enfant prnom-enfant date de naissance

appartenir

Notion 2 : La dpendance complte Les proprits doivent dpendre de tout lidentifiant et non pas dune partie de cet identifiant. Exemple : Dans lexemple ci-dessus, lentit ENFANT possde une proprit nom. Cette proprit ne dpend pas compltement de lidentifiant, mais dune partie de lidentifiant : en effet, le nom dpend du n employ et non du n ordre.

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

EMPLOYE 0,n n employ nom prnom domiciliation prime de qualification

appartenir

ENFANT 1,1 n employ -n ordre prnom-enfant date de naissance

Notion 3 : la dpendance directe Chaque proprit doit dpendre directement de lidentifiant et non par lintermdiaire dune ou plusieurs autres proprits. Exemple : Admettons que la prime de qualification de lemploy dpende en fait de la qualification de lemploy. Par consquent, la proprit prime qualification de lentit EMPLOYE ne dpend directement de lidentifiant n employ, mais dpend dabord de la proprit qualification. Il faut crer une entit QUALIFICATION qui aura comme proprits qualification et prime de qualification et comme identifiant n qualification.
EMPLOYE n employ nom prnom domiciliation 1,1 possder 0,n QUALIFICATION n qualification libell qualication prime de qualification ENFANT 1,1 n employ -n ordre prnom-enfant date de naissance

0,n appartenir

3.2.2 Rgle N3 concernant les relations


Rgle n 3 : Toutes les proprits dune relation doivent dpendre compltement de lidentifiant de la relation ; chaque proprit doit dpendre de tout lidentifiant et non dune partie de cet identifiant. Ainsi pour chaque occurrence dune relation, chaque proprits doit tre en dpendance fonctionnelle de lidentifiant de la relation et doit donc prendre une et une seule valeur.

3.2.3 Rgle N4 et N5 concernant lensemble du MCD


Rgle n4 : Une proprit ne peut apparatre quune seule fois dans un mme MCD, cest ainsi quelle ne peut qualifier quune seule entit ou une relation. Rgle n5 : Les proprits qui sont le rsultat dun calcul ne doivent pas, en principe, figurer dans un MCD sauf si elles sont indispensables la comprhension de celui-ci.

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

3.3

Exemple : Le championnat d'athltisme

On souhaite mmoriser une partie des donnes dun championnat international dathltisme comprenant des courses et des concours de lancer et de saut. Le domaine concern est dcrit sidessous : Le championnat est divis en comptitions (100 m homme, 800 m femme, disque homme) dcrites par un numro, un nom et le sexe des comptiteurs. Une comptition peut comprendre plusieurs preuves de niveaux diffrents (finale, demi-finale liminatoires). Chaque preuve est dcrite par un code, un niveau, une date et une heure de dbut. les athltes (n dathlte, nom, prnom, date de naissance, n licence) appartiennent diffrents pays (code-nation, nation, titre, hymne nationale). Ils sont engags dans diffrentes comptition et participent des preuves dont les rsultats sont mmoriss.

Interprtation du texte
-

Le championnat est divis en comptitions [] dcrites par un numro, un nom et le sexe des comptiteurs cration dune entit COMPETITION avec les attributs numro comptition, nom comptition, sexe. Une comptition peut comprendre plusieurs preuves cration dune entit EPREUVE associe lentit COMPETITION. plusieurs preuves de niveaux diffrents cration dune entit NIVEAU associe lentit EPREUVE. Chaque preuve est dcrite par un code, un niveau, une date et une heure de dbut cration des attributs code, niveau, date, heure de dbut dans lentit EPREUVE. Les athltes [...] appartiennent diffrents pays [] Cration dune entit ATHLETE avec les attributs se trouvant dans la premire paire de crochet, et associe une nouvelle entit PAYS ayant pour attributs le contenu de la seconde paire de crochet. Ils [les athltes] sont engags dans diffrentes comptitions cration dune association entre lentit ATHLETE et lentit COMPETITION. Ils [les athltes] [] participent des preuves dont les rsultats sont mmoriss cration dune association entre lentit ATHLETE et lentit EPREUVE.

Proposition dun modle :


COMPETITION N comptition Libell Sexe 1,n engager 1,n ATHLETE N Athlte Nom Prnom Date naisssance n licence 1,n appartenir 1,1 0,n PAYS Code nation Nation Titre Hymne EPREUVE Code Niveau Date Heure 1,n participer rsultat

1,n composer

1,1

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

4 LE MODELE LOGIQUE DES DONNEES


4.1 Le MLD et ses concepts de base

Le Modle Logique des Donnes est un diagramme qui permet de dcrire la structure de donnes utilise sans faire rfrence un langage de programmation. Les concepts manipuls dans le MLD sont les suivants : Relation (appele plus couramment Table) Tuple : Elment dun produit cartsien appel plus couramment ligne dune table. Attribut : colonne dune relation caractrise par un nom. Exemple : marque et couleur sont les attributs de la relation VOITURE. Cette relation scrit VOITURE (marque, couleur). Cl dune relation : un ou plusieurs attributs dont les valeurs permettent de dfinir de manire unique les tuples de la relation. Exemple : La relation VOITURE (marque, couleur) nidentifie pas de manire unique les tuples. En effet il peut y avoir plusieurs Peugeot rouge. Cest pourquoi il faut lui rajouter une cl n voiture. Cela donnerait alors la relation : VOITURE (n voiture, couleur, marque) avec les tuples suivants : o tuple 1 1 RENAULT BLANCHE o tuple 2 2 PEUGEOT ROUGE o tuple 3 3 RENAULT BLEU o tuple 4 4 PEUGEOT ROUGE

4.2

Passage du MCD au MLD

Tableau de conversion :
MCD entit proprit de l'entit identifiant de l'entit relation plusieurs (0,n ou 1,n) plusieurs (0,n ou1,n) relation binaire 1 (0,1 ou1,1) plusieurs (0,n ou1,n) MLD table colonne ou attribut de la table cls primaire de la table table exportation cl trangre et attributs ports

Exemple : MLD Le championnat dathltisme (cf. 3.3 Exemple : Le championnat dathltisme)

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

COMPETITION id_competition lib sexe

EPREUVE code niveau date heure id_competition PARTICIPER code id_athlete rsultat

ENGAGER id_competition id_athlete

ATHLETE id_athlete nom prenom date_naissance num_licence code_nation

PAYS code_nation nation titre hymne

Lassociation participer entre les entits ATHLETE et EPREUVE est une relation plusieurs plusieurs qui est, par consquent, devenu la table PARTICIPER dans le MLD. Cette table possde une cl constitue des cls des tables ATHLETE et EPREUVE, soit id_ahtlete et code. Elle possde une colonne rsultat qui correspondait lattribut port de lassociation participer dans le MCD. Lassociation engager entre les entits COMPETITION et ATHLETE est une relation plusieurs plusieurs qui est devenu la table ENGAGER dans le MLD. Cette table est possde une cl constitue des cls des tables ATHLETE et EPREUVE, soit id_ahtlete et code. Lassociation composer entre les entits COMPETITION et EPREUVE est une relation binaire plusieurs . Au moment du passage du MCD au MLD, lassociation provoque lexportation de la cl id_competition dans la table EPREUVE. Lassociation appartenir entre les entits PAYS et ATHLETE est une relation binaire plusieurs . Au moment du passage du MCD au MLD, lassociation provoque lexportation de la cl code_nation dans la table ATHLETE.

4.3

Passage du MLD au DPD (Description Physique des Donnes)

Aujourdhui il nexiste pas dapproche normalise de description et de reprsentation du niveau physique des donnes. La description physique des donnes est troitement lie aux choix techniques informatiques concernant le systme de gestion des donnes. Le Diagramme Physique des Donnes sera assimil au script de cration des tables du MLD. Exemple : DPD Le championnat dathltisme
CREATE TABLE competition ( id_competition NUMBER(6) NOT NULL, libelle VARCHAR2(20), sexe CHAR(1) NOT NULL, CONSTRAINT competition_pk PRIMARY (id_competition));

KEY

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0

CONCEVOIR UNE BASE DE DONNEES (MCC, MCD, MLD) - v 1.1

CREATE TABLE epreuve ( code NUMBER(6) NOT NULL, niveau NUMBER(2) NOT NULL, date_epreuve DATE, heure DATE, id_competition NUMBER(6) NOT NULL, CONSTRAINT epreuve_pk PRIMARY KEY (code), CONSTRAINT epreuve_id_competition_fk FOREIGN KEY(id_competition) REFERENCES competition(id_competition)); CREATE TABLE pays ( code_nation NUMBER(6) NOT NULL, nation VARCHAR2(20), titre VARCHAR2(20), hymne VARCHAR2(20), CONSTRAINT pays_pk PRIMARY KEY(code_nation)); CREATE TABLE athlete ( id_athlete NUMBER(6) NOT NULL, nom VARCHAR2(15), prenom VARCHAR2(15), date_naissance DATE, num_licence NUMBER(12), code_nation NUMBER(6) NOT NULL, CONSTRAINT athlete_pk PRIMARY KEY (id_athlete), CONSTRAINT athlete_code_nation_fk FOREIGN KEY(code_nation) REFERENCES pays(code_nation)) ; CREATE TABLE participer ( code NUMBER(6), id_athlete NUMBER(6), CONSTRAINT participer_pk PRIMARY KEY (code, id_athlete), CONSTRAINT participer_id_athlete_fk FOREIGN KEY(id_athlete) REFERENCES athlete(id_athlete), CONSTRAINT participer_code_fk FOREIGN KEY (code) REFERENCES epreuve(code)); CREATE TABLE engager ( id_competition NUMBER(6), id_athlete NUMBER(6), CONSTRAINT engager_pk PRIMARY KEY (id_competition, id_athlete), CONSTRAINT engager_id_athlete_fk FOREIGN KEY(id_athlete) REFERENCES athlete(id_athlete), CONSTRAINT engager_id_competition_fk FOREIGN KEY (id_competition) REFERENCES competition(id_competition));

Laboratoire Oracle SUPINFO www.labo-oracle.com

04/09/2002

Page 0