Conception d'une base de données

Please download to get full document.

View again

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
 4
 
  Ce support de cours regroupe quelques notions concernant le modélisation conceptuelle de système d'information par schéma entités-associations (via l'´ etude des dépendances fonctionnelles), la tra-duction en schéma relationnel et la démarche
Share
Transcript
  Conception d’une base de donn´ees Cyril  Gruau ∗ 17 octobre 2005 (corrig´e le 13 juillet 2006) R´esum´e Ce support de cours regroupe quelques notions concernant le mod´elisation conceptuelle de syst`eme d’information par sch´ema entit´es-associations (via l’´etude des d´ependances fonctionnelles), la tra-duction en sch´ema relationnel et la d´emarche inverse (r´etro-conception). Il pr´esente ´egalement les extensions majeures du mod`ele conceptuel de donn´ees. Mots-clef:  Merise, mod`ele conceptuel, entit´e, association, d´ependance fonctionnelle,graphe de couverture minimale, sch´ema relationnel, traduction, r´etro-conception,agr´egation, identifiant relatif, h´eritageCompl´ements apport´es `a l’´edition de novembre 2003:– une r´e-´ecriture compl`ete des r`egles de normalisation .......................................... 10– un nouveau paragraphe sur les d´ependances fonctionnelles .................................... 16– une r´e-´ecriture compl`ete de la section sur les agr´egations ......................................30– idem pour les identifiants relatifs ............................................................. 35– et l’h´eritage .................................................................................. 38– auxquels s’ajoutent de nouveaux exemples et donc de nombreuses figures illustratives ......... 42 Remerciements L’auteur tient `a exprimer toute sa gratitude envers Fr´ed´eric Brouard pour son travail de correctionsur ce document, ses judicieux conseils et son soutien en toutes circonstances. ∗ Cyril.Gruau@ensmp.fr 1  TABLE DES MATI `ERES   2 Table des mati`eres Introduction 31 Mod`ele conceptuel de donn´ees (MCD) 4 1.1 Sch´ema entit´es-associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.1 Entit´es et associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.2 Attributs et identifiants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.3 Cardinalit´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.4 Associations plurielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.5 Association r´eflexive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.6 Associations non binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2 R`egles de normalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.1 Les bonnes mani`eres dans un sch´ema entit´es-associations . . . . . . . . . . . . . . 101.2.2 Les formes normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.3 D´ependances fonctionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3.1 D´efinitions et propri´et´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3.2 Graphe de couverture minimale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3.3 Traduction vers un sch´ema entit´es-associations . . . . . . . . . . . . . . . . . . . . 171.3.4 Gestion des dates et du caract`ere historique . . . . . . . . . . . . . . . . . . . . . . 181.3.5 D´ependances plurielles et r´eflexives . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.3.6 Associations sans attributs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.4 M´ethodologie de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2 Mod`ele logique de donn´ees (MLD) 22 2.1 Syst`emes logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2 Mod`ele logique relationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.1 Tables, lignes et colonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.2 Cl´es primaires et cl´es ´etrang`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.3 Sch´ema relationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3 Traduction d’un MCD en un MLDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3 Mod`ele physique de donn´ees (MPD) 27 3.1 Distinction entre MLD et MPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Optimisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4 R´etro-conception 28 4.1 Traduction inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.2 Cas particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5 Compl´ements 30 5.1 Agr´egation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.1.1 Association de type 1: n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.1.2 Association de type n: m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.1.3 Tables de codification ou tables de r´ef´erence . . . . . . . . . . . . . . . . . . . . . . 345.2 Identifiant relatif ou lien identifiant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.2.1 R´esolution d’un probl`eme sur le sch´ema relationnel . . . . . . . . . . . . . . . . . . 355.2.2 Mod`ele conceptuel correspondant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.2.3 Discussion autour de la num´erotation des exemplaires . . . . . . . . . . . . . . . . 375.3 H´eritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.3.1 Sous-entit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.3.2 Utilisation de l’h´eritage pour s´eparer les informations compl´ementaires . . . . . . . 395.3.3 Sp´ecialisation des associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40  INTRODUCTION   3 Conclusion 41R´ef´erences 41Table des figures 42Index 43 Introduction Quand nous construisons directement les tables d’une base de donn´ees dans un logiciel de gestion desbases de donn´ees (Oracle, SQL Server, DB2, Access, MySQL, PostGre, ...), nous sommes expos´es `a deuxtypes de probl`eme:– nous ne savons pas toujours dans quelle table placer certaines colonnes (par exemple, l’adresse delivraison se met dans la table des clients ou dans la table des commandes?);– nous avons du mal `a pr´evoir les tables de jonction interm´ediaires (par exemple, la table des in-terpr´etations qui est indispensable entre les tables des films et la table des acteurs).Il est donc n´ecessaire de recourir `a une ´etape pr´eliminaire de conception.Les techniques pr´esent´ees ici font partie de la m´ethodologie Merise (M´ethode d’´Etude et de R´ealisationInformatique pour les Syst`emes d’Entreprise) ´elabor´ee en France en 1978 [Tardieu  et al. ], qui permet no-tamment de concevoir un syst`eme d’information d’une fa¸con standardis´ee et m´ethodique.Le but de ce support de cours est d’introduire le sch´ema entit´es-associations (section 1), le sch´emarelationnel (sections 2 et 3) et d’expliquer la traduction entre les deux (sections 2.3 et 4). La constructiondu sch´ema entit´es-associations peut se faire en ´etudiant les d´ependances fonctionnelles (section 1.3) eten tenant compte d’un certain nombre d’extensions conceptuelles incontournables (section 5).Ne sont malheureusement pas abord´es ici: les contraintes, les traitements, le langage relationnel et lagestion de projet. Pour toutes ces notions importantes, car li´ees `a la conception de syst`emes d’information,le lecteur est dirig´e vers [Akoka et Comyn-Wattiau, Matheron, Nanci  et al. ]. La mod´elisation objet nefait pas non plus partie des outils expos´es dans ce document.  1 MOD`ELE CONCEPTUEL DE DONN ´EES (MCD)  4 1 Mod`ele conceptuel de donn´ees (MCD) Avant de r´efl´echir au sch´ema relationnel d’une application, il est bon de mod´eliser la probl´ematique`a traiter d’un point de vue conceptuel et ind´ependamment du logiciel utilis´e. 1.1 Sch´ema entit´es-associations La mod´elisation conceptuelle que nous proposons dans ce document pour un univers dont on veut sto-cker les donn´ees, conduit `a l’´elaboration d’un type de sch´ema tr`es r´epandu, le sch´ema entit´es-associations. 1.1.1 Entit´es et associations Une entit´e est une population d’individus homog`enes. Par exemple, les produits ou les articles venduspar une entreprise peuvent ˆetre regroup´es dans une mˆeme entit´e  articles  (figure 1), car d’un article`a l’autre, les informations ne changent pas de nature (`a chaque fois, il s’agit de la d´esignation, du prixunitaire, etc.). clients-numéro client-nom client-prénom-adresse client-...articles-numéro article-désignation-prix unitaire de vente-...fournisseurs-n° fournisseur-nom contact-n° téléphone contact-... Fig.  1 –  Entit´es  Par contre, les articles et les clients ne peuvent pas ˆetre regroup´es: leurs informations ne sont pashomog`enes (un article ne poss`ede pas d’adresse et un client ne poss`ede pas de prix unitaire). Il faut doncleur r´eserver deux entit´es distinctes: l’entit´e  articles  et l’entit´e  clients .Une association est une liaison qui a une signification pr´ecise entre plusieurs entit´es. Dans notreexemple, l’association  commander  est une liaison ´evidente entre les entit´es  articles  et  clients , tandisque l’association  livrer  ´etablit le lien s´emantique entre les entit´es  articles  et  fournisseurs . commander-quantité commandée-date de commandeclients-numéro client-nom client-prénom-adresse client-...articles-numéro article-désignation-prix unitaire de vente-...fournisseurs-n° fournisseur-nom contact-n° téléphone contact-...livrer-quantité livrée-date livraison-nom livreur Fig.  2 –  Associations  Remarquons que dans ce sch´ema, les entit´es  clients  et  fournisseurs  ne sont pas li´ees directement,mais indirectement, via l’entit´e  articles , ce qui est assez naturel.  1 MOD`ELE CONCEPTUEL DE DONN ´EES (MCD)  5 1.1.2 Attributs et identifiants Un attribut est une propri´et´e d’une entit´e ou d’une association.Toujours dans notre exemple (figure 3), le  prix unitaire  est un attribut de l’entit´e  articles , le  nom de famille est un attribut de l’entit´e  clients , la  quantit´e command´ee  est un attribut de l’association commander  et la  date de livraison  est un attribut de l’association  livrer . commander-quantité commandée-date de commandeclients-numéro client-nom client-prénom-adresse client-...articles-numéro article-désignation-prix unitaire de vente-...fournisseurs-n° fournisseur-nom contact-n° téléphone contact-...livrer-quantité livrée-date livraison-nom livreur Fig.  3 –  Attributs  Une entit´e et ses attributs ne doivent traiter que d’un seul sujet afin d’assurer une certaine coh´erenceau mod`ele. Dans notre exemple, il est donc pr´ef´erable de ne pas mettre les informations relatives auxfournisseurs dans l’entit´e des articles mais plutˆot dans une entit´e  fournisseurs  s´epar´ees (et li´ee `a l’entit´e articles  via l’association  livrer ).Ensuite, chaque individu d’une entit´e doit ˆetre identifiable de mani`ere unique. C’est pourquoi toutesles entit´es doivent poss´eder un attribut sans doublon (c’est-`a-dire ne prenant pas deux fois la mˆemevaleur). Il s’agit de l’identifiant que l’on souligne sur le sch´ema, par convention. Le num´ero de clientconstitue un identifiant classique pour l’entit´e  clients  (figure 4). commander-quantité commandée-date de commandeclients-numéro client-nom client-prénom-adresse client-...articles-numéro article-désignation-prix unitaire de vente-...fournisseurs-n° fournisseur-nom contact-n° téléphone contact-...livrer-quantité livrée-date livraison-nom livreur Fig.  4 –  Identifiants  Remarques:– une entit´e poss`ede au moins un attribut (son identifiant);– au contraire, une association peut ˆetre d´epourvue d’attribut.
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x