You are on page 1of 24

Master ANI et TCI premire anne anne 2006/2007 semestre 1

Gestion des bases de donnes


(1re partie)

Ce polycopi rdig par F. Horn est bas sur deux polycopis prcdents raliss par A. Le-
may et D. Gonzalez.

I. Objectifs du cours
- savoir construire une base de donnes sur micro-ordinateur rpondant des besoins
individuels, dun service ou dune petite structure.
- Comprendre le fonctionnement des grosses bases de donnes dune entreprise ou
dune administration, pour faciliter lutilisation et le dialogue avec les informaticiens
responsables de ces bases.
- Prsentation du programme et difficults spcifiques des SGBD (rflexion pralable
aux manipulations plus importante que pour lutilisation des autres outils bureauti-
ques).

II. Gnralits sur les bases de donnes


Alors quau dbut de leur histoire les ordinateurs servaient essentiellement calculer, leur
utilisation principale de nos jours est la gestion dinformations. On les retrouve dans tous les
secteurs dactivit.
Au dpart, les informations taient stockes sous forme de fichiers crs au fur et mesure
des besoins et au cours du dveloppement de nouvelles applications. La cration non matri-
se de diffrents fichiers a rapidement pos des problmes :
- Redondance : les mmes donnes finissent par se retrouver dans plusieurs fichiers.
- Manque de cohrence : il est trs difficile de rpercuter les mises jour sur lensemble
des fichiers concerns
- Manque de structuration : labsence dune vision globale fait que les donnes sont trop
spcifiques et ne permettent pas leur rutilisation pour de nouveaux traitements.
Do lide de remplacer ces diffrents fichiers par une seule base de donnes. Une base de
donnes est dfinie comme tant un ensemble de donnes organis en vue de son utilisa-
tion par des programmes correspondant des applications distinctes, et de manire
faciliter lvolution indpendante des donnes et des programmes (Journal Officiel,
17/01/1982) :
- Par rapport des fichiers disparates, une base de donnes unifie la structuration et la
mmorisation des informations grce un modle (ou schma) unique et cohrent
des donnes.
- Ce modle unique de donnes ne doit pas tre li une application spcifique qui en
figerait la structure et doit tre suffisamment gnral pour sadapter toutes les situa-

1 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

tions particulires (do la ncessit dans la conception dune base de donnes dune
analyse globale et prospective des besoins).
- Dans une base de donnes, les donnes sont dcrites indpendamment des program-
mes (ou traitements) qui les utilisent. Il doit tre possible de modifier les programmes
appliqus sans avoir redfinir les donnes.
Un logiciel permettant dutiliser ces donnes est un systme de gestion de base de donnes
(SGBD). Il permet de dcrire, mmoriser, interroger, modifier, traiter, maintenir les donnes
constituant une base. Il permet de dfinir des rgles prcises permettant de maintenir la coh-
rence (lintgrit, la consistance) des donnes dune base en veillant ce que des donnes
identiques ne soient pas dupliques. Il permet galement dappliquer des contraintes sur les
donnes et dassurer des fonctions de confidentialit, de scurit et de partage des donnes
pour des accs concurrents.
Diffrents logiciels existent permettant cette opration. Nous allons utiliser ici le logiciel
Access comme SGBD. Ce logiciel permet une conception aise de bases de donnes de "pe-
tite" taille avec un nombre restreint dutilisateurs. Il est noter que plusieurs autres SGBD
plus performants (mais galement plus complexes) existent par ailleurs. On peut citer notam-
ment Oracle, SQL Server, Paradox, MySQL, PostgreSQL parmi beaucoup dautres.
Il existe trois types de modles de bases de donnes, les modles hirarchiques, les mod-
les en rseaux et les modles rationnels. Le modle hirarchique est le plus ancien ; dans ce
modle, lorganisation des donnes repose sur une structure arborescente (on peut faire
lanalogie avec la gestion des fichiers sur un ordinateur) : chaque information na quun seul
suprieur hirarchique et nest accessible qu partir dun point unique (la racine). Le
deuxime modle est le modle en rseaux (modle CODASYL). Chaque information peut
tre associe plusieurs autres (plusieurs suprieurs hirarchiques ) et servir de point
dentre (il ny a plus dinformations privilgies), les relations entre les donnes tant stoc-
kes dans la base avec les donnes (on peut faire lanalogie avec les liens hypermdias). Le
dernier modle est le modle relationnel sur lequel sont bass la plupart des SGBD actuels
(dont Access) et qui est le seul que nous tudierons. Dans ce modle, les informations sont
stockes dans des tables qui sont relies entre elles par des relations. Linterrogation de la
base de donnes se fait laide de requtes, ces requtes tant crites laide dun langage
commun la plupart des SGBD : le SQL (Structured Query Language). Access a comme
avantage par rapport la plupart de ses concurrents de permettre une criture en mode graphi-
que des tables, de leurs relations et de la plupart des requtes. De plus, il intgre un systme
de cration dapplications claires et simples pour chaque base de donne. Pour concevoir une
base de donnes relationnelle, il existe diffrentes mthodes la plus utilise (en France) tant
la mthode Merise.

2 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

III. Mthode Merise

1. Principes gnraux
La mthode Merise a t cre en France en 1978 sous limpulsion du ministre de lindustrie,
par un groupement de six socits de services et un centre de recherche informatique. Cette
mthode utilise le systme dit dentits-relations. Il sagit dun outil et dune technique
danalyse permettant de construire des schmas thoriques de raisonnement sur des applica-
tions tournant avec des bases de donnes dites relationnelles (comme celles dAccess).
A noter que nous ne prsenterons ici quune partie de la mthode Merise, puisque la m-
thode Merise gnrale traite de lintgralit de la conception de la base de donnes : elle ne
sintresse pas uniquement la partie correspondant au stockage des donnes, mais galement
leur traitement.
La mthode Merise considre quatre phases dans la cration dune base de donnes :
1. La phase danalyse : cette phase, qui ne sera pas tudi dans ce document, est une
phase essentielle qui consiste
tudier lexistant : y a-t-il un systme qui gre dj tout ou partie de
linformation, quil sagisse dun logiciel ou dun ensemble de documents pa-
piers ? Comment ces informations sont elles stockes ? Quelles sont les informa-
tions stockes ? Que manque-t-il ? Quest ce qui convient ou ne convient pas aux
utilisateurs ?
interroger les futurs utilisateurs : quattendent-ils du futur SGBD ? Quelles sont
les oprations quils dsirent automatiser ?
recueillir les informations existantes, tudier les divers liens qui peuvent exister
entre ces informations, mettre en vidence les rgles de gestion employes
2. La phase conceptuelle : elle consiste reprsenter lorganisation des donnes de ma-
nire gnrale. Elle aboutit la cration du modle conceptuel des donnes (MCD) dans
lequel les donnes sont reprsentes sous forme dentits lies entre elles par des rela-
tions.
3. La phase logique ou organisationnelle : dans cette phase, la base de donnes est re-
prsente sous une forme logique plus proche de sa reprsentation relle au sein du
SGBD : les informations sont reprsentes uniquement sous forme de tables au sein
dun modle logique des donnes (MLD).
4. La phase physique ou oprationnelle : elle consiste construire rellement la base de
donnes au sein du SGBD (ici Access). Cette partie ne sera pas dcrite dans cette sec-
tion, mais dans les suivantes.

A retenir : les quatre phases de la mthode Merise :


1. analyse (tude de lexistant et enqute)
2. conceptuel (cration du MCD)
3. logique (cration du MLD)
4. physique (conception de la base de donnes dans Access)

3 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

2. Modle Conceptuel de Donnes


Aprs la phase danalyse, nous pouvons commencer reprsenter les informations sous forme
conceptuelle dans un modle de donnes. Un modle de donnes est un formalisme permet-
tant de dcrire les donnes intervenant dans un systme dinformations et les liens existant
entre ces informations de faon claire, simple, complte et non ambigu. Le Modle Concep-
tuel de Donnes (MCD) que nous allons construire contient deux lments principaux : les
entits et les relations.
Une entit (ou objet) est un lment du problme. La notion dentit est rfractaire toute
dfinition formelle. Une entit est une chose (concrte ou abstraite) qui existe et est distin-
guable des autres entits. Elle est dfinie par un ensemble de proprits. Chacune des propri-
ts est lun des lments qui caractrise lentit. Il faut distinguer une entit et une occurrence
dentit (ou instance). Une entit correspond au type gnral dune donne (ex : le type "em-
ploy") alors quune occurrence dune entit est un reprsentant particulier de cette entit
(lemploy "Jean Martin"). Une occurrence dune entit est un lment particulier correspon-
dant lentit et associ un lment du rel.
Une relation est un lien possible qui relie deux entits. Elle correspond une association
perue dans le rel entre deux entits. Par exemple, si un employ peut tre affect un entre-
pt, il y aura une relation "affectation" entre lentit entrept et lentit "employ". Cela ne
signifie pas ncessairement quil y aura affectation pour chacun des employ, juste quil est
possible quun employ soit affect un entrept. Une relation peut ventuellement tre relie
plus de deux entits et peut avoir certaines proprits.
Aprs avoir fait une analyse aussi complte que possible du problme informatiser, la
construction du MCD se fait en quatre tapes :
1. reprage des entits,
2. construction des entits, choix des proprits,
3. construction des relations,
4. choix des cardinalits.

a. Reprage des entits


Une entit est un composant du problme : une personne, une facture, un livre Cest la re-
prsentation dun objet matriel ou immatriel pourvu dune existence propre et conforme aux
choix de gestion de lorganisation. Dans la description de la situation informatiser les entits
correspondent souvent aux noms. Comme dit plus haut, ce que lon considre comme entit
est un type gnral (ex : lentit personne reprsente toutes les personnes) ne pas confondre
avec une occurrence dentit (Jean Martin tant une personne, on le considre comme une
occurrence de lentit personne). Une entit doit avoir une existence indpendamment de tout
autre entit.
Exemple : On considre le problme (trs simplifi) suivant :
Une socit qui vend des produits veut informatiser la gestion des commandes de ses clients.
Chaque commande dun client peut comporter plusieurs produits diffrents.

Dans cet exercice, les entits sont :


lentit "produits" : un produit commercialis par la socit
lentit "clients" : une personne qui achte des produits la socit
lentit "commandes" : une liste de produits commands par un client la socit

4 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

b. Construction des entits


Ltape suivante correspond la construction des entits. On commence par donner un nom
chacune des entits. Il faut ensuite rechercher les proprits (ou attributs) de ces entits. Une
proprit est une donne lmentaire que lon peroit sur une entit. Chacune des proprits
dune entit prend une valeur parmi une varit de valeurs possibles (le domaine de lattribut).
Une proprit peut tre obligatoire ou facultative. On devra garder lesprit les points sui-
vants :
toute proprit est lmentaire. Elle nest pas la composition dventuelles proprits
plus petites : plutt quune proprit unique adresse, il est prfrable davoir des pro-
prits rue, code postal, ville, pays.
une proprit ne doit pas tre "instable" ou "calculable" : si une proprit peut tre ob-
tenue par calcul partir dautres lments qui vont apparatre dans la base de donne
(notamment dautres proprits), on ne doit pas la considrer : il est inutile davoir une
proprit montant de la commande si celui-ci peut tre calcul partir dautres propri-
ts.
toute entit doit possder une proprit particulire appele sa cl (ou identifiant). Une
cl doit caractriser de manire unique chaque occurrence de lentit. Lidentifiant
dune entit est une proprit de lentit telle qu chaque valeur de la proprit corres-
ponde une et une seule occurrence de lentit. Par exemple, le nom de famille dune
personne ne peut pas tre considr comme une cl dune entit "personne" puisque
deux personnes peuvent avoir le mme nom de famille. Le numro de scurit sociale
est par contre tout fait acceptable. Il vaut mieux viter les identifiants trop longs (on
prfrera un code de quelques chiffres un intitul dune vingtaine de lettres par exem-
ples). Une bonne cl ne doit pas comprendre un sous-ensemble qui pourrait lui-
mme tre une cl (notion de minimalit).
si aucune des proprits "naturelles" ne peut servir de cl, on en rajoute une artificiel-
lement (par exemple "CodeProduit" ou "IdClient").
Chaque proprit ne doit dpendre que dune seule entit.
Une entit se reprsente ensuite graphiquement sous la forme dune bote dans laquelle on
indique en titre le nom de lentit suivi de toutes ses proprits. On indique dune manire
particulire lidentifiant.

Entit
Identifiant
proprit 1
proprit 2
...

Exemple : Dans lexemple de la gestion des commandes de la socit, on peut construire


les entits suivantes (les proprits sont indiques aprs le nom de lentit, lidentifiant est en
gras) :
Clients : IdClient, nom, prnom, rue, code postal, ville, pays, tl, email.
Produits : CodeProduit, libell, prixHT, quantit en stock
Commandes : NumCommande, date, mode de paiement.
Remarque : il est galement possible de transformer la proprit ville de lentit Clients,
en une entit Villes dont lidentifiant serait le code postal. On aurait dans ce cas quatre enti-
ts :

5 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

Clients : IdClient, nom, prnom, rue, code postal, pays, tl, email.
Produits : CodeProduit, libell, prixHT, quantit en stock
Commandes : NumCommande, date, mode de paiement
Villes : CodePostal, ville
Cette solution est (un peu) plus complexe construire mais elle prsente lavantage de nces-
siter moins de saisie et despace mmoire et de faciliter une ventuelle actualisation des don-
nes (ville qui change de nom.).

c. Construction des relations


Ltape suivante consiste numrer toutes les relations possibles entre entits. Si une rela-
tion a une chance dapparatre (et de nous intresser), alors on doit la considrer dans le
MCD. On parle galement parfois dassociation. Dans la description de la situation infor-
matiser les relations correspondent souvent aux verbes.

Une relation se reprsente de la manire suivante :

Entit A Entit B
IdentifiantA IdentifiantB
Proprit 1 relation Proprit 1
Proprit 2 Proprit 2
. .

On notera les points suivants :


Une relation est en gnral entre deux entits. Il est possible davoir des relations entre
plus que deux entits. Par exemple, une relation Vente entre Acheteur, Vendeur et
Lieu pour une base de donne de transactions immobilires. Il est nanmoins souvent
possible (et prfrable !) de se restreindre des relations entre deux entits. Dans le cas
ici, la relation Vente pourrait tre remplace par une entit Acte de vente qui est en re-
lation avec lacheteur, le vendeur et le lieu.
Il est tout fait possible davoir plusieurs relations entre deux entits.
Il est galement possible davoir une relation dite rflexive, cest--dire entre une entit
et elle-mme. Par exemple, on peut avoir une relation Responsable entre une table em-
ploys et elle-mme. Dans ce cas, il convient tout de mme de remarquer que chacune
des "pattes" de la relation a une signification diffrente. Ici, lune des "pattes" signifiera
est responsable de et lautre signifiera a comme responsable.

A comme responsable
Employs
IdEmploy
Nom Responsable
Prnom
.
Est responsable de

6 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

Une relation peut avoir des proprits. Par exemple, si une relation Comporte lie
lentit Commandes et lentit Produit, elle possde certainement la proprit "quanti-
t" (une facture contient un produit x en quantit y). Dailleurs, si une proprit dpend
de plus dune entit (comme cest le cas ici avec la quantit qui dpend la fois de la
facture et du produit), cest certainement quelle dpend dune relation, et non pas
dune entit.
Il faut viter les relations que lon peut dduire dautres relations par transitivit. Par
exemple, dans une base de donnes grant une universit, si on dispose dentits tu-
diant, formation et cours. On a les relations fait partie entre formation et cours (un
cours fait partie dune formation) et inscription entre tudiant et formation. Il est inu-
tile davoir en plus une relation inscription entre tudiant et cours : tout tudiant inscrit
une formation est systmatiquement inscrit tous les cours qui composent la forma-
tion.

Exemple : Dans lexemple de la gestion des commandes de la socit, on a les relations


suivantes. La relation commande comporte produits a une proprit quantit qui
correspond la quantit dun produit qui a t command.

Clients Commandes
IdClient NumCommande
Nom passe Date
Prnom Mode de paiement
. .

comporte
(quantit)
Produits
CodeProduit
Libell
PrixHT
Quantit en stock
.

d. Choix des cardinalits


Une fois les relations tablies, il convient ensuite de caractriser le nombre de fois ou chacune
de ces relations peut apparatre rellement. Ceci se fait laide des cardinalits. Dans une re-
lation classique (i.e. entre deux entits), quatre cardinalits sont dterminer.

7 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

Entit A Entit B
IdentifiantA min A : max A min B : max B IdentifiantB
Proprit 1 relation Proprit 1
Proprit 2 Proprit 2
. .

minA est le nombre minimal de fois o une occurrence de lentit A participe une rela-
tion du type considr. Il sagit en gnral de 0 ou 1.
maxA est le nombre maximal de fois o une occurrence de lentit A participe la rela-
tion. Il sagit en gnral de 1 ou n (n pour plusieurs fois, ou un nombre quelconque de
fois).
minB et maxB fonctionnent de la mme manire, mais en considrant lentit B.
Notons quil est souvent difficile de choisir entre une cardinalit de type 0:n et une cardi-
nalit de type 1:n. Dans le premier cas, la participation la relation est facultative pour les
occurrences de lentit, alors quelle est obligatoire dans le second cas : toute occurrence de
lentit participe la relation. Il faut toutefois souligner que ce choix a souvent peu
dimportance.

Pour illustrer la notion de cardinalit, prenons lexemple dune base de donnes destine
enregistrer les mariages entre les hommes et les femmes dans des socits ayant des rgimes
matrimoniaux diffrents. Nous avons deux entits (les hommes et les femmes) et une relation
( est mari ) avec une proprit date du mariage . Les cardinalits minimales seront
gales 0 si lon prend en compte tous les hommes et toutes les femmes (y compris les cli-
bataires) et 1 si lon ne prend en compte que les hommes et les femmes maris. Les cardina-
lits maximales seront diffrentes selon le rgime matrimonial en vigueur :
1- dans une socit interdisant la polygamie et la polyandrie

Hommes Femmes
NumINSEE 0:1 Est mari 0:1 NumINSEE
Nom (date du mariage) Nom
Prnom Prnom
. .

2- dans une socit autorisant la polygamie mais interdisant la polyandrie

Hommes Femmes
NumINSEE 0:n 0:1 NumINSEE
Nom Est mari Nom
Prnom (date du mariage) Prnom
. .

Remarque : si seule la bigamie tait autorise, la cardinalit maximale pour lentit


Hommes serait 2 (et non pas n).

8 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

3- dans une socit autorisant la polyandrie mais interdisant la polygamie

Hommes Femmes
NumINSEE 0:1 Est mari 0:n NumINSEE
Nom (date du mariage) Nom
Prnom Prnom
. .

4- dans une socit autorisant la polygamie et la polyandrie

Hommes Femmes
NumINSEE 0:n 0:n NumINSEE
Est mari
Nom Nom
Prnom (date du mariage) Prnom
. .

Autre exemple : la relation rflexive Reponsable entre une table employs et elle-mme.
Il faut distinguer le cas o un employ ne peut avoir quun seul suprieur hirarchique
direct du cas o il peut en avoir plusieurs (par exemple le technicien informatique dun
UFR a deux responsables hirarchiques directs : le directeur de lUFR et le directeur du
Centre de Ressources Informatique).
Dans le premier cas (un seul suprieur hirarchique direct), les cardinalits sont :

A comme responsable
Employs 0:1
IdEmploy
Nom Responsable
Prnom
. 0:n
Est responsable de

Dans le deuxime cas (possibilit de plusieurs suprieurs hirarchiques directs), les cardi-
nalits sont :

A comme responsable
Employs 0:n
IdEmploy
Nom Responsable
Prnom
. 0:n
Est responsable de

9 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

Exemple : Dans lexemple de la gestion des commandes de la socit, les cardinalits sont
les suivantes :
Dans la relation Clients passe Commandes , pour lentit Clients la cardinalit mini-
male est 0 (si lon considre que le fichier clients contient des clients qui nont en-
core jamais pass de commandes) et la cardinalit maximale est n (un client peut passer
plusieurs commandes !). Dans cette mme relation, pour lentit Commandes la cardi-
nalit minimale est 1 (une commande est obligatoirement passe par un client !) et la
cardinalit maximale est 1 (une commande ne peut tre passe par deux clients diff-
rents !).
Dans la relation Commandes comporte Produits , pour lentit Commandes la cardinali-
t minimale est 1 (une commande comporte au moins un produit) et la cardinalit
maximale est n (puisquune commande peut comporter plusieurs produits diffrents).
Dans cette mme relation, pour lentit Produits la cardinalit minimale est 0 (si lon
considre que le fichier produits contient des produits qui nont encore jamais t com-
mands !) et la cardinalit maximale est n (un produit peut figurer dans plusieurs com-
mandes diffrentes).
Le MCD complet est donc :

Clients Commandes
IdClient NumCommande
Nom 0: n passe 1: 1 Date
Prnom Mode de paiement
. .

1: n

comporte
(quantit)
Produits
CodeProduit 0: n
Libell
PrixHT
Quantit en stock
.

e. Cas particuliers et piges


Quelques points particuliers sont garder lesprit lors de la ralisation dun MCD.
Un identifiant est obligatoire pour chaque entit.
Il ne doit pas y avoir de redondance dinformations : une information quelconque ne
doit pas tre reprsente plus dune fois dans le MCD.
vitez autant que possible les relations entre plus de deux entits. Souvent, il est possi-
ble de remplacer la relation par une entit.
Restez dans la mesure du possible avec des cardinalits de valeurs 0, 1 ou n. Il est de
toute manire souvent possible de se ramener ce cas dans les rares cas o des cardina-
lits dun autre type semblent plus naturelles.

10 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

Dans lidal, il faut trouver un bon compromis entre niveau de dtail et "taille" de la
base de donnes. Il est toujours possible de multiplier les entits, mais il vaut mieux le
faire que si cela a vraiment du sens et un intrt dans le problme. Par exemple, si on a
une entit personne, on peut considrer ladresse comme une entit spare (relie
personne par une relation "habite ") ou comme une proprit de la personne (ce qui est
fait usuellement). En rgle gnrale, il est plus conomique de dfinir ladresse comme
une proprit, mais dans un cas o il est frquent que des personnes habitent au mme
endroit, la rgle de non-redondance incite plutt utiliser une nouvelle entit.

A retenir : La mthode gnrale de construction du MCD :


1. recherche des entits,
2. recherche des proprits (dont la cl de chaque entit),
3. recherche des relations entre entits,
4. recherche des cardinalits (0:1, 1:1, 0:n ou 1:n ? )

11 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

3. Modle Logique de Donnes


Une fois le MCD construit, ltape suivante dans la conception de la base de donnes consiste
concevoir le modle logique de donnes, ou MLD. Ce MLD montre lorganisation des don-
nes sous forme de tables et est trs proche de la manire dont les donnes vont tre effecti-
vement organises dans Access. Ltape de transformation du MCD en MLD est assez simple
et passe par trois tapes :
1. transformation des entits en tables,
2. transformation des relations du MCD,
3. suppression des tables inutiles.

a. Construction des tables


La premire tape consiste transformer toutes les entits du MCD en tables du MLD. Cette
transformation est directe : il suffit de recopier les entits. Il sagit essentiellement dun chan-
gement de vocabulaire :
une entit devient une table,
une proprit devient un champ,
un identifiant devient une cl primaire,
une occurrence dune entit devient un enregistrement de la table.
A noter toutefois quil est essentiel quil ny ait pas deux tables qui aient le mme nom.

Exemple : la premire partie de la construction du MLD de la socit est directe. Il suffit


de recopier les entits.

Clients Commandes
IdClient NumCommande
Nom Date
Prnom Mode de paiement
. .

Produits
CodeProduit
Libell
PrixHT
Quantit en stock
.

b. Transformation des relations en liens


Ltape suivant consiste transformer les relations du MCD en liens du MLD. Deux grands
cas peuvent se prsenter.
1. le cas o lune des branches de la relation a une cardinalit maximale de 1 (1:1 ou 0:1)

12 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

2. le cas o les deux branches de la relation ont une cardinalit maximale de n (1:n ou 0:n)

Premier cas : lune des branches de la relation a une cardinalit maximale de 1 (1:1 ou 0:1)
Dans le cas dune relation ou lune des branches a une cardinalit de 1:1 ou 0:1, la trans-
formation de la relation se fait de la manire suivante :
On ramne dans la table correspondant lentit "du ct du 1:1" (ou du 0:1) la cl
primaire de lautre table ainsi que toutes les ventuelles proprits de la relations.
On lie la cl primaire ainsi importe avec la cl primaire de la deuxime table.
Si la relation contenait des proprits, celle-ci se retrouve galement importes du ct
du 1:1.

Entit A Entit B
IdentifiantA 1 (ou 0): 1 ?:? IdentifiantB
Proprit 1 relation Proprit 1
Proprit 2 Proprit 2
. .

Se transforme en :

Entit A Entit B
IdentifiantA IdentifiantB
IdentifiantB Proprit 1
Proprit 1 Proprit 2
Proprit 2 .
.
A noter que la cl importe (ici IdentifiantB qui se retrouve dans table A) ne devient pas
une cl de la table : cest une proprit comme une autre. Notons aussi que le lien se fait entre
champs (on relie IdentifiantA IdentifiantB) et non pas, comme dans le MCD, entre les ta-
bles.
Dans lexemple de la socit autorisant la polygamie mais interdisant la polyandrie, le MCD

Hommes Femmes
NumINSEE 0: n Est mari 0:1 NumINSEE
Nom (date du mariage) Nom
Prnom Prnom
. .
se transforme en :
Hommes Femmes
NumINSEE NumINSEE
Nom NumINSEEmari
Prnom Date du mariage
. Nom
Prnom
.

13 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

De mme, pour la socit autorisant la polyandrie mais interdisant la polygamie


Hommes Femmes
NumINSEE 0: 1 Est mari 0: n NumINSEE
Nom (date du mariage) Nom
Prnom Prnom
. .
se transforme en :
Hommes Femmes
NumINSEE NumINSEE
NumINSEEpouse Nom
Date du mariage Prnom
Nom .
Prnom
.

Remarque : si les cardinalits sont 0 : 1 pour les deux entits participant la relation, on peut
soit importer la cl primaire de la deuxime table dans la premire, soit importer la cl pri-
maire de la premire table dans la deuxime. Par exemple, dans une socit interdisant la po-
lygamie et la polyandrie, le MCD :

Hommes Femmes
NumINSEE 0: 1 Est mari 0: 1 NumINSEE
Nom (date du mariage) Nom
Prnom Prnom
. .

peut se transformer en :

Hommes Femmes
NumINSEE NumINSEE
Nom NumINSEEmari
Prnom Date du mariage
. Nom
Prnom
.

ou se transformer en :

Hommes Femmes
NumINSEE NumINSEE
NumINSEEpouse Nom
Date du mariage Prnom
Nom .
Prnom
.

14 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

Deuxime cas : les deux branches de la relation ont une cardinalit maximale de n (1:n ou
0:n)
Dans ce cas, la relation du MCD se transforme en une table du MLD :
On cre une nouvelle table correspondant la relation. Cette table contient toutes les
ventuelles proprits de la relation.
On intgre cette table les cls primaires des entits impliques dans la relation.
On relie les cls primaires des tables avec les cls importes dans la nouvelle table.
On choisit enfin la ou les cls primaires de la nouvelle table. Lide gnrale est que
chaque occurrence de cette entit doit pouvoir tre identifie de manire unique par ses
cls primaires. Cela revient en gnral choisir comme cl primaire lensemble des cls
imports des autres tables.

Entit A Entit B
IdentifiantA 1 (ou 0): n 1 (ou 0):n IdentifiantB
Proprit 1 relation Proprit 1
Proprit 2 Proprit 2
. .

se transforme en :

Relation
Entit A IdentifiantA Entit B
IdentifiantA IdentifiantB IdentifiantB
Proprit 1 . Proprit 1
Proprit 2 Proprit 2
. .

Dans lexemple de la socit autorisant la polygamie et la polyandrie, le MCD :

Hommes Femmes
NumINSEE 0: n Est mari 0: n NumINSEE
Nom (date du mariage) Nom
Prnom Prnom
. .

se transforme en
Hommes Femmes
NumINSEE Mariages NumINSEE
Nom NumINSEEmari Nom
Prnom NumINSEEpouse Prnom
. Date du mariage .

15 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

Cas particuliers
Quelques cas particuliers peuvent apparatre.
Si la relation est de type 1:1 - 1:1, on fusionne les deux entits en une. Ce type de rela-
tion rare est souvent d un problme dans la conception du MCD.
Si la relation est de type 0:1 - 1:1, on traite la relation comme une relation de type 1:1 -
?:? (en ramenant la cl primaire du ct du 1:1)
les relations ternaires (entre trois entits, ou plus), se traitent comme dhabitude. Si
lune des branches a une cardinalit de type 1:1, on ramne les cls primaires des autres
entits et les proprit de la relation dans lentit "du ct du 1:1". Si ce nest pas le cas,
la relation se transforme en table.
Les relations rflexives (entre une entit et elle-mme) se traitent comme les autres rela-
tions.
Exemple : la rflexion rflexive Reponsable entre une table employs et elle-mme.
Dans le cas dun seul suprieur hirarchique direct :

A comme responsable
Employs 0:1
IdEmploy
Nom Responsable
Prnom
. 0:n
Est responsable de

se transforme en :

Employs
IdEmploy
Nom
Prnom
IdSprieur

Dans le cas o il peut exister plusieurs suprieurs hirarchiques directs :

A comme responsable
Employs 0:n
IdEmploy
Nom Responsable
Prnom
. 0:n
Est responsable de

se transforme en :

16 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

Employs Responsable
IdEmploy IdSuprieur
Nom IdSubordonn
Prnom .
IdSprieur

c. Suppression des tables inutiles


La dernire tape consiste simplement supprimer les tables inutiles. En gnral (mais pas
toujours), une table qui ne contient quun seul champ (sa cl) est inutile : elle ne nous apporte
aucune information. Lexemple le plus classique est une entit de type "date".

Exemple : Le MLD correspondant lexemple de la socit qui veut informatiser la gestion


de ses commandes :
Clients Commandes
IdClient NumCommande
Nom IdClient
Prnom Date
. Mode de paiement
.

DtailCommandes
Produits NumCommande
CodeProduit CodeProduit
Libell QuantitCommande
PrixHT .
Quantit en stock
.

A retenir : La mthode de transformation MCD MLD :


1. les entits sont transformes en tables (sans modification)
2. les relations sont transformes en fonction de leurs cardinalits :
une relation de type ?:1 - ?:n entre une entit A et une entit B se traduit par une im-
portation de la cl primaire de lentit B dans la table de A, et on ajoute un lien entre
les deux cls,
une relation de type ?:n - ?:n ) se transforme en table dans laquelle on retrouve les cls
primaires de A et B.
3. les tables inutiles sont supprimes : il sagit essentiellement des tables un seul champ
(leur cl).

17 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

IV. Exercices dapplication

Construire le Modle conceptuel des donnes (MCD) puis le Modle Logique de donnes
(MLD) des exemples suivants (trs simplifis).

Rappel
La construction du MCD ncessite :
- le reprage des entits,
- la construction des entits et le choix des proprits, (dont la cl de chaque entit),
- la construction des relations,
- le choix des cardinalits. (0:1, 1:1, 0:n ou 1:n ? )
Pour construire le MLD partir du MCD :
- les entits sont transformes en tables (sans modification)
- les relations sont transformes en fonction de leurs cardinalits :
une relation de type ?:1 - ?:n entre une entit A et une entit B se traduit par
une importation de la cl primaire de lentit B dans la table de A, et on
ajoute un lien entre les deux cls,
une relation de type ?:n - ?:n ) se transforme en table dans laquelle on re-
trouve les cls primaires de A et B.

1- Une socit qui vend des produits veut informatiser la gestion des commandes de ses
clients. Chaque commande dun client peut comporter plusieurs produits diffrents.

2- Une entreprise veut informatiser la gestion de ses stocks. Les produits quelle com-
mercialise se trouvent dans diffrents entrepts.

3- Une compagnie dassurance automobile a des clients qui signent des contrats. Un
contrat couvre un vhicule qui appartient un client ; celui-ci peut avoir plusieurs v-
hicules. Il peut arriver que ces vhicules aient des accidents.

4- Un collge souhaite informatiser la gestion des notes de ses lves. Le collge com-
prend des classes qui ont des lves. Les professeurs enseignent diffrentes matires.
Les lves ont des notes diffrentes preuves de chaque matire.

5- Un comit dentreprise veut informatiser le catalogue des CD quil possde. Pour cha-
que CD on dsire connatre son nom, son genre (varit, classique, jazz), lanne de
sa cration, son prix HT et la quantit en stock. Un CD comprend un certain nombre
de titres. Chaque titre a un intitul, est luvre dun ou de plusieurs auteurs et est in-
terprt par un ou plusieurs interprtes. Pour les auteurs et les interprtes, on se limite-
ra la connaissance de leur nom et de leur prnom. Prenez garde au fait quun mme
CD peut comporter des titres dauteurs et dinterprtes diffrents et que bien videm-
ment un auteur (ou un interprte) peut avoir compos (ou interprt) des titres sur dif-
frents CD. Il faut galement tenir compte du fait quun auteur peut tre galement
interprte, et quun mme titre peut figurer sur des CD diffrents. Voici un exemple
dextraits du contenu d'un CD :

18 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

Les enfoirs l'opra comique. (1995) prix HT : 90 F.


genre : Varit Quantit en stock : 45
Titres Auteurs Interprtes
Dix ans a suffit Patrick Bruel, B. Garcin Patrick Bruel, Vanessa Pardis
Chansons des jumelles J. Demy, M. Legrand Liane Foly, Mimie Mathy
L'italien J.L. Dabadie, J. Datin Patrick Bruel, Serge Reggiani

6- La socit "Mon beau gte" veut informatiser la gestion de la location de son gte des
personnes. Celui-ci a une capacit de 60 places. Les sjours durent une semaine (du
samedi au samedi), identifie par un numro.

7- Une municipalit veut informatiser la gestion de sa salle des ftes. Une rservation est
effectue pour une journe (videmment il ne doit pas tre possible deffectuer deux
rservations diffrentes la mme date !) par un utilisateur. Un utilisateur peut effec-
tuer plusieurs rservations des dates diffrentes. Pour les utilisateurs, il est important
de savoir sils rsident (ou non) dans la commune. En effet, la salle est facture 300
pour une journe si lutilisateur rside dans la commune et 400 sinon. Lors de la r-
servation, lutilisateur prcisera sil souhaite galement louer la sono qui est facture
50 . Enfin lutilisateur a la possibilit de louer galement pour la journe une certaine
quantit de certains articles dont la liste figure ci-dessous.

Numro Libell Quantit disponible Prix de location unitaire


1 Table 20 5,00
2 Chaises 150 1,00
3 Assiettes 300 0,20
4 Verres 500 0,10

Par ailleurs, il faut prciser si la location a dj t paye ou non.

8- Une banque dsire informatiser les oprations de retrait et de dpt despces de ses
clients sur leur compte. Un client peut avoir plusieurs comptes la banque et un
compte peut tre commun plusieurs clients (compte joint).

9- Une librairie veut informatiser sa gestion. Elle a des clients dans diffrentes villes qui
lui passent des commandes. Une commande peut comporter plusieurs livres diffrents.
Un livre est crit par un ou plusieurs auteurs et est dit par un diteur.
Cet exercice servira de base la suite du cours.

19 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

V. Exercices supplmentaires

1. Exercice 1
Le bureau de gestion de la prsidence de la Communaut Europenne a la responsabilit
dorganiser les runions de plusieurs groupes de travail.
Le directeur du bureau doit pouvoir fixer les dates ainsi que le sujet des runions et dsi-
gner le (ou les) groupe(s) de travail qui y participe(nt). Il doit galement pouvoir imprimer un
calendrier de toutes les runions qui ont lieu durant une priode donne.
La secrtaire du bureau doit pouvoir tenir jour un fichier de personnes (avec leurs noms
et leurs coordonnes) ainsi que la composition des groupes de travail. En particulier, elle doit
connatre les coordonnes du responsable de chaque groupe de travail.

1. Identifiez les entits de ce problme.


2. Construisez le MCD qui servira linformatisation de ces tches
3. Ralisez le MLD correspondant.

2. Exercice 2
Le camp de vacances Club Mer du nord souhaite sinformatiser. Ce club possde une
centaine demplacements (tente, caravane ou bungalow). Il propose plusieurs activits sporti-
ves, certaines tant encadres par un animateur dautres non. Certaines animations ncessitent
une location de matriel (planche voile, voilier).
La direction du centre dsire stocker des informations sur tous les clients qui passent au
camp : leurs coordonnes, la dure, la date, le type de leur sjour et leur divers locations.
Dans le cas (frquent) ou plusieurs personnes dune mme famille sinscrivent ensemble, on
dsire connatre le nom, le prnom, la date de naissance et les coordonnes de chaque membre
de la famille.
Par ailleurs, le systme devra galement grer les animateurs : leur paie, les activits quils
peuvent encadrer et celles quelles encadrent effectivement une date donne. Les animateurs
tant grs selon une hirarchie stricte, on dsire galement savoir quel est le responsable
ventuel de chaque animateur.
Le systme devra galement grer les emplacements du camp savoir leur type et le client
qui loccupe pour tout sjour.

1. Reprez les diffrentes entits du problme


2. Ralisez le MCD correspondant. Vous veillerez ne pas stocker dinformation redon-
dante.
3. Ralisez le MLD partir du MCD.

3. Exercice 3
Le Conseil Suprieur de lAudiovisuel dsire constituer une base de donnes permettant de
rfrencer toutes les missions de radio nationales diffuses sur les ondes FM. La base doit
contient la rfrence de toutes les missions diffuses rgulirement et toujours la mme
heure, mais pas plus dune fois par jour (par exemple, les flashs dactualit diffuss toutes les
heures correspondent chacun une mission diffrente). Pour simplifier, on considre que
toutes les missions sont quotidiennes. On veut par contre recenser les heures de passage et la
dure des missions. La base doit galement enregistrer les coordonnes des directeurs des

20 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

radios, des animateurs intervenant dans les missions, ainsi que des personnels techniques qui
y travaillent. Il doit ainsi tre possible pour chaque mission de savoir qui lanime, quels sont
les techniciens qui participent son laboration, sur quelle radio est-elle diffuse. Pour cha-
que radio, on dsire connatre le nom du directeur.

1. Reprez les diffrentes entits du problme


2. Ralisez le MCD correspondant. Vous veillerez ne pas stocker dinformation redon-
dante.
3. Ralisez le MLD partir du MCD.

4. Exercice 4
Il vous est demand de modliser le systme dinformation ncessaire la gestion des ani-
maux du zoo de la ville de, en vue dune informatisation future. Dans ce but, le chef de
projet, M. Admar SUPIAL a interview la directrice du zoo, Mme Nathalie GATOR ; en
voici un extrait :

M. SUPIAL : Mme GATOR :


"Quels domaines souhaitez-vous informa- "Tous nos animaux sont rpertoris sur
tiser ou rorganiser ?" fiches cartonnes que nous mettons rgu-
lirement jour ; nous y prcisons divers
Mme GATOR : renseignements comme lespce, la zone
o ils se trouvent, et ctera ; nous inscri-
"En priorit les tches qui nous donnent le
vons dans un grand livre les nombreuses
plus de travail administratif, c'est--dire :
distributions daliments que nous effec-
- la gestion de lalimentation des animaux, tuons dans chaque zone en fonction des
besoins spcifiques des espces ; ces be-
- Le suivi journalier des aliments distri- soins par espce sont consigns dans un
bus dans les diffrentes zones, avec si autre livre...
possible un cumul mensuel,
Nous passons dailleurs beaucoup de temps
- la gestion de la rpartition des animaux calculer les quantits de nourriture dis-
dans les zones de parcage (pouvoir en- tribuer, vu que dans certaines zones se
registrer les arrives danimaux, savoir trouvent plusieurs dizaines danimaux. Le
o se trouve chaque animal,...) stock de nourriture est tenu jour -plus ou
moins bien- par un magasinier."
Je souhaiterais en plus, que devant chaque
zone, les visiteurs disposent dun cran ou M.SUPIAL :
dun affichage lectronique connect
lordinateur central sur lequel seraient affi- "Comment identifiez-vous les animaux ?"
ches les caractristiques des animaux qui
sy trouvent, cela serait-il possible ?" Mme GATOR :
"Chaque animal est identifi par un num-
M. SUPIAL :
ro unique 6 chiffres qui lui est attribu
"Bien sr, je trouve mme que cest une ds sa naissance ou son arrive dans le zoo.
excellente ide, mais expliquez-moi Ce numro est reproduit sur lanimal par
dabord certains points ; comment fonc- tatouage, baguage ou autres procds. On
tionnez-vous actuellement ?" connat la date de naissance, la date
darrive ainsi que le sexe de chaque ani-

21 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

mal. Un commentaire ventuel est affect lespce et du sexe. Ils sont exprims en
chaque animal." nature de laliment et en Kg/jour."

M. SUPIAL : M. SUPIAL :
"Pouvez-vous me prciser ce quest une "Pouvez-vous me donner un exemple ?"
zone de parcage ?"
Mme GATOR :
Mme GATOR :
"Bien sr ; prenez llphant dAfrique
"Chaque animal est parqu dans une mle par exemple : il lui faut 80 kg de foin
"zone" repre par un code et chaque + 10 kg davoine + 5 kg de carottes par
zone correspond une dsignation : enclos, jour."
cage, aquarium, etc.. Les animaux sont
parfois seul dans une zone, mais sont le M. SUPIAL :
plus souvent plusieurs -parfois mme,
"Que se passe-t-il quand vous tes en rup-
des animaux despces diffrentes cohabi-
ture de stock de foin par exemple ?"
tent dans une mme zone-."
Mme GATOR :
M. SUPIAL :
"Heureusement cest rare, mais a arrive...
"Rappelez-moi ce que vous entendez par
Dans ce cas nous consultons une liste dans
nom despce ?"
laquelle se trouvent les aliments de substi-
Mme GATOR : tution : par exemple pour le foin, si je
prends la liste, je trouve comme aliment de
"A chaque espce correspond un nom vul- substitution la luzerne ; notre lphant re-
gaire, cest dire employ couramment, cevra donc exceptionnellement 80 kg de
ainsi quun nom scientifique. Pour chaque luzerne en cas de rupture sur le foin !"
espce on connat sa rpartition gographi-
que : code gographique et libell gogra- M. SUPIAL :
phique, par ex. AE = Afrique quatoriale,
"Comment identifiez-vous les aliments ?"
MA = Madagascar.
Mme GATOR :
Nous notons galement le nombre -estim-
dindividus vivants dans le monde et il est "Pour des commodits dtiquetage, nous
important pour nous de savoir si lespce avons cr un code aliment en plus de la
est menace de disparition ou non. dsignation aliment ; pour chaque aliment
notre magasinier est cens tenir jour la
Pour chaque espce, nous avons rpertori
quantit disponible en stock."
son code famille ainsi que la dsignation
famille. Bien entendu des animaux M. SUPIAL :
despces diffrentes peuvent appartenir
la mme famille." "Comment seffectue la distribution des
aliments ?"
M. SUPIAL :
Mme GATOR :
"Comment dterminez-vous les besoins en
aliments ?" "Dix personnes sont responsables de la
distribution de la nourriture et de
Mme GATOR : lentretien des zones. Ces personnes sont
identifies par leur nom et prnom. Chacun
"Les animaux ont des besoins moyens en
des ces employs est responsable dune ou
nourriture journalire, qui sont fonction de

22 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

plusieurs zones dtermines. Il ny a quun en plus nous avions un affichage automati-


responsable par zone... que dinformations pour les visiteurs a
serait formidable !"
La secrtaire transmet chaque jour cha-
que responsable de zone une liste o figure M. SUPIAL :
la quantit totale daliments distribuer
dans une zone ; celui-ci nous rapporte cette "Donnez-moi un exemple de ce que vous
liste en fin de journe en ayant pris soin souhaitez afficher devant chaque zone."
dy noter les aliments et les quantits
Mme GATOR :
REELLEMENT distribues, en fonction
des disponibilits en stock. Puis la secr- "Par exemple devant la zone E3 qui est
taire inscrit ces informations dans le grand lenclos lphants, nous aurions :
livre destin lhistorique des distributions
par zone. Il serait intressant que les res- BABAR : Elphant dAfrique -
ponsables de zone saisissent eux-mme les Mle - n dans le zoo le 12/03/85
aliments distribus."
LEONTINE : Elphant dAfrique -
M. SUPIAL : Femelle - rachete au cirque Bar-
num
"Si jai bien compris, on ne sintresse
quaux aliments distribuer par zone, la Espces reprsentes :
secrtaire doit donc recalculer les besoins Elphant dAfrique (Loxodonta
chaque transfert dun animal dans une au- Africana)
tre zone ?" Famille : Elphantids
Rpartition gographique : Afrique
Mme GATOR : quatoriale, Afrique du sud
"Effectivement, et cela arrive trs souvent ; Nombre estim dindividus : 200
si lordinateur pouvait permettre 000
dautomatiser le calcul des distributions Espce menace de disparition
daliments et la mise jour du stock, et si

Question :

Construisez le MCD puis le MLD ncessaire la base de donne qui grera le zoo.

23 / 24
Master 1 ANI et STCI Initiation Microsoft Access partie 1 Semestre 1

Sommaire

I. OBJECTIFS DU COURS................................................................................................ 1

II. GENERALITES SUR LES BASES DE DONNEES................................................. 1

III. METHODE MERISE .................................................................................................. 3


1. PRINCIPES GENERAUX ..................................................................................................... 3
2. MODELE CONCEPTUEL DE DONNEES ............................................................................... 4
a. Reprage des entits................................................................................................... 4
b. Construction des entits ............................................................................................. 5
c. Construction des relations ......................................................................................... 6
d. Choix des cardinalits................................................................................................ 7
e. Cas particuliers et piges......................................................................................... 10
3. MODELE LOGIQUE DE DONNEES ................................................................................... 12
a. Construction des tables ............................................................................................ 12
b. Transformation des relations en liens...................................................................... 12
c. Suppression des tables inutiles................................................................................. 17
IV. EXERCICES DAPPLICATION ............................................................................. 18

V. EXERCICES SUPPLEMENTAIRES .......................................................................... 20


1. EXERCICE 1 ................................................................................................................... 20
2. EXERCICE 2 ................................................................................................................... 20
3. EXERCICE 3 ................................................................................................................... 20
4. EXERCICE 4 ................................................................................................................... 21

24 / 24

You might also like