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] 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 ......... 42Remerciements
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
1TABLE DES MATI
`ERES2Table 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)41 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´esPar 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 -AssociationsRemarquons 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)51.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 -AttributsUne 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 -IdentifiantsRemarques:
- 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)61.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,nFig.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)71.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,10,n1,1
0,n 0,nFig.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,1Fig.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)81.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)9La 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,10,n1,n1,10,n
Fig.9 -Contre-exemple: l"entit´ed´epartsn"est pas rempla¸cable par une association ternairePar 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 - jour0,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)101.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