Cours13CG Version2.0 Manuel Elève (1)

Embed Size (px)

Citation preview

LES SYSTEMES DE GESTION DE BASES DE DONNEESVERSION 2.0

MANUEL DE L'ELEVE

Pierre Stockreiser Lyce Technique d'Esch-s-AlzetteAot-Septembre 1999

Je tiens remercier M. Sylvain Piren, Professeur-Ingnieur au Lyce Technique d'Esch-s-Alzette, pour avoir essentiellement contribu la rdaction de ce cours.

Je remercie galement les personnes suivantes pour leur support respectivement leur influence pendant le travail de recherche et de rdaction. M. Christian Lucius, Professeur de Sciences au Lyce Technique Michel-Lucius M. Ren Weber, Professeur-Ingnieur au Lyce Technique des Arts et Mtiers M. Jean-Marie Ottel, Professeur-Ingnieur au Lyce Technique Ecole de Commerce et Gestion

P. Stockreiser

Prface

Ce document est un support pour les cours en informatique des classes de 13CG. La structure et le contenu des chapitres de ce document ont t synchroniss avec le contenu du programme tabli par la CNPI. Le cours met l'accent sur les concepts et techniques fondamentaux des bases de donnes relationnelles, ainsi que sur la conception et l'implmentation de systmes informatiques lmentaires de gestion. Le cours est subdivis en quatre parties: PARTIE 1 : Modlisation d'un systme d'information PARTIE 2 : Exploitation des bases de donnes relationnelles PARTIE 3 : Protection des donnes PARTIE 4 : Travaux sur logiciel (chapitres 1 4) (chapitres 5 9) (chapitre 10) (chapitre 11)

Ce cours n'est pas du tout un manuel d'utilisation de MS-Access, de Win'Design respectivement d'un autre logiciel. Le cours se limite aux concepts importants en relation avec le sujet. Dans les rubriques TP, seulement les manipulations les plus importantes sont mentionnes. Symboles utiliss l'intrieur de cet ouvrage: Paragraphe important Exercice Exercice TP

Remarque pdagogique

Manipulation sur logiciel

Table des matires:1. Analyse des systmes d'information............................................................................91.1 Introduction...................................................................................................................9 1.2 Dfinition de l'information et des systmes d'information.......................................10 1.3 Les donnes, les traitements et les informations.......................................................11 1.4 La reprsentation informatique des donnes............................................................12

2. Dmarche de modlisation des donnes...................................................................132.1 Le groupe d'tude (angl. Project group)...................................................................13 2.2 Les tapes.....................................................................................................................14 2.3 Sources d'information.................................................................................................15

3. Mthode de modlisation des donnes......................................................................163.1 Dfinition......................................................................................................................16 3.2 Pourquoi modliser ?..................................................................................................18 3.3 Le modle conceptuel des donnes (MCD)................................................................20 3.3.1 Dfinition................................................................................................................20 3.3.2 La notion d'entit.....................................................................................................21 3.3.3 La notion de proprit.............................................................................................22 3.3.4 La notion d'identifiant.............................................................................................24 3.3.5 La notion de relation ...............................................................................................25 3.3.5.1 Dfinition..........................................................................................................25 3.3.5.2 Les cardinalits d'une relation...........................................................................26 3.3.5.3 Proprits d'une relation....................................................................................30 3.3.6 Exemple "KaafKaaf"...............................................................................................31 3.3.7 Exemple "Gestion d'cole".....................................................................................35 3.3.8 Lutilisation dune relation ternaire.........................................................................37 3.3.9 Les contraintes d'intgrit fonctionnelle (CIF)........................................................38 3.3.10 Exercices...............................................................................................................40 3.3.11 Cas particuliers du MCD.......................................................................................48 3.3.11.1 Plusieurs relations diffrentes entre deux entits............................................48 3.3.11.2 Relation rflexive et rle d'une patte de relation.............................................48 3.3.11.3 La notion d'identifiant relatif..........................................................................49 3.3.11.4 Historisation...................................................................................................50 3.3.12 Exercices...............................................................................................................51 3.4 Le modle logique des donnes (MLD).....................................................................57 3.4.1 Dfinition................................................................................................................57 3.4.2 Rgles de transformation du MCD au MLD............................................................59 3.4.2.1 Transformation des entits................................................................................59 3.4.2.2 Transformation des relations binaires du type (x,n) (x,1)...............................59 3.4.2.3 Transformation des relations binaires du type (x,1) (x,1)..............................60 3.4.2.4 Transformation des relations binaires du type (x,n) (x,n)...............................61 3.4.2.5 Transformation des relations ternaires.............................................................61 3.4.2.6 Transformation de plusieurs relations entre 2 entits........................................62 3.4.2.7 Transformation des relations rflexives............................................................62 3.4.2.8 Transformation de l'identifiant relatif...............................................................63 3.4.2.9 Transformation de l'historisation .....................................................................64 3.4.3 Exemple "KaafKaaf"...............................................................................................66 3.4.4 Exercices................................................................................................................67 3.5 Le modle physique des donnes (MPD)...................................................................70

3.5.1 Dfinition................................................................................................................70 3.5.2 Passage du MLD au MPD.......................................................................................70 3.5.3 Les contraintes d'intgrit........................................................................................74 3.5.3.1 Les types de contraintes d'intgrit...................................................................74

4. Utilisation d'un outil de modlisation......................................................................784.1 Dfinition......................................................................................................................78 4.2 Fonctionnalits ............................................................................................................80

5. Les systmes de gestion de bases de donnes...........................................................825.1 Dfinitions ...................................................................................................................82 5.2 Un peu d'histoire.........................................................................................................84 5.3 Les composants d'une base de donnes relationnelle...............................................86 5.4 Structures physiques et logiques................................................................................88 5.5 Les rseaux informatiques..........................................................................................90 5.6 L'approche Client/Serveur.........................................................................................94 5.6.1 La priode des ordinateurs du type "Mainframe".....................................................94 5.6.2 L'approche Client/Serveur.......................................................................................96

6. Les tables (angl. tables)..............................................................................................986.1 Dfinition......................................................................................................................98 6.2 Les champs d'une table.............................................................................................100 6.3 Cl primaire...............................................................................................................102 6.4 Relations entre tables - cl trangre.......................................................................105 6.5 Index...........................................................................................................................106

7. Les requtes (angl. queries).....................................................................................1087.1 Dfinition....................................................................................................................108 7.2 Introduction au langage SQL ..................................................................................110 7.2.1 Gnralits............................................................................................................110 7.2.2 Syntaxe SQL de base ............................................................................................111 7.2.3 Les critres de slection.........................................................................................114 7.2.4 Comparaison un filtre.........................................................................................116 7.2.5 Les oprateurs logiques.........................................................................................117 7.2.6 Valeur zro, chane vide et valeur indtermine (NULL)......................................120 7.2.7 Comparaison une fourchette de valeurs..............................................................121 7.2.8 Comparaison une liste de valeurs.......................................................................123 7.2.9 Dfinir l'ordre d'une requte de slection...............................................................124 7.2.10 Les valeurs calcules...........................................................................................127 7.2.11 Les fonctions d'agrgation...................................................................................128 7.2.12 Requtes sur les groupes.....................................................................................130 7.2.12.1 La clause GROUP BY..................................................................................130 7.2.12.2 La clause HAVING......................................................................................133 7.2.13 Exercices.............................................................................................................136 7.3 Les requtes SQL multitable....................................................................................142 7.3.1 La jointure.............................................................................................................143 7.3.1.1 Exemple d'introduction...................................................................................143 7.3.1.2 Cration d'une jointure....................................................................................146 7.3.2 Auto- jointure........................................................................................................150 7.3.3 Les requtes imbriques........................................................................................153

7.3.3.1 La requte imbrique renvoie une seule valeur................................................153 7.3.3.2 La requte imbrique renvoie un ensemble de valeurs.....................................156 7.3.4 Exercices SQL.......................................................................................................161 7.4 La mthode QBE.......................................................................................................170

8. Les formulaires (angl. forms)..................................................................................1728.1 Dfinition....................................................................................................................172 8.2 Types de formulaires.................................................................................................176 8.3 Cration d'un formulaire.........................................................................................178

9. Les rapports (angl. reports).....................................................................................1809.1 Dfinition....................................................................................................................180 9.2 Cration d'un rapport..............................................................................................186

10. Scurit des donnes..............................................................................................18810.1 Dfinition..................................................................................................................188 10.2 Les manipulations malveillantes............................................................................188 10.2.1 Dfinition............................................................................................................188 10.2.2 La protection contre les manipulations malveillantes..........................................188 10.3 Les accs non autoriss...........................................................................................190 10.3.1 Dfinition............................................................................................................190 10.3.2 La protection contre les accs non autoriss........................................................190 10.3.2.1 Mot de passe.................................................................................................190 10.3.2.2 Droits d'accs aux objets d'une BD...............................................................190 10.3.2.3 Scurisation du systme d'exploitation..........................................................193 10.4 Les incohrences et pertes de donnes accidentelles.............................................194 10.4.1 Dfinition............................................................................................................194 10.4.2 La protection contre les incohrences et pertes de donnes accidentelles............195 10.4.2.1 Les pertes provoques par des erreurs humaines...........................................195 10.4.2.2 Les pertes des donnes en mmoire interne (RAM)......................................196 10.4.2.3 Les pertes des donnes stockes sur disque dur.............................................196 10.4.3 Les mesures de prvention contre la perte de donnes.........................................196 10.4.3.1 La sauvegarde des donnes (angl. backup)....................................................196 10.4.3.2 La rplication du disque dur (angl. mirroring)..............................................199 10.4.3.3 Rplication du serveur (angl. Backup server)................................................199 10.4.3.4 Les systmes RAID-5...................................................................................199

11. Travaux sur logiciel...............................................................................................20111.1 TP No 1 : Introduction MS-Access ...................................................................201 11.2 TP No 2 : Les tables................................................................................................205 11.3 TP No 3 : Les requtes portant sur une table......................................................209 11.4 TP No 4 : Les relations et les requtes multitable...............................................226 11.5 TP No 5 : Les formulaires (Cration l'aide d'un assistant et utilisation).......237 11.6 TP No 6 : Les formulaires (Cration sans assistant)...........................................243 11.7 TP No 7 : Les formulaires bass sur plusieurs tables..........................................250 11.8 TP No 8 : Les rapports ..........................................................................................265 11.9 TP No 9 : Les rapports bass sur plusieurs tables...............................................273

12. Annexes...................................................................................................................277

12.1 Bibliographie...........................................................................................................278 12.2 Sites sur Internet.....................................................................................................280 12.3 Index.........................................................................................................................281

Informatique 13CG

Modlisation d'un systme d'information

Partie 1 : Modlisation d'un systme d'information

Pierre Stockreiser

8

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

1.

Analyse des systmes d'information

1.1 IntroductionLa comptitivit d'une entreprise ainsi que sa valeur sur le march sont dtermines par plusieurs lments, d'une importance diffrente selon le secteur d'activit. On peut gnralement regrouper ces lments en deux classes: 1. Les lments matriels L'infrastructure Les supports financiers 2. Les lments intellectuels La comptence des employs La motivation des employs Le recueil et l'exploitation optimale des informations utiles Depuis quelques annes, les responsables des entreprises (banques, assurances, industrie etc. ) ont davantage reconnu et admis que la gestion et l'exploitation des informations sont un facteur de comptitivit ne pas ngliger. Le dveloppement rapide de l'informatique a donn aux entreprises la possibilit d'utiliser des moyens avancs et puissants pour grer et exploiter de trs grands volumes de donnes. Il y a quelques annes, le domaine de la gestion informatique des donnes tait rserv aux informaticiens. Actuellement, les tendances l'intrieur des entreprises ont chang de faon ce que tous les employs soient de plus en plus impliqus dans les diffrents procds lis la gestion et l'exploitation des donnes. De cette faon, un certain niveau de connaissance des principes et des outils standards de l'informatique est aujourd'hui requis pour la plupart des postes disponibles dans les entreprises. Toutefois, il ne suffit pas d'utiliser les ressources informatiques les plus sophistiques pour exploiter au mieux les donnes. En parallle avec les outils informatiques utiles pour grer des donnes, tels que les ordinateurs de plus en plus puissants et les logiciels adapts (SGBD, Tableur etc.), ont t dveloppes des mthodes d'analyse et de conception de systmes d'information. Ces mthodes nous offrent la possibilit d'analyser un systme d'information naturel, tel que par exemple la gestion des livres d'une librairie ou la gestion des sinistres d'une compagnie d'assurances, de concevoir ensuite un modle qui reprsente ce systme et d'implmenter finalement un systme informatique, bas sur ce modle.

Pierre Stockreiser

9

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

1.2 Dfinition de l'information et des systmes d'informationUne information est un lment qui permet de complter notre connaissance sur une personne, un objet, un vnement . Exemple: Le nom d'une personne est une information concernant cette personne. La couleur d'une voiture est une information concernant cette voiture. La date de la fte scolaire est une information concernant cet vnement. Un systme d'information est constitu par l'ensemble des informations relatives un domaine bien dfini. Exemple: Toutes les informations relatives la gestion d'une librairie constituent le systme d'information de cette librairie. Ce systme peut couvrir le simple stockage des livres, mais galement la gestion des commandes, des ventes et mme des clients. Un systme d'information ne doit pas ncessairement tre informatis. Bien que la plupart des systmes actuels se basent sur la technologie de l'informatique, il existe encore des systmes d'information o l'information est stocke, manipule et communique l'aide de moyens "traditionnels" tels que armoires, classeurs, calculatrices, fiches sur papier etc. . Un systme d'information existe indpendamment des techniques informatiques. Le systme d'information ne doit pas tre confondu avec le systme informatique qui est constitu par les lments suivants: Les ordinateurs Les programmes Les structures de donnes (Fichiers, Bases de donnes)

Dans ce chapitre nous allons dcouvrir une dmarche d'informatisation, qui nous permet de modliser un systme d'information et de le reprsenter l'aide d'un systme informatique. Le but de cette dmarche est de concevoir des systmes stables et optimiss en termes de performance, de fiabilit et de convivialit.

Pierre Stockreiser

10

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

1.3 Les donnes, les traitements et les informationsBien que les deux termes "informations" et "donnes" soient souvent utiliss comme synonymes1, il existe une diffrence subtile entre eux. Prenons un exemple: Dans une librairie, un client demande au vendeur si le livre "L'tranger" (Albert Camus) est disponible en stock. Le vendeur conseille la base de donnes de la librairie l'aide de son ordinateur et confirme au client que le livre est disponible. Le vendeur a donc donn au client l'information que le livre est en stock. Afin de pouvoir donner cette information, le vendeur a du consulter les donnes qui reprsentent le stock de la librairie. Le fait de consulter le stock constitue un traitement sur les donnes du stock.

Nous pouvons gnraliser: Informations entrantes Informations sortantes

Systme d'information

Un systme d'information contient les donnes et les traitements ncessaires pour assimiler et stocker les informations entrantes et produire les informations sortantes. Dans les systmes d'information nous retrouvons gnralement les traitements suivants: Consultation des donnes; Ajout de donnes; Suppression de donnes; Modification de donnes. Exemple: Le propritaire d'une vidothque reoit une livraison avec des nouvelles cassettes vido. Pour chaque cassette vido, il lit le titre, la langue et la dure et sauvegarde ces informations dans la base de donnes de la vidothque. Il a donc utilis un traitement d'ajout de donnes afin de transformer les informations entrantes (titre, langue, dure) en donnes.

1

Deux mots sont synonymes quand ils dsignent une mme chose.

Pierre Stockreiser

11

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

1.4 La reprsentation informatique des donnesLes donnes d'un systme d'information peuvent tre stockes et manipules l'aide d'un outil informatique spcialis dans ce domaine. Actuellement les Systmes de Gestion de Bases de Donnes (SGBD) constituent le type de logiciel le mieux adapt pour implmenter la plupart des systmes d'information. Sachant que les tables forment la base de stockage d'une base de donnes, on peut reprsenter n'importe quel systme d'information par un ensemble de tables dont chacune contient un certain nombre de champs de donnes. Nous allons voir qu'on peut mme dfinir des liens entre ces tables via des champs communs.

Pierre Stockreiser

12

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

2.

Dmarche de modlisation des donnes

2.1 Le groupe d'tude (angl. Project group)Un systme d'information qui n'est pas trop complexe et volumineux en terme d'informations, peut facilement tre informatis par une seule personne, qui ne doit pas ncessairement tre un informaticien. Il suffit d'tre un peu familiaris avec une mthode de modlisation, et de savoir manipuler un SGBD pour raliser une implmentation informatique, cohrente et fonctionnelle, d'un tel systme d'information. Ds que le systme d'information atteint une certaine envergure (par exemple: informatiser la gestion des sinistres d'une compagnie d'assurances), un groupe d'tude est gnralement cr. Ce groupe ne devra en aucun cas contenir seulement des informaticiens mais galement: Un ou plusieurs reprsentants des futurs utilisateurs du systme informatis (Par exemple: Un employ du service qui gre les sinistres) ; Un ou plusieurs reprsentants de chaque dpartement impliqu (Par exemple: Un employ du service des contrats ) ; Un reprsentant de la direction.

Gnralement, un responsable du groupe (angl. Project Manager) est nomm, afin de coordonner les travaux effectus par le groupe et de suivre le droulement partir de l'analyse jusqu' la mise en place du systme informatis.

Pierre Stockreiser

13

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

2.2 Les tapesChaque projet d'informatisation, qu'il soit excut par une seule personne, ou gr par un groupe d'tude, prvoit plusieurs tapes. En gnral, nous avons les tapes suivantes: 1. Analyse de la situation existante et des besoins

2. Cration d'une srie de modles qui permettent de reprsenter tous les aspects importants

3. A partir des modles, implmentation d'une base de donnes

Pierre Stockreiser

14

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

2.3 Sources d'informationLa premire tape de chaque projet est donc l'analyse de l'existant et des besoins. Afin de pouvoir raliser une analyse correcte sur laquelle on peut baser la suite du projet, il faut d'abord identifier les sources d'information, et puis collectionner exactement les informations importantes pour le projet. Sources d'information primaires: L'interview avec les utilisateurs; L'tude de documents provenant Bons de commandes, Factures ).

du

systme

d'information

actuel

(Rapports,

Pour les projets d'une certaine envergure s'ajoutent: L'interview avec les responsables des services impliqus; Pourvu que la tche d'analyse soit partage entre plusieurs membres du groupe d'tudes, il faut coordonner les actions et comparer les rsultats avec les autres membres. Pour les projets qui se basent sur un systme dj partiellement informatis s'ajoute: L'tude de l'application informatique existante.

Pierre Stockreiser

15

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.

Mthode de modlisation des donnes

3.1 DfinitionNous avons vu que la dmarche classique d'un projet informatique comprend les tapes suivantes: 1. Analyse de la situation existante et des besoins; 2. Cration d'une srie de modles, qui permettent de reprsenter tous les aspects importants; 3. A partir des modles, implmentation d'une base de donnes. En ce qui concerne la premire tape, nous n'allons pas introduire de vraies rgles, mais simplement utiliser nos connaissances de gestion d'une entreprise, notre esprit ouvert et mme notre fantaisie pour analyser correctement la situation existante et les besoins des utilisateurs. Le rsultat de l'analyse est gnralement un ou plusieurs documents, qui contiennent les indications principales sur le fonctionnement dsir du systme informatis. Le document d'analyse contient souvent dj des prototypes de certains documents importants, que le futur systme devra tre capable de produire. Une fois que l'analyse est termine, il s'agit d'laborer une srie de modles, bass sur le document d'analyse. Ces modles nous permettront plus tard d'implmenter une base de donnes, qui contiendra toutes les informations ncessaires au bon fonctionnement du systme informatis. La cration de ces modles se fait selon une certaine mthode. Nous allons baser notre cours sur la mthode MERISE (Mthode d'Etude et de Ralisation Informatique de Systmes d'Entreprise), qui a t dveloppe pendant les annes '70 sous l'impulsion du ministre franais de l'industrie. Merise est aujourd'hui largement rpandue au Luxembourg, mais galement dans beaucoup d'autres pays europens. MERISE prvoit une conception par niveaux, et dfinit pour cela 3 niveaux essentiels: 1. Le niveau conceptuel, qui se base directement sur l'analyse, dcrit l'ensemble des donnes du systme d'information, sans tenir compte de l'implmentation informatique de ces donnes. Ce niveau, qui reprsente donc la signification des donnes, se traduit par un formalisme que nous appelons: Modle conceptuel des donnes (MCD) 2. Le niveau logique, qui se base sur le modle conceptuel des donnes, prend en considration l'implmentation du systme d'information par un SGBD. Ce niveau introduit la notion des tables logiques, et constitue donc le premier pas vers les tables des SGBD. Ce niveau est reprsent par le: Modle logique des donnes (MLD) 3. Le niveau physique, qui se base sur le modle logique des donnes, contient finalement les tables dfinies laide dun SGBD spcifique (p.ex. MS Access, dBASE, Oracle ). Ce niveau est reprsent par le:

Pierre Stockreiser

16

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Modle physique des donnes (MPD)

Voici donc les 4 tapes ncessaires pour traduire un systme d'information naturel en une base de donnes:

Analyse Analyse

MCD MCD

MLD MLD

MPD MPD

Pierre Stockreiser

17

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.2 Pourquoi modliser ?Nous avons vu quune base de donnes est constitue par un ensemble de tables qui contiennent toutes les donnes de la base. Une mthode de modlisation nous permet de trouver le bon nombre de tables pour une base de donnes et de dterminer quelles donnes sont reprsentes lintrieur de quelle table. Pour linstant, il nous suffit de savoir quune table est un ensemble denregistrements, dont chacun est compos par les mmes champs de donnes. On pourrait comparer une table une liste en MS-Excel1. Les tables sont tudies en dtail dans le chapitre 6. Voici un exemple dune table : Un champ de donnes

MarqueBMW Ford BMW ...

Modle525i Orion 320i ...

Cylindre2500 1800 2000 ...

Poids1360 1080 1200 ... Un enregistrement

A laide dun exemple prcis, nous allons voir pourquoi il est important de bien rflchir sur le nombre de tables dune base de donnes et sur la structure de chaque table. Il sagit de crer une base de donnes pour une caisse de maladie. On veut stocker tous les employs-membres de la caisse avec leur socit-employeur. Afin de faciliter lexercice, nous allons uniquement stocker les informations suivantes pour chaque employ: le numro de lemploy le nom de lemploy le prnom de lemploy le numro de son entreprise le nom de son entreprise la localit o se trouve lentreprise

A premire vue, la solution suivante simpose :

NoEmp

Nom_Emp

Prnom_Emp

NoEntr

Nom_Entr

Localit

102 Boesch Emil 1 Schaffgaer S. r.l. Differdange 103 Midd Erny 2 Gudjr Colmar Berg 104 Witz Evelyne 1 Schaffgaer S. r.l. Differdange 105 Kuhl Menn 1 Schaffgaer S. r.l. Differdange 106 Super Jhemp 2 Gudjr Colmar Berg ... ... ... ... ... ... Nous voyons ici uniquement quelques enregistrements. Une caisse de maladie ayant des miliers de membres, et cette table possdant un enregistrement par membre, on peut bien simaginer la taille relle de la table.

1

voir cours de la classe 12CG

Pierre Stockreiser

18

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Hors cette solution, bien quelle soit correcte dans le sens le plus large du terme, nous impose un certain nombre de problmes .

Exercice 1Essayez de trouver en discussion quelques problmes qui peuvent se manifester lors du travail journalier avec cette table.

Exercice 2Comment est-ce quon pourrait viter ces problmes sans toutefois perdre des informations ?

Pierre Stockreiser

19

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.3 Le modle conceptuel des donnes (MCD)3.3.1 DfinitionEn se basant sur un document d'analyse, le modle conceptuel des donnes (MCD) fait rfrence tous les objets du systme d'information et des relations entre ces objets. Le formalisme utilis dans ce modle est encore connu sous le nom de "Schma Entit-Relation". Ce formalisme se base autour de 3 concepts principaux, les entits, les relations et les proprits. Voici par exemple un MCD qui reprsente une entreprise avec ses employs.

Entit

Relation

Proprit

Nous allons par la suite dtailler le rle de ces 3 concepts de base du MCD.

Pierre Stockreiser

20

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.3.2 La notion d'entitUne entit permet de modliser un ensemble d'objets concrets ou abstraits de mme nature. Dans l'exemple du chapitre prcdent , l'entit Entreprise spcifie donc l'ensemble des entreprises, qui nous intressent dans le contexte de notre systme d'information. De mme, l'entit Employs reprsente tous les employs de notre systme d'information.

Une entit est caractrise par son nom et ses proprits. Reprsentation graphique:

Prenons par exemple une entit Client:

Voici quelques exemples de clients:

Chacun de ces clients reprsente une occurrence de l'entit Client.

Pierre Stockreiser

21

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.3.3 La notion de propritUne proprit est une donne lmentaire d'une entit. Une proprit est unique dans un MCD; et ne peut pas tre rattache plusieurs entits diffrentes. Reprsentation graphique d'une proprit: Le nom de la proprit est indiqu l'intrieur du rectangle qui reprsente l'entit correspondante. Voici quelques exemples de proprits: Pour une entit Client: Nom du client No.Tl. du client Pour une entit Salari: Nom du salari No. Matricule Salaire mensuel Pour une entit Contrat d'assurance: No Contrat Type d'assurance Montant assur A l'intrieur des occurrences, les proprits prennent des valeurs Exemple: L'entit Client est dfinie par les proprits suivantes:

A l'intrieur de chaque occurrence, chaque proprit prend une valeur, qui est dans la plupart des cas une valeur numrique, une valeur sous forme de texte ou encore une date.

Pierre Stockreiser

22

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

La proprit Nom prend p.ex. les valeurs "Meier", "Muller" et "Weber" dans les 3 occurrences. A lintrieur de chaque occurrence, chaque proprit ne prend quune seule valeur au maximum. Le client 002 par exemple ne peut pas avoir 2 adresses.

Pierre Stockreiser

23

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.3.4 La notion d'identifiantAfin de pouvoir distinguer les diffrentes occurrences d'une mme entit, l'entit doit tre dote d'un identifiant. L'identifiant est compos d'une ou de plusieurs proprits de l'entit. Chaque occurrence dune entit doit avoir une valeur diffrente pour lidentifiant Le choix d'un identifiant correcte est trs important pour la modlisation: Comme choix pour l'identifiant d'une entit nous distinguons gnralement 3 possibilits: 1. Une proprit naturelle Exemple: Le nom d'un pays pour une entit Pays 2. Une proprit artificielle qui est invente par le crateur du MCD Exemple: Le numro d'un client pour une entit Client 3. Une proprit compose d'autres proprits naturelles Exemple: Le nom et la localit pour une entit Entreprise Reprsentation graphique de l'identifiant d'une entit: La ou les proprits qui constituent l'identifiant d'une entit sont soulignes.

ExerciceIndiquez graphiquement les entits qui reprsentent : 1. les passagers dun vol dune socit arienne. Nous supposons que la socit garde ces informations aprs le vol ; 2. les rsultats sportifs de lentrainement dun coureur ; 3. les mdicaments dune pharmacie.

Pierre Stockreiser

24

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.3.5 La notion de relation3.3.5.1 Dfinition

Une relation1 dcrit un lien entre deux ou plusieurs entits. Chaque relation possde un nom, gnralement un verbe l'infinitif. Bien qu'une relation n'ait pas d'identifiant propre, elle est implicitement identifie par les identifiants des entits auxquelles elle est lie. Nous distinguons deux types de relations: les relations binaires, qui sont lies 2 entits; les relations ternaires, qui sont lies 3 entits. Exemple d'une relation binaire:

L'occurrence d'une relation est reprsente par les occurrences des entits lies la relation. Voici quelques occurrences de la relation Ecrire.

Une occurrence dune relation est uniquement dtermine par les occurrences des entits lies la relation. Pour chaque occurrence dune relation, lidentifiant compos des identifiants des entits lies la relation doit tre unique.1

dans certains livres on parle encore dune association pour dsigner une relation

Pierre Stockreiser

25

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.3.5.2

Les cardinalits d'une relation

Une relation est lie chacune de ses entits par une patte. Sur la patte, on indique les cardinalits. Les cardinalits prcisent la participation de l'entit concerne la relation. Le premier nombre indique la cardinalit minimale, le deuxime la cardinalit maximale.

Patte

Cardinalit minimale

Cardinalit maximale

Quelle est la signification des cardinalits ? Exemple 1:

Dans le MCD prcdent, entre l'entit Client et la relation Passer, nous avons les cardinalits suivantes: Cardinalit minimale = 1 , ce qui veut dire que chaque client passe au moins une commande. Cardinalit maximale = n , ce qui veut dire que chaque client peut passer plusieurs (n) commandes.

Pierre Stockreiser

26

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Entre l'entit Commande et la relation Passer, nous retrouvons les cardinalits suivantes: Cardinalit minimale = 1 , donc chaque commande est passe par au moins un client. Cardinalit maximale =1 , chaque commande est passe au maximum par un seul client. Exemple 2:

Entre l'entit Employ et la relation Utiliser, nous avons: Cardinalit minimale = 0 : Certains employs n'utilisent pas d'ordinateur Cardinalit maximale = n:

Entre l'entit Ordinateur et la relation Utiliser, nous avons: Cardinalit minimale = 1 : Cardinalit maximale = n :

De faon gnrale, on peut dire: La cardinalit minimale exprime le nombre minimum de fois qune occurrence d'une entit participe une relation. Cette cardinalit est gnralement 0 ou 1. Cardinalit minimale = 0 : Certaines occurrences de l'entit ne participent pas la relation Cardinalit minimale = 1 : Chaque occurrence de l'entit participe au moins une fois la relation La cardinalit maximale exprime le nombre maximum de fois qune occurrence d'une entit participe une relation. Cette cardinalit vaut souvent 1 ou n, avec n indiquant une valeur >1 mais pas connue priori. Cardinalit maximale = 1 : Chaque occurrence de l'entit participe au maximum une seule fois la relation. Cardinalit maximale = n : Chaque occurrence de l'entit peut participer plusieurs fois la relation.

Pierre Stockreiser

27

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

En pratique, afin de dterminer les bonnes cardinalits, le concepteur doit se rfrer aux rsultats de l'analyse. Exemple 3: Pour les deux cas suivants, on peut affirmer qu'une commande est toujours passe par au moins un client. Une commande est galement passe au maximum par un client. Une commande est donc toujours passe par un et un seul client. Un client passe au moins une commande et au maximum plusieurs (n) commandes. Cette modlisation ne tient pas compte des clients qui ne passent aucune commande. Un client est uniquement considr comme tel s'il passe au moins une commande.

Un client peut passer aucune commande et au maximum plusieurs (n) commandes. Cette modlisation tient compte des clients qui ne passent aucune commande.

Laquelle des deux modlisations est correcte ?

Pierre Stockreiser

28

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Les deux modlisations sont bien sr correctes. Le choix dpend uniquement du rsultat de l'analyse. Imaginez que vous avez fait pendant l'analyse une interview avec un futur utilisateur du systme. Il vous a dit qu'il veut enregistrer dans son systme des clients potentiels, c..d. des personnes dont la compagnie dispose des donnes personnelles, mais qui n'ont encore jamais pass de commande auprs de la compagnie. La compagnie dsire enregistrer les donnes de ces personnes afin de leur envoyer de temps en temps des publicits. Dans ce cas vous devez opter pour la deuxime modlisation.

Exemple 4:

Interprtez cette modlisation :

On dit que Client est l'entit indpendante par rapport la relation disposer (cardinalit minimale = 0) , tandis que Carte_membre est l'entit dpendante par rapport la relation disposer (cardinalit minimale = 1). Une occurrence d'un client peut donc trs bien exister sans carte de membre, mais une carte de membre ne peut jamais exister sans client. La cardinalit minimale nous indique donc si une entit est indpendante ou dpendante. On dit qu'une entit est indpendante par rapport une relation lorsque sa cardinalit minimale vaut 0, et dpendante par rapport une relation lorsque sa cardinalit minimale vaut 1. Une relation ne peut pas tre lie uniquement des entits dpendantes ayant en plus une cardinalit maximale de 1 ! ! !

Pierre Stockreiser

29

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

La modlisation suivante par exemple n'est pas correcte:

Dans ce cas, il faut runir les proprits des deux entits dans une seule.

3.3.5.3

Proprits d'une relation

Une relation peut gnralement tre dote de proprits. Exemple:

ExercicePourquoi est-ce quon ne peut pas associer la proprit Anne une des entits ?

Attention: Cette proprit peut mme devenir une partie de l'identifiant. Dans ce cas, elle doit tre souligne.

Pierre Stockreiser

30

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exemple:

Comme un professeur peut avoir la mme classe pendant plusieurs annes (p.ex. Jos Weber 12CG2), un identifiant compos de No_Matricule et Code_Classe n'est pas suffisant, puisquil ne garantit pas lunicit. On y ajoute l'Anne.

Attention: Une relation cardinalit (1,1) n'est jamais porteuse de proprits. Dans ce cas, les proprits migrent dans l'entit portant cette cardinalit (1,1). Exemple:

Cette modlisation n'est pas correcte ! Chaque facture ne possde qu'une et une seule date d'mission, ce qui fait que la proprit Date_mission doit migrer dans l'entit Facture. Voici la modlisation correcte:

3.3.6 Exemple "KaafKaaf"PARTIE 1

Pierre Stockreiser

31

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

La socit "KaafKaaf" dsire informatiser son systme de facturation. Les factures devraient se prsenter de la faon suivante:

Crez un MCD, qui permet de modliser correctement le systme d'information ncessaire, sachant que: Un client peut bien sr recevoir plusieurs factures, mais il est uniquement considr comme tel partir du moment o il reoit sa premire facture. Une facture concerne un et un seul client.

Remarque: Bien que le numro du client n'apparaisse pas en tant que tel sur la facture, il est prfrable d'ajouter cette proprit artificielle l'entit Client, et de la dfinir comme identifiant de cette entit. Cela nous empche de devoir dfinir un identifiant compos de trop de proprits.

Pierre Stockreiser

32

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

PARTIE 2Il s'agit d'tendre le MCD de la partie 1. Le responsable de la facturation de la socit dsire rendre les factures plus informatives. Comme un client peut acheter plusieurs articles diffrents en mme temps, la facture devrait indiquer pour chaque article le numro , un libell, le prix unitaire, la quantit vendue et le prix total pour ce type d'article. Voici l'aspect que la facture devrait avoir:

Proposez un nouveau MCD qui reflte ces modifications, en respectant que: Tous les articles disponibles sont stocks (p.ex. No=234 Libell="Marteau" PU=470 Luf.). Mme si un article n'est pas encore considr par une facture, il existe dans le systme d'information.

Pierre Stockreiser

33

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Remarques: L'entit Facture ne contient plus la proprit Montant. Il existe une rgle gnrale de conception qui dit: Aucune proprit qui peut tre calcule partir d'autres proprits existantes, ne devra tre stocke dans le MCD. Pour la mme raison, on n'a pas besoin de modliser explicitement le prix payer pour l'achat d'une quantit d'articles donns. Le prix pour chaque article figurant sur la facture peut tre calcul partir du prix unitaire et de la quantit Nous retrouvons ici le cas d'une relation qui a une proprit. En fait, la proprit Quantit n'est pas spcifique un article, mais l'achat de cet article l'aide d'une facture. Cette faon de modliser la situation est la plus facile, mais il existe une alternative. On peut introduire l'entit abstraite Ligne_de_facture, qui reprsente une ligne de dtail d'une facture, p.ex celle pour le marteau.

Pierre Stockreiser

34

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.3.7 Exemple "Gestion d'cole"PARTIE 1Dans une cole, on veut informatiser le systme d'information qui gre les classes. Elaborez un MCD sachant que: Un lve est caractris par son no. matricule, son nom et prnom, ainsi que sa date de naissance. Une classe est caractrise par le nom de la classe (p.ex 13CG2) et par une indication du cycle (valeurs possibles: "infrieur", "moyen", "suprieur"). Il faudra prvoir de connatre la frquentation des classes des lves sur plusieurs annes conscutives. Un lve enregistr dans le systme frquente au moins une classe au cours des annes.

PARTIE 2Il s'agit maintenant de concevoir une extension au MCD prcdent qui permet de reprsenter la situation suivante: La direction de l'cole dsire galement saisir tous les professeurs dans le systme d'information. Un professeur est caractris par un code interne unique (p.ex. Jemp Muller aura le code JEMU), son nom et prnom et la matire qu'il enseigne. Nous supposons que chaque professeur enseigne une seule matire. Modlisez le fait que chaque classe est enseigne chaque anne par un ou plusieurs enseignants. Un enseignant peut bien sr donner des cours dans plusieurs classes, mais peut galement ne pas donner des cours pendant une ou plusieurs annes.

Pierre Stockreiser

35

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Pierre Stockreiser

36

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.3.8 Lutilisation dune relation ternaireLors de lintroduction des relations nous avons dj mentionn la notion de relation ternaire. Une relation ternaire est une relation laquelle sont lie 3 entits. Bien que dans la pratique la plupart des relations soient binaires (2 entits) il existe cependant des situations o lutilisation dune relation ternaire simpose. Exemple : A partir des 3 entits Professeur (CodeProf, Nom, Prnom); Matire(CodeMatire, Libell) et Classe(Nom,Cycle) il sagit de crer un MCD qui renseigne sur le fait quelle matire est enseigne dans quelle classe par quel professeur pour une anne scolaire donne.

ExerciceEssayez de montrer les limites/dfauts dun MCD qui reprsente lnonc de lexemple prcdent en utilisant uniquement des relations binaires.

Solution de lexemple prcdent : Voici une solution qui utilise une relation ternaire

Il existe 3 faons pour lire/interprter ce modle: Un professeur peut enseigner 1 n fois une matire dans une classe. Une matirepeut tre enseigne 1 n fois par un professeur dans une classe. Une classe peut tre enseigne 1 n fois dans une matire par un professeur.

On peut dire que chaque occurrence de la relation enseigner associe un professeur une matire et une classe pour une anne donne. Ou encore, ce modle nous permet de montrer pour chaque anne scolaire quelle matire est enseigne dans quelle classe par quel professseur. Il nest pas toujours facile de dterminer quand il faut utiliser une relation ternaire. Gnralement, on peut dj affirmer que si une ou plusieurs des entits lies une relation ternaire possdent une cardinalit maximale de 1, la modlisation nest pas optimise dans le

Pierre Stockreiser

37

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

sens quil faudrait mieux dcomposer la relation ternaire, c..d. la reprsenter par 2 relations binaires. Exemple : La direction dune chane dhtels dsire grer les sjours des clients dans les diffrents htels. Comme on peut effectivement dire "Un client effectue un sjour dans un htel" on est ammen proposer la modlisation suivante.

Il existe 3 faons pour lire/interprter ce modle: Un client Dans un htel Un sjour peut effectuer 1 n fois un sjour dans un htel. peut tre effectu 0 n fois un sjour par un client. peut tre effectu une et une seule fois par un client dans un htel.

Chaque occurrence de la relation effectuer associe donc un sjour un client et un htel. Hors, cette modlisation porte une contrainte supplmentaire, puisque la cardinalit 1,1 entre l'entit Sjour et la relation nous indique que pour chaque occurrence de Sjour il ne peut exister qu'une et une seule occurrence de la relation. Donc chaque sjour est associ une et une seule fois une combinaison client/htel. Dans ce cas il vaut mieux dcomposer la relation ternaire de la faon suivante:

3.3.9 Les contraintes d'intgrit fonctionnelle (CIF)Quand on dtermine entre une relation et une entit une cardinalit qui prsente les valeurs 0,1 ou 1,1, alors cette relation est particulire et on dit qu'elle reprsente une Contrainte d'Intgrit Fonctionnelle (CIF).

Pierre Stockreiser

38

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exemple:

La relation Obtenir reprsente une CIF. Une CIF indique que l'une des entits est totalement dtermine par la connaissance de l'autre. Dans notre exemple on peut dire que connaissant une facture bien prcise, on connat avec certitude le client correspondant. Comment est-ce qu'on reprsente une CIF dans un MCD ? Une CIF est reprsente par une flche sur la patte oppose celle ayant une cardinalit 0,1 ou 1,1. L'entit qui est attache cette patte est appele entit cible de la CIF, tandis que l'autre entit constitue l'entit mettrice de la CIF.

Pierre Stockreiser

39

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.3.10

Exercices

Exercice 1Voici le rsultat simplifi d'une analyse faite auprs d'une compagnie d'assurance qui dsire informatiser la gestion des contrats auto. Un client peut assurer plusieurs voitures auprs de la compagnie. Chaque voiture est assure par un seul contrat. Un contrat assure une seule voiture. En ce qui concerne un client, la compagnie dsire connatre son nom, prnom, adresse complte, numro de tlphone ainsi qu'un numro de compte bancaire avec indication de la banque. Chaque contrat contient un numro de contrat unique, la prime annuelle payer, la date de paiement annuel, la marque de la voiture, le modle de la voiture, le numro d'immatriculation de la voiture, la valeur de la voiture et la date d'acquisition de la voiture. En ignorant la mthode de modlisation, on pourrait crer une BD avec une seule table ayant un champ pour chaque donne indique dans l'analyse. On aurait donc les donnes des clients et des contrats dans une seule table. Quelles en seraient les inconvnients ?

Crez le modle conceptuel des donnes correspondant cette situation

Pierre Stockreiser

40

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exercice 2Le responsable d'un magasin de location de cassettes vido dsire informatiser le systme de gestion des locations. Voici les informations recueillies pendant l'analyse: Un membre est caractris par son numro membre, son nom, son prnom, son adresse ainsi que sa date de naissance. Ds que la carte de membre est paye (paiement unique), le membre est enregistr dans le systme et il peut dsormais louer des cassettes vido. Un film est caractris par un numro film, un titre, un code langue, un code genre et une dure. Le mme film peut tre disponible en plusieurs exemplaires. Un exemplaire est dtermin par un numro exemplaire ainsi que la date d'achat de l'exemplaire. Lors d'une location, un membre peut louer plusieurs films en mme temps. En principe, une location a une dure d'un jour, mais cette dure peut tre prolonge. Nous supposons qu'un membre rend tous les exemplaires lous en une seule fois. Crez le modle conceptuel des donnes

Pierre Stockreiser

41

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exercice 3Afin d'informatiser la gestion des sances du cinma Limelight, vous disposez des informations suivantes. Un film est enregistr dans le systme d'information ds que la (les) copie(s) sont arrives au cinma. A partir de ce moment, on commence programmer des sances pour le film en question. Comme le mme film n'est jamais jou dans deux sances parallles, on peut ignorer la gestion des copies. Un film est reprsent par un numro courant interne, qui lui est affect par le gestionnaire des sances. En plus, on s'intresse pour le titre, la langue et la dure du film. Lorsqu'un film apparat en plusieurs langues diffrentes, on cre dans le systme d'information simplement un enregistrement par langue. Chaque film est accompagn en gnral d'une fiche technique, qui renseigne en outre sur le systme son du film (p.ex. DOLBY, THX etc.). Cette information est importante, puisque les capacits en ce qui concerne la reproduction du son varient d'une salle dans une autre. Une salle peut supporter plusieurs systmes diffrents, tandis qu'un film est tourn en utilisant un seul systme son. Un systme son est caractris par un code identificateur ainsi qu'un libell. Le cinma dispose actuellement de 12 salles, avec 3 nouvelles salles en construction. Une salle est prise en compte dans le systme d'information, ds qu'elle est prte pour accueillir des sances. Une salle est caractrise par son numro, sa capacit ainsi que des informations concernant le support des diffrents systmes son. Le systme d'information doit permettre de vendre des tickets pour une sance donne, mme plusieurs jours en avance. La rservation des siges n'tant pas demande, il est toutefois ncessaire que le systme soit capable de prvenir un excs de la capacit d'une salle en ce qui concerne le nombre de tickets vendus. La gestion des prix pour les tickets se fait au niveau des sances, puisque le prix pour voir un mme film peut varier d'une sance une autre (p.ex. Tarif rduit les lundis 16h00). Une sance, qui se droule videmment sans une seule salle, est identifie par un numro courant.

Crez le modle conceptuel des donnes

Pierre Stockreiser

42

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exercice 4Un club de vente de livres par correspondance propose ses membres l'achat d'un ou de plusieurs livres via des bons de commandes. Pour cela, des bons de commandes ainsi qu'un catalogue sont envoys tous les membres deux fois par an. Le responsable du club dsire informatiser la gestion des commandes de livres. Voici titre d'exemple un bon de commande:

Bicherwuerm S. r.l.Commande de livresVotre numro membre : 123578 Veuillez nous indiquer des changements ventuels de vos coordonnes personnelles.

Nom: _________________ Adresse: _________________ Localit: _________________ Votre commande :

Prnom: _____________ CP: _____________ No. Tlphone: _____________

Indiquez s.v.p. pour chaque livre le numro ISBN et le titre (voir catalogue).

Numro ISBN 1 2 3 4 5Cher membre

Titre

Les livres commands vous seront envoys le plus vite possible. Une facture vous parviendra aprs livraison complte. Au moment o un membre retourne un bon de commande, une nouvelle commande est cre dans le systme. Une commande est identifie par un numro de commande et caractrise en plus par une date de commande. Les livres disponibles de la commande sont envoys tout de suite au membre. Pour devenir membre du club, il suffit d'effectuer une fois une commande via des bons de commandes lgrement modifis (p.ex. pas de numro de membre), et d'indiquer les coordonnes personnelles. Tous les livres prsents dans le catalogue sont galement stocks dans le systme. Un livre est identifi par son numro ISBN et caractris en plus par un titre, un genre (p.ex. ROMAN, HISTOIRE, BIOGRAPHIE, TECHNIQUE ...), une langue (p.ex. ALL, FRA ...), le nom de l'auteur, le prix de vente et le nombre d'exemplaires disponibles en stock.

Pierre Stockreiser

43

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Une facture est identifie par un numro de facture et caractrise en plus par une date de facture. Afin de garantir qu'une facture n'est cre et envoye au membre qui a effectu la commande correspondante qu'au moment o tous les livres de la commande ont t livrs, le systme doit tre capable de vous informer quels livres de la commande ont dj t envoys au membre et quels livres n'ont pas encore t envoys au membre (p.ex. livre non disponible en stock au moment de la rception de la commande). A chaque commande est affecte un seul employ. Un employ est identifi par un code employ (p.ex. WEBJO = Weber Jos). Le responsable du club de vente veut galement savoir quel employ (Nom & Prnom) traite quelle commande. Nous supposons que chaque employ a dj trait des commandes. De temps en temps, le responsable de la facturation dsire avoir un relev des factures non encore payes.

Crez le modle conceptuel des donnes

Pierre Stockreiser

44

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exercice 5Le commandant de la brigade municipale des Sapeurs-Pompiers d'Esch-sur-Alzette se propose d'informatiser la gestion des diffrentes interventions. Etant responsable de l'administration de la brigade, vous tes en charge de crer une base de donnes pour stocker les informations relatives aux interventions. PARTIE 1 Voici le rsultat de l'analyse prliminaire mene auprs des responsables de la brigade (p.ex. le commandant, le sous-commandant ) Chaque intervention est identifie par un numro unique Une intervention est en plus caractrise par une date, une adresse et un type d'intervention (p.ex. Incendie, Accident, Inondation) Pour chaque intervention, on veut savoir quels sapeurs-pompiers y ont particip Un sapeur-pompier est caractris par un numro d'identification, son nom, son prnom, son ge ainsi qu'un grade (p.ex. sapeur, chef de section, sous-commandant, commandant)

Travail raliser: Crez le modle conceptuel des donnes

PARTIE 2 Le commandant vous demande de reprsenter galement l'utilisation des vhicules de la brigade. Lors d'une intervention, les sapeurs-pompiers sont affects aux diffrents vhicules selon les circonstances. Jusqu' prsent, le commandant a rempli une fiche pour chaque intervention (Exemple: voir page suivante) Un vhicule est identifi par son numro d'immatriculation Un vhicule est en plus caractris par un type de vhicule (p.ex. Echelle, Transport ...), une marque, et le nombre de places disponibles

Travail raliser: Crez le modle conceptuel des donnes

Pierre Stockreiser

45

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Service Incendie Esch-sur-AlzetteFiche d'interventionNo-Intervention: 00235 Date: 11/11/1997 Type: Incendie

Adresse: 12, bvd. Hubert Clement L-4076 Esch-Sur-Alzette

Vhicule Echelle Magirus-Deutz Emilio Pegaso

Sapeur

Jang van der Heck Camion double pompe Toto Alnasso Jemp Grisu Transport Ford Transit Emil Zweemil Kathrin Allburn Metti Paletti Jacques Guddebuer Hary Beau

Signature responsable: _____________________

Pierre Stockreiser

46

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exercice 6Il s'agit d'informatiser la gestion des sjours des patients d'un hpital, ainsi que la gestion des interventions effectues par les mdecins. Jusqu' prsent, cette gestion s'est effectue l'aide des fiches suivantes.

Hpital Municipal de HeinerscheidGestion des sjours et interventionsPATIENT No Matricule: Nom: Prnom: Adresse: Code Postal: Localit: Caisse de maladie: INTERVENTION(S):Code intervention: Description: Date: Code Mdecin: Nom: Prnom:

SEJOUR No Sjour: Date Arrive: Date Dpart: Frais charge du patient: No Chambre: Etage: Classe:

Nous supposons qu'un patient occupe la mme chambre pendant toute la dure de son sjour. A part des informations concernant les mdecins, qui se trouvent dj sur les fiches, on dsire stocker dans le systme d'information le numro de tlphone et la spcialit de chaque mdecin. Les interventions sont identifies par un code et une description. L'hpital dispose d'une liste d'interventions prdfinies. (p.ex. 0236 Tomographie du crne) Les donnes actuelles sont migres dans la nouvelle application informatique.

Pierre Stockreiser

47

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.3.113.3.11.1Exemple:

Cas particuliers du MCDPlusieurs relations diffrentes entre deux entits

Une personne, qui habite dans une maison n'est pas toujours propritaire de cette maison, tandis que le propritaire d'une maison ne doit pas ncessairement habiter dans celle-ci. Il incombe donc de reprsenter le fait de possder une maison par une relation spare et le fait d'habiter dans une maison par une relation spare.

3.3.11.2Exemple 1:

Relation rflexive et rle d'une patte de relation

Une relation rflexive, est une relation, dont les deux pattes sont lies une mme entit. En gnral, la signification des pattes d'une relation rflexive devrait tre clarifie par l'indication d'un rle.

Pierre Stockreiser

48

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Nous avons donc:

Exemple 2: Afin d'obtenir une licence pour piloter un avion de ligne, un pilote doit effectuer un certain nombre de brevets. Il existe une hirarchie prdfinie en ce qui concerne les brevets (structure arborescente). A chaque fois qu'un pilote a russi un brevet, il a la possibilit d'effectuer un certain nombre d'autres brevets, qui sont dpendants du brevet russi. Tous les brevets sont dpendants du brevet de base.

3.3.11.3

La notion d'identifiant relatif

Sachant que chaque entit doit obligatoirement tre dote d'un identifiant, certaines entits ont cependant une existence compltement dpendante et lie une autre entit. Une entit A est compltement dpendante d'une entit B, c..d. qu'une occurrence de l'entit A ne peut pas exister sans tre relie une occurrence de l'entit B, lorsque les deux conditions suivantes sont vraies: 1. L'entit A est mettrice d'une CIF tandis que l'entit B est cible de la mme CIF. 2. L'entit A n'est pas indpendante par rapport la CIF (Cardinalit minimale = 1)

Pierre Stockreiser

49

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exemple:

L'entit Tche est compltement dpendante de l'entit Projet. Dans le cas d'une telle dpendance complte, on peut avoir recours un identifiant relatif. Dans notre exemple, la proprit No_Tche constitue l'identifiant relatif de l'entit Tche. Cette proprit ne remplit dans ce cas pas les conditions pour devenir identifiant absolu (Le mme numro de tche est susceptible d'apparatre dans plusieurs projets). Toutefois, on peut affirmer qu'en relation un certain numro de projet, le numro de tche est un identifiant absolu. On note cette identification relative par la lettre (R) sur la patte relie l'entit qui contient l'identifiant relatif.

3.3.11.4

Historisation

Pour certaines proprits, entits ou relations, on dsire parfois conserver les valeurs antrieures en cas de modification. On parle dans ce contexte d'historisation. Thoriquement, cette ide n'est pas tout fait en accord avec les rgles de conception d'un systme d'information. Prenons l'exemple suivant:

Pour une occurrence de cette entit, c..d. pour un assur spcifique, il existe uniquement une seule valeur pour chaque proprit. Selon cette modlisation, un assur ne peut par exemple pas habiter en mme temps dans deux localits diffrentes. En gnral, ceci ne pose aucun problme, comme un assur indique normalement une seule adresse de rfrence. Toutefois, cette modlisation ne permet pas de reprsenter le trac historique des adresses, lorsqu'un assur dmnage une ou plusieurs fois. Dans la plupart des cas, cette modlisation

Pierre Stockreiser

50

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

de l'historique n'est pas demande, mais elle est quand mme ralisable l'aide de la mthode Merise. Au niveau conceptuel, nous indiquons simplement ce que nous voulons historiser. Nous distinguons 3 cas: 1. Proprit historise La conservation des valeurs historiques s'applique une ou plusieurs proprits d'une entit ou d'une relation. Dans le MCD, on indique une historisation de proprit par la lettre (H) derrire la resp. les proprits concernes. Exemple:

2. Entit historise La conservation des valeurs s'applique toutes les proprits d'une l'entit. On indique l'historisation par la lettre (H) derrire le nom de l'entit. Exemple:

3. Relation historise La conservation des valeurs s'applique toutes les proprits d'une relation. On indique l'historisation par la lettre (H) derrire le nom de la relation. Exemple:

On ne peut pas historiser une relation sans proprits, puisque l'expression 'historiser une relation' n'est qu'un abus de langage, il s'agit en fait d'historiser toutes les proprits d'une relation. On peut remarquer ce moment que la mthode MERISE prsente une particularit en ce qu'elle ne prvoit pas l'historisation d'une proprit individuelle d'une relation

3.3.12

Exercices

Pierre Stockreiser

51

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exercice 1Un club de tennis vous demande d'informatiser la gestion des rservations des diffrents terrains. A ces fins, vous disposez des informations suivantes. Le club dispose d'une liste de membres. Quiconque veut jouer sur un des terrains, doit devenir membre du club. Un membre est caractris par un numro interne au club, par son nom, prnom, adresse, code postal, localit, numro de tlphone ainsi qu'une indication s'il est un joueur licenci auprs de la fdration de tennis ou non. Pour chaque rservation, on dsire connatre l'identit des deux joueurs membres. Au cas o quatre joueurs rserveraient un terrain, uniquement deux joueurs sont enregistrs dans le systme. Le club dispose de plusieurs terrains, dont certains sont couverts. On distingue en plus le type du terrain selon la nature du sol (p.ex. Sable, Herbe etc.) Une rservation se fait pour une date prcise par tranches d'une heure.

Crez le MCD correspondant.

Pierre Stockreiser

52

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exercice 2Une socit arienne utilise prsent les fiches suivantes pour la gestion des ressources. Vol No. : 98-8-798Date Dpart Arrive24/08/98 24/08/98

Heure7h45 9h00

Code AroportFIN LHR

Nom AroportFindel Heathrow

VilleLux Lon

PaysLux UK

AvionNo23

MarqueBoeing

Type737-400

Porte (km)3810

Capacit Passagers147

CommandantNo726

NomWeber

PrnomJos

Date de naissance13/06/65

BrevetPP-IFR/EP/DA

Co-piloteNo813

NomMeier

PrnomEmil

Date de naissance23/04/73

BrevetPP-IFR

Personnel de cabineNo1072 1014 1103

NomFeller Pinto Weis

PrnomNathalie Tania Laurent

Sachant que la socit entretient dj une BD avec tous les pilotes et qu'un pilote peut tre commandant d'un vol et co-pilote d'un autre vol, proposez un MCD, qui permet l'informatisation de la gestion des ressources.

Pierre Stockreiser

53

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exercice 3Un nouveau parc de vacances va prochainement ouvrir ses portes au Luxembourg. Dans ce parc, les visiteurs sont logs dans des bungalows. Vous tes charg de l'implmentation d'un systme informatis pour grer les rservations des bungalows. Aprs plusieurs runions avec les responsables de la gestion du parc, vous avez collectionn les informations suivantes. Le parc est subdivis en plusieurs zones, dont chacune contient environ 40 50 bungalows. Chaque zone dispose de ses propres magasins, restaurants, piscines etc. . Pour l'ouverture du parc, les zones suivantes sont prtes accueillir des visiteurs. ZoneTexas Chine Hawa Camelot Liliput

SituationNord Est Sud-est Sud Centre

DescriptionImitation "Kloondike-City" avec Saloon, Sheriff Office . . . Chine traditionnelle avec temple, palais . . . Atmosphre tropicale avec palmiers, mer artificielle . . . Ambiance mdivale autour d'un magnifique chteau ... Zone comportant plein d'lments des contes bien connus

Les bungalows sont parfaitement intgrs dans l'atmosphre correspondante de leur zone. Chaque bungalow du parc appartient une des catgories suivantes, de faon indpendante sa situation (zone). CatgorieA B C D E

DescriptionBain ou douche / WC sp. / TV Bain et douche / WC sp. / TV / Terrasse Bain ou douche / WC sp. / TV Bain et douche / WC sp. / TV / Terrasse Bain et douche / WC sp. / TV / Terrasse

Capacit3 3 5 5 7

Prix par nuit1200 1500 2000 2300 3000

Afin de faciliter la gestion des bungalows, le responsable du service Comptabilit vous demande de prvoir uniquement des nombres avec 2 positions pour numroter les bungalows. Les clients peuvent effectuer des rservations. Une rservation concerne un seul bungalow. Suite une rservation, une fiche de rservation est immdiatement envoye au client. Deux semaines avant la date d'arrive au parc, une facture correspondante est envoye au client. Cette facture doit tre rgle avant l'arrive au parc. Le responsable de la facturation veut videmment garder trace des informations contenues sur les factures. Le responsable de la rception dsire voir dans le systme si une facture correspondant une rservation a dj t paye ou non.

Pierre Stockreiser

54

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Lors de la rservation d'un bungalow, le client a le choix entre les supplments suivants. Code supplment01 02 03

DescriptionLiterie Livraison domicile du petit djeuner Livraison domicile du quotidien

Prix (par personne) par jour100 300 50

Voici un modle d'une fiche de rservation

Wonderland S. r.l.Parc de bungalows 3, am Boesch L-8899 Schlindermanderscheid G.D.Luxembourg Tl: (Lux)+345566 / Fax: (Lux)+345567

Fiche de rservationClient Numro: 340 Nom: Weber Prnom: Jos Adresse: 23, rue Principale Code postal: L-8765 Localit: Grevenmacher Pays: Luxembourg No. Passeport: 87699 No. Tlphone: (Lux)+348845 Supplments Code supplment01 03

Rservation No: 589 Date d'arrive: 03/09/98 Date de dpart: 07/09/98 Nombre de personnes: 4 Bungalow Zone: Liliput Numro: 19 Catgorie: Bain et douche / WC sp. / TV /Terrasse

Capacit: 5

DescriptionLiterie Livraison domicile du quotidien

Une facture vous sera envoye environ 2 semaines avant votre arrive au parc. Cette facture est rgler avant l'arrive au parc. Nous vous souhaitons un beau sjour au parc Wonderland. Si vous avez encore des questions, n'hsitez pas nous contacter.

Arsne LupinRESERVATION MANAGER

Pierre Stockreiser

55

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Une facture reprend exactement les mmes informations, avec en plus la date d'envoi de la facture et le prix total payer. Afin d'tablir des statistiques, la direction du parc est intresse de sauvegarder dans le systme l'volution des prix par nuit pour les diffrentes catgories de bungalows. Un client est uniquement considr comme tel partir de la premire fois qu'il effectue une rservation.

Crez le modle conceptuel

Pierre Stockreiser

56

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.4 Le modle logique des donnes (MLD)3.4.1 DfinitionJusqu' prsent nous avons tabli des MCD bass sur une analyse d'un domaine bien dfini (p.ex. Gestion des sances d'un cinma, Gestion des sjours des patients d'un hpital etc.). La finalit d'un MCD est de nous faciliter la cration d'une base de donnes pour grer un tel domaine. Nous savons galement qu'une base de donnes est constitue par un ensemble de tables, dont chacune est compose de champs de donnes. Hors le MCD ne connat pas la notion de table, tandis qu'une base de donnes ne connat pas le concept des entits relies entre-elles via des relations portant des cardinalits. Pour cela, il existe un autre modle, le modle logique des donnes (MLD), qui utilise essentiellement le formalisme des tables logiques. Un MLD, qui est toujours bas sur un MCD donn, contient donc toutes les informations de ce MCD, mais les reprsente l'aide d'un formalisme diffrent qui est trs adapt aux structures d'une base de donnes. Tandis que le MCD reprsente un systme d'information d'une faon gnrale et indpendante d'un systme informatique, le MLD tient compte de la ralisation par le biais d'un SGBD. Un MLD est essentiellement compos de tables logiques relies entre elles par des flches. Voici un exemple qui montre un MCD avec son MLD correspondant:

MCD

MLD

Exercice

Pierre Stockreiser

57

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

En vous rfrant l'exemple prcdant, rpondez brivement aux questions suivantes. 1. Comment est-ce qu'on traduit une entit du MCD dans le MLD ?

2. Comment est-ce qu'on traduit une proprit d'une entit du MCD dans le MLD ?

3. Comment est-ce qu'on traduit un identifiant d'une entit du MCD dans le MLD ?

4. Comment est-ce qu'on traduit la relation Ecrire avec ses cardinalits du MCD dans le MLD ?

5. Le MCD nous dit que chaque livre est uniquement crit par un seul auteur (cardinalit max.), tandis qu'un auteur peut crire plusieurs livres. Comment est-ce qu'on peut retrouver ces informations dans le MLD ?

Remarque: La mthode MERISE dfinit de faon gnrale certaines rgles qui nous permettront de transformer n'importe quel MCD en MLD.

Pierre Stockreiser

58

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.4.2 Rgles de transformation du MCD au MLDNous allons dfinir les rgles de transformation pour le passage du MCD au MLD, en respectant les diffrents cas qui se posent.

3.4.2.1

Transformation des entits

Toute entit est transforme en table. Les proprits de l'entit deviennent les attributs de la table. L'identifiant de l'entit devient la cl primaire de la table. Exemple: Entit "Entreprise" Lettres majuscules Table "Entreprise"

3.4.2.2

Transformation des relations binaires du type1 (x,n) (x,1)

Afin de reprsenter la relation, on duplique la cl primaire de la table base sur l'entit cardinalit (x,n) dans la table base sur l'entit cardinalit (x,1). Cet attribut est appel cl trangre. Les deux tables sont lies par une flche nomme selon la relation, qui pointe de la table cl trangre vers la table qui contient la cl primaire correspondante. Exemple:

L'attribut No_Auteur qui est cl primaire de la table Auteur, devient cl trangre dans la table Livre.

1

x peut prendre les valeurs 0 ou 1

Pierre Stockreiser

59

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.4.2.3

Transformation des relations binaires du type (x,1) (x,1)

Nous devons distinguer plusieurs cas. Sachant qu'une relation binaire du type (1,1)-(1,1) ne doit pas exister il nous reste les 2 cas suivants: Relation binaire (0,1)-(1,1) On duplique la cl de la table base sur l'entit cardinalit (0,1) dans la table base sur l'entit cardinalit (1,1). Exemple:

Le No_Client, qui est cl primaire de la table Client, devient cl trangre dans la table Carte_Membre. Relation binaire (0,1)-(0,1) !!! Ne figure actuellement pas au programme de la classe 13CG On duplique la cl d'une des tables dans l'autre. Lorsque la relation contient elle-mme des proprits, celles-ci deviennent galement attributs de la table dans laquelle a t ajoute la cl trangre. Exemple:

ou

Soit on migre la cl primaire de la table Entreprise dans la table Salari, soit on fait l'inverse.

Pierre Stockreiser

60

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.4.2.4

Transformation des relations binaires du type (x,n) (x,n)

On cre une table supplmentaire ayant comme cl primaire une cl compose des cls primaires des 2 tables. Lorsque la relation contient elle-mme des proprits, celles-ci deviennent attributs de la table supplmentaire. Une proprit de la relation qui est souligne devra appartenir la cl primaire compose de la table supplmentaire. Exemple:

On cre une table Porter, qui contient comme cl primaire une cl compose de NoCommande et Code_Article. Elle contient galement la proprit Quantit issue de la relation Porter.

3.4.2.5

Transformation des relations ternaires

On cre une table supplmentaire ayant comme cl primaire une cl compose des cls primaires de toutes les tables relies. Cette rgle s'applique de faon indpendante des diffrentes cardinalits. Lorsque la relation contient elle-mme des proprits, celles-ci deviennent attributs de la table supplmentaire. Une proprit de la relation qui est souligne devra appartenir la cl primaire compose de la table supplmentaire. Exemple:

La table Enseigner contient une cl compose de No_Enseignant, Code_Matire et Nom_Classe.

Pierre Stockreiser

61

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.4.2.6

Transformation de plusieurs relations entre 2 entits

Les rgles gnrales s'appliquent Exemple:

La relation habiter du type (x,n)-(x,1), est traduite par la migration de l'attribut Adresse dans la table Personne. La relation possder du type (x,n)-(x,n) est traduite par la cration d'une table supplmentaire du mme nom. Cette table contient comme cl primaire compose, les cls des deux tables relies Personne et Maison. On a donc simplement appliqu 2 fois de faon indpendante les rgles de transfert MCD MLD.

3.4.2.7

Transformation des relations rflexives

Nous appliquons les rgles gnrales avec la seule diffrence que la relation est 2 fois relie la mme entit Exemple 1:

Comme il s'agit d'une relation (x,n)-(x,n), une table supplmentaire est cre. Cette table contient comme cl primaire compose, la cl des "deux" entits relies. Comme la mme entit est lie 2 fois la relation, on ne peut pas utiliser 2 fois le mme nom pour la cl. Dans ce cas il convient d'utiliser des rles dans le MCD, et d'intgrer le rle dans le nom d'une des cls migres dans le MLD.

Pierre Stockreiser

62

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exemple 2:

Comme il s'agit d'une relation (0,1)-(0,1), nous avons en gnral le choix en ce qui concerne quelle entit contiendra la cl trangre. Comme cette relation est lie deux fois la mme entit, il est vident que nous devons dupliquer la cl primaire, tout en veillant que le mme nom de cl ne sera pas utilis pour la cl primaire et la cl trangre. Dans notre exemple, tous les hommes maris, ont comme valeur de la cl trangre la matricule de leur pouse actuelle. Pour les hommes non maris et les femmes, la cl trangre est sans valeur. On pourrait bien sr utiliser la modlisation inverse avec une cl trangre NO_MATRICULE_MARI, qui indique pour chaque femme marie, la matricule de son mari.

3.4.2.8

Transformation de l'identifiant relatif

Sachant que l'entit dpendante est toujours lie la relation par les cardinalits (1,1), nous pouvons appliquer les rgles gnrales. Dans chaque cas, la table issue de l'entit dpendante contient donc comme cl trangre, la cl primaire de l'autre table. L'identification relative est reprsente par le fait que la table issue de l'entit dpendante contient une cl primaire compose, constitue de la cl primaire transforme de l'identifiant de cette entit et de la cl trangre. Exemple:

Tout en respectant les rgles gnrales du passage MCDMLD, la cl primaire de la table Projet migre comme cl trangre dans la table Tche. L'identification relative est reprsente par le fait que la table tche contient une cl primaire compose de No_Tache et No_Projet.

Pierre Stockreiser

63

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.4.2.9

Transformation de l'historisation

1. Historisation d'une proprit Pour chaque proprit historiser, on cre une table qui contient: Une cl primaire compose de la cl primaire de la table qui contient la proprit historiser et de la date d'historisation. La proprit historiser Exemple:

2. Historisation d'une entit Pour toute modification de valeur d'une des proprits de l'entit, on historise l'ensemble des valeurs des proprits dans une table qui contient: Une cl primaire compose de la cl primaire de l'entit historiser et de la date d'historisation Toutes les autres proprits de l'entit historiser Exemple:

3. Historisation d'une relation Pour toute modification de valeur d'une des proprits de la relation, on historise l'ensemble des valeurs des proprits dans une table qui contient: Une cl primaire compose de la cl primaire de la table qui reprsente la relation historiser et de la date d'historisation Toutes les autres proprits de la relation historiser Exemple:

Pierre Stockreiser

64

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Pierre Stockreiser

65

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.4.3 Exemple "KaafKaaf"Transformez le MCD suivant, qui reprsente la facturation de la socit "KaafKaaf" (voir chapitre 3.3.6 Exemple "KaafKaaf"), en un MLD en respectant toutes les rgles du passage MCD MLD.

Voici une solution:

Pierre Stockreiser

66

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.4.4 Exercices

Exercice 1Transformez les MCD que vous avez raliss pour les exercices 1 6 du chapitre 3.3.10 et les exercices 1 3 du chapitre 3.3.12 en MLD.

Pierre Stockreiser

67

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exercice 2Transformez le MCD suivant en MLD en respectant toutes les rgles de passage MCDMLD.

Remarques: En ce qui concerne le rapport mdical, une conclusion mdicale pourrait par exemple tre "Infection" ou "Cancer de la gorge", tandis que la conclusion professionnelle qui s'en suit serait par exemple "Apte" ou "Inaptitude temporaire jours". L'entit Salari est historise.

Pierre Stockreiser

68

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

Exercice 3Voici un MCD qui reprsente de faon trs simplifie la gestion d'une compagnie d'assurances. Transformez le MCD en MLD en respectant toutes les rgles de passage MCDMLD.

Remarques: Le type de contrat indique les garanties prvues.Exemple: Type AUTO-SIMPLE contient (RC-AUTO et Protection juridique) Type AUTO-SPECIAL contient (Garanties AUTO-SIMPLE + FEU + VOL) Type AUTO-DELUXE contient (Garanties AUTO-SPECIAL + Dgts matriels)

Un contrat couvre un seul risque. Ce risque peut tre une voiture ou une habitation. Afin d'amliorer l'exploitation statistique des donnes concernant les garanties, le tarif d'une garantie est historis.

Pierre Stockreiser

69

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

3.5 Le modle physique des donnes (MPD)3.5.1 DfinitionLe modle physique des donnes (MPD) est la traduction du modle logique des donnes (MLD) dans une structure de donnes spcifique au systme de gestion de bases de donnes (SGBD) utilis. Le MPD est donc reprsent par des tables dfinies au niveau du systme de gestion de bases de donnes. C'est donc au niveau du MPD que nous quittons la mthode gnrale de cration d'un MCD et de sa transformation en MLD, pour nous tourner vers la manipulation d'un SGBD spcifique.

3.5.2 Passage du MLD au MPDLe passage MLD MPD se fait par les tapes suivantes:

Implmentation physique de chaque table du MLD dans le SGBD utilis. Pour chaque table, indiquer au SGBD quel(s) champ(s) constitue(nt) la cl primaire. Pour chaque table, indiquer au SGBD la (les) cl(s) trangre(s), et la (les) cl(s) primaire(s) correspondante(s).

Pour ce faire, la plupart des SGBD actuellement sur le march nous offrent 2 possibilits. Prenons titre d'exemple l'implmentation du modle logique suivant.

Pierre Stockreiser

70

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

1. Utilisation d'une ou de plusieurs interfaces graphiques, qui nous aident dans la cration des tables physiques, dans la dfinition des cls primaires et dans la dfinition des relations. Exemple: Dfinition de la table des employs avec le champ idEmploy tant dfini comme cl primaire.

Dfinition de la relation entre les deux tables.

Remarquez que les noms des diffrents champs ont t modifis lors de l'implmentation du modle logique. Cette mesure dpend uniquement de la convention des noms utilise et n'affecte pas du tout le fonctionnement correcte de la BD.

Pierre Stockreiser

71

Lyce Technique d'Esch-s-Alzette

Informatique 13CG

Modlisation d'un systme d'information

2. Utilisation de