[PDF] Conception dune base de données - pdfbibcom



Previous PDF Next PDF







Conception dune base de données - pdfbibcom

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-



Cours de Bases de Donn´ees

administrateur de la base de donn´ees C’est lui qui est responsable de la modication du sch´ema d’analyse dans le but d’optimiser l’exploitation de la base Le sch´ema physique correspond `a l’impl´ementation des donn´ees sous forme de chiers sur disques et g`ere les m´ecanismes d’acc`es



Support de Cours - WordPresscom

Expliquer l‘intérêt de l‘approche base de données par rapport à celle à fichiers Définir un Système de Gestion de Bases de Données (SGBD) Enumérer les fonctions d‘un SGBD Différencier entre les niveaux d‘abstraction lors de la conception d‘une base de données Plan du chapitre I Introduction II



FASCICULE DES TRAVAUX DIRIGES Base de données

Il s'agit d'établir une base de données pour la gestion des formations d'un institut privé Un cours est caractérisé par un numéro de cours NOCOURS, un libellé LIBELLE, une durée en heures DUREE et un type TYPE Un cours peut faire l'objet dans l'année de plusieurs sessions identiques



Manuel de formation Montage et gestion des projets

temps donn en mobilisant des ressources pour satisfaire des besoins strat giques et non pour r pondre simplement des probl mes actuelles (Boukhari 2002) Notons par ailleurs que le concept Ç projet È ne se r sume pas uniquement au Ç projet de d veloppement È On entend souvent parler entre autre de Ç projet dÕentreprise È ou de



BASIC CONCEPTS OF LOGIC - UMass

Chapter 1: Basic Concepts 3 treats all of these things in terms of a single sort of thing – statements Logic corre-spondingly treats inferences in terms of collections of statements, which are called



RAPPORT TRISMESTRIEL SUR L’ETAT D’AVANCEMENT DU PROJET

cours de la période et dégage les perspectives de solutions en terme de conclusions et recommandations Le rapport est structuré en huit sections consacrées respectivement à : (i) les données de base, (ii) la satisfaction des conditions de don, (iii) l'organisation et la

[PDF] quel management pour concilier performances et bien-être - Anact

[PDF] Comment concilier développement économique et environnement

[PDF] Dix conseils pour donner vie ? vos cultes d 'adoration

[PDF] Manuel du conducteur professionnel - Manitoba Public Insurance

[PDF] 1st installation design - BeINnet

[PDF] CONFIGURATION D 'UN MODEM WIFI D- LINK

[PDF] CONFIGURATION D 'UN MODEM WIFI TP LINK

[PDF] cote R - Collège de Bois-de-Boulogne

[PDF] LES DONS SPIRITUELS OU CHARISMES

[PDF] Conservation des aliments (PDF - 14 Mo)

[PDF] la conservation des aliments - la vie paysanne autrefois

[PDF] maintenir les berges

[PDF] COMMENT CONSTRUIRE UN BÉLIER ? - YouTube

[PDF] Comment construire un débat argumenté en - Lyonel Kaufmann

[PDF] Méthodes de construction

Conception d"une base de donn´ees

CyrilGruau?

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´ependancefonctionnelle, graphe de couverture minimale, sch´ema relationnel, traduction, r´etro-conception, agr´egation, identifiant relatif, h´eritage Compl´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 correction

sur ce document, ses judicieux conseils et son soutien en toutes circonstances.?

Cyril.Gruau@ensmp.fr

1

TABLE DES MATI

`ERES2

Table des mati`eres

Introduction3

1 Mod`ele conceptuel de donn´ees (MCD)4

1.1 Sch´ema entit´es-associations . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . 4

1.1.1 Entit´es et associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 4

1.1.2 Attributs et identifiants . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 5

1.1.3 Cardinalit´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 6

1.1.4 Associations plurielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 7

1.1.5 Association r´eflexive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 7

1.1.6 Associations non binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 8

1.2 R`egles de normalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 10

1.2.1 Les bonnes mani`eres dans un sch´ema entit´es-associations . . .. . . . . . . . . . . 10

1.2.2 Les formes normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

1.3 D´ependances fonctionnelles . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 16

1.3.1 D´efinitions et propri´et´es . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 16

1.3.2 Graphe de couverture minimale . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 17

1.3.3 Traduction vers un sch´ema entit´es-associations . . . . . . . . .. . . . . . . . . . . 17

1.3.4 Gestion des dates et du caract`ere historique . . . . . . . . . . . . . .. . . . . . . . 18

1.3.5 D´ependances plurielles et r´eflexives . . . . . . . . . . . . . . .. . . . . . . . . . . . 20

1.3.6 Associations sans attributs . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 20

1.4 M´ethodologie de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 21

2 Mod`ele logique de donn´ees (MLD)22

2.1 Syst`emes logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . 22

2.2 Mod`ele logique relationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 22

2.2.1 Tables, lignes et colonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 22

2.2.2 Cl´es primaires et cl´es ´etrang`eres . . . . . . . . . . . . . . . . .. . . . . . . . . . . 22

2.2.3 Sch´ema relationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 23

2.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 . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 27

3.2 Optimisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 27

4 R´etro-conception28

4.1 Traduction inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 28

4.2 Cas particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 29

5 Compl´ements30

5.1 Agr´egation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30

5.1.1 Association de type 1: n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 30

5.1.2 Association de type n: m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32

5.1.3 Tables de codification ou tables de r´ef´erence . . . . . . . . . . . . .. . . . . . . . . 34

5.2 Identifiant relatif ou lien identifiant . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . 35

5.2.1 R´esolution d"un probl`eme sur le sch´ema relationnel . . . . . .. . . . . . . . . . . . 35

5.2.2 Mod`ele conceptuel correspondant . . . . . . . . . . . . . . . . . . . . . .. . . . . . 36

5.2.3 Discussion autour de la num´erotation des exemplaires . . . . . . . .. . . . . . . . 37

5.3 H´eritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 38

5.3.1 Sous-entit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 38

5.3.2 Utilisation de l"h´eritage pour s´eparer les informations compl´ementaires . . . . . . . 39

5.3.3 Sp´ecialisation des associations . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 40

INTRODUCTION3

Conclusion41

R´ef´erences41

Table des figures42

Index43

Introduction

Quand nous construisons directement les tables d"une base de donn´ees dans un logiciel de gestion des

bases de donn´ees (Oracle, SQL Server, DB2, Access, MySQL, PostGre,...), nous sommes expos´es `a deux

types de probl`eme: - nous ne savons pas toujours dans quelle table placer certaines colonnes(par exemple, l"adresse de livraison 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 deconception.

Les techniques pr´esent´ees ici font partie de la m´ethodologie Merise (M´ethode d"´Etude et de R´ealisation

Informatique pour les Syst`emes d"Entreprise) ´elabor´ee en France en 1978 [Tardieuet 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´ema

relationnel (sections 2 et 3) et d"expliquer la traduction entre les deux (sections 2.3 et 4). La construction

du sch´ema entit´es-associations peut se faire en ´etudiant les d´ependances fonctionnelles (section 1.3) et

en 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 la

gestion 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, Nanciet al.]. La mod´elisation objet ne

fait 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 estbon 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 pourun 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

Uneentit´e est une population d"individus homog`enes. Par exemple, les produits ou les articles vendus

par une entreprise peuvent ˆetre regroup´es dans une mˆeme entit´earticles(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 prix

unitaire, 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 pas

homog`enes (un article ne poss`ede pas d"adresse et un client ne poss`ede pas de prix unitaire). Il faut donc

leur r´eserver deux entit´es distinctes: l"entit´earticleset l"entit´eclients.

Uneassociation est une liaison qui a une signification pr´ecise entre plusieurs entit´es. Dans notre

exemple, l"associationcommanderest une liaison ´evidente entre les entit´esarticlesetclients, tandis

que l"associationlivrer´etablit le lien s´emantique entre les entit´esarticlesetfournisseurs.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 livreurFig.2 -Associations

Remarquons que dans ce sch´ema, les entit´esclientsetfournisseursne sont pas li´ees directement,

mais indirectement, via l"entit´earticles, ce qui est assez naturel. 1 MOD `ELE CONCEPTUEL DE DONN´EES (MCD)5

1.1.2 Attributs et identifiants

Unattribut est une propri´et´e d"une entit´e ou d"une association.

Toujours dans notre exemple (figure 3), leprix unitaireest un attribut de l"entit´earticles, lenom

de famille est un attribut de l"entit´eclients, laquantit´e command´eeest un attribut de l"association

commanderet ladate de livraisonest un attribut de l"associationlivrer.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 livreurFig.3 -Attributs

Une entit´e et ses attributs ne doivent traiter que d"un seul sujet afin d"assurer une certaine coh´erence

au mod`ele. Dans notre exemple, il est donc pr´ef´erable de ne pas mettre les informations relatives aux

fournisseurs dans l"entit´e des articles mais plutˆot dans une entit´efournisseurss´epar´ees (et li´ee `a l"entit´e

articlesvia l"associationlivrer).

Ensuite, chaque individu d"une entit´e doit ˆetre identifiablede mani`ere unique. C"est pourquoi toutes

les entit´es doivent poss´eder un attributsansdoublon (c"est-`a-dire ne prenant pas deux fois la mˆeme

valeur). Il s"agit de l"identifiant que l"on souligne sur le sch´ema, par convention. Le num´ero de client

constitue un identifiant classique pour l"entit´eclients(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 livreurFig.4 -Identifiants

Remarques:

- une entit´e poss`ede au moins un attribut (son identifiant); - au contraire, une association peut ˆetre d´epourvue d"attribut. 1 MOD `ELE CONCEPTUEL DE DONN´EES (MCD)6

1.1.3 Cardinalit´es

Lacardinalit´e d"un lien entre une entit´e et une association pr´ecise le minimum et le maximum de fois

qu"un individu de l"entit´e peut ˆetre concern´e par l"association.

Exemple: un client a au moins command´e un article et peut commandernarticles (n´etant ind´etermin´e),

tandis qu"un article peut avoir ´et´e command´e entre 0 etnfois (mˆeme si ce n"est pas le mˆemenque

pr´ec´edemment). On obtient alors le sch´ema entit´es-associations complet1(figure 5).commander

- quantité commandée - date de commande1,nclients - numéro client - nom client - prénom - adresse client - ...articles - numéro article - désignation - prix unitaire de vente - ...0,nfournisseurs - n° fournisseur - nom contact - n° téléphone contact - ...livrer - quantité livrée - date livraison - nom livreur1,n1,n

Fig.5 -Cardinalit´es

Une cardinalit´e minimale de 1 doit se justifier par le fait que les individus de l"entit´e en question ont

besoin de l"association pour exister (un client n"existe pas avant d"avoir command´e quoique ce soit, donc

la cardinalit´e minimale de l"entit´eclientsdans l"associationcommanderest 1). Dans tous les autres cas,

la cardinalit´e minimale vaut 0 (c"est le cas pour une liste pr´e-´etablie d"articles par exemple).

Ceci dit, la discussion autour d"une cardinalit´e minimale 0 ou 1 n"est vraiment int´eressante que lorsque

la cardinalit´e maximale est 1. Nous verrons en effet lors de la traductionvers un sch´ema relationnel (sec-

tion 2.3), que lorsque la cardinalit´e maximale estn, nous ne pouvons pas faire la diff´erence entre une

cardinalit´e minimale de 0 et une cardinalit´e minimale de 1.

Notons que sur notre exemple, un article peut ˆetre command´e par plusieurs clients. Cela provient du

fait que tous les crayons rouges ne sont pas num´erot´es individuellement, mais portent un num´ero d"articlecollectif. En toute rigueur, notre entit´earticlesaurait du s"appelertypes d"article. Ainsi, un crayon

rouge peut ˆetre command´e par plusieurs clients, ce n"est simplement pas le mˆeme crayon `a chaque fois.

Il s"agit d"un choix de mod´elisation, le lecteur peut tr`es l´egitimement faire le choix inverse qui consiste `a

num´eroter individuellement chaque crayon rouge.

La seule difficult´e pour ´etablir correctement les cardinalit´es est de se poser les questions dans le bon

sens. Autour de l"associationcommander, par exemple:

- cˆot´eclients, la question est??un client peut commander combien d"articles???et la r´eponse est

??entre 1 et plusieurs??;

- cˆot´earticles, la question est??un article peut ˆetre command´e par combien de client???et cette

fois-ci, la r´eponse est??entre 0 et plusieurs??.1. Le lecteur avis´e aura not´e que le sch´ema de la figure 5 comporte des erreursde conception. Ces erreurs seront corrig´ees

dans la section 1.2 d´edi´ee `a la normalisation des sch´emas entit´es-associations. 1 MOD `ELE CONCEPTUEL DE DONN´EES (MCD)7

1.1.4 Associations plurielles

Deux mˆemes entit´es peuvent ˆetre plusieurs fois en association (c"est le cas sur la figure 6).personnes

- n° personnel - nom - prénom - ...logements - n° logement - adresse - ...posséder - date d'acquisition - prix achatrésider principalement- date d'entrée - montant du loyerrésider secondairement- date d'entrée - montant du loyer0,n 0,1

0,n1,1

0,n 0,n

Fig.6 -Associations plurielles

Dans cet exemple issu d"une agence immobili`ere, une personne peut ˆetre propri´etaire, r´esider princi-

palement ou r´esider secondairement dans un logement g´er´e par l"agence. Les logements qui ne sont pas

g´er´es par l"agence ne figurent pas dans l"entit´es des logements, cequi explique certaines cardinalit´es 0 du

sch´ema. Nous supposons ´egalement qu"un logement n"est d´etenu que par une seule personne et que ce

propri´etaire figure obligatoirement dans l"entit´e des personnes.

1.1.5 Association r´eflexive

Il est permis `a une association d"ˆetre branch´ee plusieurs fois`a la mˆeme entit´e, comme par exemple

l"association binairer´eflexive de la figure 7. diriger - date début employés - n° employé - nom - fonction - adresse - ...0,n0,1

Fig.7 -Association r´eflexive

Dans cet exemple, tout employ´e est dirig´e par un autre employ´e(sauf le directeur g´en´eral) et un

employ´e peut diriger plusieurs autres employ´es, ce qui explique les cardinalit´es sur le sch´ema.

1 MOD `ELE CONCEPTUEL DE DONN´EES (MCD)8

1.1.6 Associations non binaires

Lorsqu"autour d"une entit´e, toutes les associations ont pour cardinalit´es maximales 1 au centre etn

`a l"ext´erieur, cette entit´e est candidate pour ˆetre remplac´ee par une association branch´ee `a toutes les

entit´es voisines avec des cardinalit´es identiques0,n.

La deuxi`eme condition qu"il faut imp´erativement satisfaire est la r`egle de normalisation des attributs

des associations (section suivante). Cette r`egle conduit parfois `al"apparition d"associations qui ´etablissent

un lien s´emantique entre 3 entit´es ou plus.

Sur l"exemple de la figure 8 issu d"un cin´ema, l"entit´eprojectionsest uniquement entour´ee d"asso-

ciations dont les cardinalit´es maximales sont 1 cˆot´eprojectionsetnde l"autre cˆot´e. De plus, la donn´ee

d"un cr´eneau, d"un film et d"une salle suffit `a d´eterminer une projection unique2. On peut donc la rem-

placer par une associationprojeterbranch´ee aux trois entit´essalles,cr´eneaux horairesetfilms.

On parle alors d"associationternaire.

Fig.8 -Entit´e rempla¸cable par une association ternaire2. sans la date dans l"entit´ecr´eneaux horaires, la donn´ee d"un cr´eneau, d"un film et d"une salle aurait d´etermin´e plusieurs

projections et l"association ternaire n"aurait pas pu se faire 1 MOD `ELE CONCEPTUEL DE DONN´EES (MCD)9

La difficult´e de concevoir une association ternaire (ou plus) directement est d"´etablir les bonnes car-

dinalit´es. Il est donc conseill´e d"en passer par un sch´ema entit´es-associations dans lequel on ne trouve

que des associations binaires, puis de rep´erer les entit´es rempla¸cables par des associations, comme sur la

figure 8 `a gauche.

Cette r`egle de conduite permet d"´eviter d"introduire une association ternaire abusive, par exemple

entre les avions, les pilotes et les vols (figure 9), car le concepteur peut s"apercevoir que l"une des cardi-

nalit´es maximales ne convient pas.vols - numéro vol - heure de départ prévue - heure d'arrivée prévueavions - numéro avion - date mise en service - modèle - propriétairecorrespondredéparts - numéro départ - date - heure de départ effectivepilotes - numéro pilote - nom - gradeutiliser assurer0,n1,1

0,n1,n1,10,n

Fig.9 -Contre-exemple: l"entit´ed´epartsn"est pas rempla¸cable par une association ternaire

Par ailleurs, une association peut ˆetre branch´ee `a plus de trois entit´es, comme sur la figure 10. L`a-

encore, le conseil pour ˆetre sˆur de la l´egitimit´e de cette association 4-aire, est de v´erifier les cardinalit´es

sur un sch´ema interm´ediaire faisant apparaˆıtre `a la place, uneentit´eoccupationset quatre associations

binaires.occuper - motif 0,n salles - n° salle - capacitéjours dans la semaine- n° jour - jour

0,n0,n

semaines dans l'année- n° semaine - date de débutcréneaux horaires dans la journée- n° créneau - heure de début0,n Fig.10 -Exemple d"entit´e quaternaire ou 4-aire 1 MOD `ELE CONCEPTUEL DE DONN´EES (MCD)10

1.2 R`egles de normalisation

Un bon sch´ema entit´es-associations doit r´epondre `a 9 r`egles de normalisation, que le concepteur doit

connaˆıtre par coeur.quotesdbs_dbs11.pdfusesText_17