Vous êtes sur la page 1sur 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. Lemay et D. Gonzalez.

I.

Objectifs du cours
-

II.

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 bureautiques).

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 matrise 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 utilisation 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 programmes (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 cohrence (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 "petite" 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 notamment Oracle, SQL Server, Paradox, MySQL, PostgreSQL parmi beaucoup dautres.
Il existe trois types de modles de bases de donnes, les modles hirarchiques, les modles 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 stockes 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 graphique 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

III.

Initiation Microsoft Access partie 1

Semestre 1

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 applications 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 mthode 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 papiers ? Comment ces informations sont elles stockes ? Quelles sont les informations 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 manire 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 relations.
3. La phase logique ou organisationnelle : dans cette phase, la base de donnes est reprsente 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 section, mais dans les suivantes.

1.
2.
3.
4.

A retenir : les quatre phases de la mthode Merise :


analyse (tude de lexistant et enqute)
conceptuel (cration du MCD)
logique (cration du MLD)
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 permettant 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 Conceptuel 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 distinguable des autres entits. Elle est dfinie par un ensemble de proprits. Chacune des proprits 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 "employ") alors quune occurrence dune entit est un reprsentant particulier de cette entit
(lemploy "Jean Martin"). Une occurrence dune entit est un lment particulier correspondant 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 entrept, 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 reprsentation 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 suivants :
toute proprit est lmentaire. Elle nest pas la composition dventuelles proprits
plus petites : plutt quune proprit unique adresse, il est prfrable davoir des proprits rue, code postal, ville, pays.
une proprit ne doit pas tre "instable" ou "calculable" : si une proprit peut tre obtenue 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 proprits.
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 corresponde 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 exemples). Une bonne cl ne doit pas comprendre un sous-ensemble qui pourrait luimme tre une cl (notion de minimalit).
si aucune des proprits "naturelles" ne peut servir de cl, on en rajoute une artificiellement (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 entits :
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 ncessiter moins de saisie et despace mmoire et de faciliter une ventuelle actualisation des donnes (ville qui change de nom.).
c. Construction des relations
Ltape suivante consiste numrer toutes les relations possibles entre entits. Si une relation 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 informatiser les relations correspondent souvent aux verbes.
Une relation se reprsente de la manire suivante :
Entit A
IdentifiantA
Proprit 1
Proprit 2
.

relation

Entit B
IdentifiantB
Proprit 1
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 relation 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 employs 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
Prnom
.

Responsable

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 "quantit" (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 tudiant, 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 inutile davoir en plus une relation inscription entre tudiant et cours : tout tudiant inscrit
une formation est systmatiquement inscrit tous les cours qui composent la formation.
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
IdClient
Nom
Prnom
.

passe

Commandes
NumCommande
Date
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 relation classique (i.e. entre deux entits), quatre cardinalits sont dterminer.

7 / 24

Master 1 ANI et STCI

Entit A
IdentifiantA
Proprit 1
Proprit 2
.

Initiation Microsoft Access partie 1

min A : max A

relation

Semestre 1

Entit B
IdentifiantB
min B : max B
Proprit 1
Proprit 2
.

minA est le nombre minimal de fois o une occurrence de lentit A participe une relation 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 relation. 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 cardinalit 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 clibataires) et 1 si lon ne prend en compte que les hommes et les femmes maris. Les cardinalits maximales seront diffrentes selon le rgime matrimonial en vigueur :
1- dans une socit interdisant la polygamie et la polyandrie
Hommes
NumINSEE
Nom
Prnom
.

0:1

Est mari
(date du mariage)

0:1

Femmes
NumINSEE
Nom
Prnom
.

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


Hommes
NumINSEE
Nom
Prnom
.

0:n

Est mari
(date du mariage)

0:1

Femmes
NumINSEE
Nom
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
NumINSEE
Nom
Prnom
.

Est mari
(date du mariage)

0:1

0:n

Femmes
NumINSEE
Nom
Prnom
.

4- dans une socit autorisant la polygamie et la polyandrie


Hommes
NumINSEE
Nom
Prnom
.

0:n

Est mari
(date du mariage)

0:n

Femmes
NumINSEE
Nom
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
IdEmploy
Nom
Prnom
.

0:1

Responsable
0:n

Est responsable de

Dans le deuxime cas (possibilit de plusieurs suprieurs hirarchiques directs), les cardinalits sont :
A comme responsable

Employs
IdEmploy
Nom
Prnom
.

0:n

Responsable
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 minimale est 0 (si lon considre que le fichier clients contient des clients qui nont encore jamais pass de commandes) et la cardinalit maximale est n (un client peut passer
plusieurs commandes !). Dans cette mme relation, pour lentit Commandes la cardinalit 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 diffrents !).
Dans la relation Commandes comporte Produits , pour lentit Commandes la cardinalit 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 commands !) et la cardinalit maximale est n (un produit peut figurer dans plusieurs commandes diffrentes).
Le MCD complet est donc :
Clients
IdClient
Nom
Prnom
.

0: n

passe

1: 1

Commandes
NumCommande
Date
Mode de paiement
.
1: n

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

0: n

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 possible 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 cardinalits 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.

1.
2.
3.
4.

A retenir : La mthode gnrale de construction du MCD :


recherche des entits,
recherche des proprits (dont la cl de chaque entit),
recherche des relations entre entits,
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 donnes sous forme de tables et est trs proche de la manire dont les donnes vont tre effectivement 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 changement 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
IdClient
Nom
Prnom
.

Commandes
NumCommande
Date
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 transformation 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
IdentifiantA
Proprit 1
Proprit 2
.

1 (ou 0): 1

?:?

relation

Entit B
IdentifiantB
Proprit 1
Proprit 2
.

Se transforme en :
Entit A
IdentifiantA
IdentifiantB
Proprit 1
Proprit 2
.

Entit B
IdentifiantB
Proprit 1
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 tables.
Dans lexemple de la socit autorisant la polygamie mais interdisant la polyandrie, le MCD
Hommes
NumINSEE
Nom
Prnom
.

0: n

Est mari
(date du mariage)

0:1

Femmes
NumINSEE
Nom
Prnom
.

se transforme en :
Hommes
NumINSEE
Nom
Prnom
.

Femmes
NumINSEE
NumINSEEmari
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
NumINSEE
Nom
Prnom
.

0: 1

Est mari
(date du mariage)

0: n

Femmes
NumINSEE
Nom
Prnom
.

se transforme en :
Hommes
NumINSEE
NumINSEEpouse
Date du mariage
Nom
Prnom
.

Femmes
NumINSEE
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 primaire de la premire table dans la deuxime. Par exemple, dans une socit interdisant la polygamie et la polyandrie, le MCD :
Hommes
NumINSEE
Nom
Prnom
.

0: 1

Est mari
(date du mariage)

0: 1

Femmes
NumINSEE
Nom
Prnom
.

peut se transformer en :
Hommes
NumINSEE
Nom
Prnom
.

Femmes
NumINSEE
NumINSEEmari
Date du mariage
Nom
Prnom
.

ou se transformer en :
Hommes
NumINSEE
NumINSEEpouse
Date du mariage
Nom
Prnom
.

Femmes
NumINSEE
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
IdentifiantA
Proprit 1
Proprit 2
.

1 (ou 0): n

1 (ou 0):n

relation

Entit B
IdentifiantB
Proprit 1
Proprit 2
.

se transforme en :
Relation
IdentifiantA
IdentifiantB
.

Entit A
IdentifiantA
Proprit 1
Proprit 2
.

Entit B
IdentifiantB
Proprit 1
Proprit 2
.

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

Hommes
NumINSEE
Nom
Prnom
.

0: n

Est mari
(date du mariage)

0: n

Femmes
NumINSEE
Nom
Prnom
.

se transforme en
Hommes
NumINSEE
Nom
Prnom
.

Mariages
NumINSEEmari
NumINSEEpouse
Date du mariage

15 / 24

Femmes
NumINSEE
Nom
Prnom
.

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 relation 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 relations.
Exemple : la rflexion rflexive Reponsable entre une table employs et elle-mme.
Dans le cas dun seul suprieur hirarchique direct :
A comme responsable

Employs
IdEmploy
Nom
Prnom
.

0:1

Responsable
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
IdEmploy
Nom
Prnom
.

0:n

Responsable
0:n

Est responsable de

se transforme en :

16 / 24

Master 1 ANI et STCI

Initiation Microsoft Access partie 1

Employs
IdEmploy
Nom
Prnom
IdSprieur

Semestre 1

Responsable
IdSuprieur
IdSubordonn
.

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
IdClient
Nom
Prnom
.

Commandes
NumCommande
IdClient
Date
Mode de paiement
.

DtailCommandes
NumCommande
CodeProduit
QuantitCommande
.

Produits
CodeProduit
Libell
PrixHT
Quantit en stock
.

1.
2.

3.

A retenir : La mthode de transformation MCD MLD :


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 retrouve les cls
primaires de A et B.
les tables inutiles sont supprimes : il sagit essentiellement des tables un seul champ
(leur cl).

17 / 24

Master 1 ANI et STCI

IV.

Initiation Microsoft Access partie 1

Semestre 1

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 retrouve 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 commercialise 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 vhicules. Il peut arriver que ces vhicules aient des accidents.
4- Un collge souhaite informatiser la gestion des notes de ses lves. Le collge comprend 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 chaque 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 interprt par un ou plusieurs interprtes. Pour les auteurs et les interprtes, on se limitera 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 videmment un auteur (ou un interprte) peut avoir compos (ou interprt) des titres sur diffrents 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
Dix ans a suffit

Auteurs
Patrick Bruel, B. Garcin

Interprtes
Patrick Bruel, Vanessa Pardis

Chansons des jumelles J. Demy, M. Legrand

Liane Foly, Mimie Mathy

L'italien

Patrick Bruel, Serge Reggiani

J.L. Dabadie, J. Datin

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 effectuer 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 rservation, 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
1
2
3
4

Libell
Table
Chaises
Assiettes
Verres

Quantit disponible
20
150
300
500

Prix de location unitaire


5,00
1,00
0,20
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

V.

Initiation Microsoft Access partie 1

Semestre 1

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 dsigner 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 sportives, 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 redondante.
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 chaque 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 redondante.
3. Ralisez le MLD partir du MCD.
4. Exercice 4
Il vous est demand de modliser le systme dinformation ncessaire la gestion des animaux 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 informatiser ou rorganiser ?"

"Tous nos animaux sont rpertoris sur


fiches cartonnes que nous mettons rgulirement jour ; nous y prcisons divers
renseignements comme lespce, la zone
o ils se trouvent, et ctera ; nous inscrivons dans un grand livre les nombreuses
distributions daliments que nous effectuons dans chaque zone en fonction des
besoins spcifiques des espces ; ces besoins par espce sont consigns dans un
autre livre...

Mme GATOR :
"En priorit les tches qui nous donnent le
plus de travail administratif, c'est--dire :
- la gestion de lalimentation des animaux,
- Le suivi journalier des aliments distribus dans les diffrentes zones, avec si
possible un cumul mensuel,

Nous passons dailleurs beaucoup de temps


calculer les quantits de nourriture distribuer, vu que dans certaines zones se
trouvent plusieurs dizaines danimaux. Le
stock de nourriture est tenu jour -plus ou
moins bien- par un magasinier."

- la gestion de la rpartition des animaux


dans les zones de parcage (pouvoir enregistrer les arrives danimaux, savoir
o se trouve chaque animal,...)
Je souhaiterais en plus, que devant chaque
zone, les visiteurs disposent dun cran ou
dun affichage lectronique connect
lordinateur central sur lequel seraient affiches les caractristiques des animaux qui
sy trouvent, cela serait-il possible ?"

M.SUPIAL :
"Comment identifiez-vous les animaux ?"
Mme GATOR :
"Chaque animal est identifi par un numro unique 6 chiffres qui lui est attribu
ds sa naissance ou son arrive dans le zoo.
Ce numro est reproduit sur lanimal par
tatouage, baguage ou autres procds. On
connat la date de naissance, la date
darrive ainsi que le sexe de chaque ani-

M. SUPIAL :
"Bien sr, je trouve mme que cest une
excellente ide, mais expliquez-moi
dabord certains points ; comment fonctionnez-vous actuellement ?"

21 / 24

Master 1 ANI et STCI

Initiation Microsoft Access partie 1

Semestre 1

mal. Un commentaire ventuel est affect


chaque animal."

lespce et du sexe. Ils sont exprims en


nature de laliment et en Kg/jour."

M. SUPIAL :

M. SUPIAL :

"Pouvez-vous me prciser ce quest une


zone de parcage ?"

"Pouvez-vous me donner un exemple ?"


Mme GATOR :

Mme GATOR :

"Bien sr ; prenez llphant dAfrique


mle par exemple : il lui faut 80 kg de foin
+ 10 kg davoine + 5 kg de carottes par
jour."

"Chaque animal est parqu dans une


"zone" repre par un code et chaque
zone correspond une dsignation : enclos,
cage, aquarium, etc.. Les animaux sont
parfois seul dans une zone, mais sont le
plus souvent plusieurs -parfois mme,
des animaux despces diffrentes cohabitent dans une mme zone-."

M. SUPIAL :
"Que se passe-t-il quand vous tes en rupture de stock de foin par exemple ?"
Mme GATOR :

M. SUPIAL :

"Heureusement cest rare, mais a arrive...


Dans ce cas nous consultons une liste dans
laquelle se trouvent les aliments de substitution : par exemple pour le foin, si je
prends la liste, je trouve comme aliment de
substitution la luzerne ; notre lphant recevra donc exceptionnellement 80 kg de
luzerne en cas de rupture sur le foin !"

"Rappelez-moi ce que vous entendez par


nom despce ?"
Mme GATOR :
"A chaque espce correspond un nom vulgaire, cest dire employ couramment,
ainsi quun nom scientifique. Pour chaque
espce on connat sa rpartition gographique : code gographique et libell gographique, par ex. AE = Afrique quatoriale,
MA = Madagascar.

M. SUPIAL :
"Comment identifiez-vous les aliments ?"
Mme GATOR :

Nous notons galement le nombre -estimdindividus vivants dans le monde et il est


important pour nous de savoir si lespce
est menace de disparition ou non.

"Pour des commodits dtiquetage, nous


avons cr un code aliment en plus de la
dsignation aliment ; pour chaque aliment
notre magasinier est cens tenir jour la
quantit disponible en stock."

Pour chaque espce, nous avons rpertori


son code famille ainsi que la dsignation
famille. Bien entendu des animaux
despces diffrentes peuvent appartenir
la mme famille."

M. SUPIAL :
"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
lentretien des zones. Ces personnes sont
identifies par leur nom et prnom. Chacun
des ces employs est responsable dune ou

Mme GATOR :
"Les animaux ont des besoins moyens en
nourriture journalire, qui sont fonction de

22 / 24

Master 1 ANI et STCI

Initiation Microsoft Access partie 1

plusieurs zones dtermines. Il ny a quun


responsable par zone...

Semestre 1

en plus nous avions un affichage automatique dinformations pour les visiteurs a


serait formidable !"

La secrtaire transmet chaque jour chaque responsable de zone une liste o figure
la quantit totale daliments distribuer
dans une zone ; celui-ci nous rapporte cette
liste en fin de journe en ayant pris soin
dy noter les aliments et les quantits
REELLEMENT distribues, en fonction
des disponibilits en stock. Puis la secrtaire inscrit ces informations dans le grand
livre destin lhistorique des distributions
par zone. Il serait intressant que les responsables de zone saisissent eux-mme les
aliments distribus."

M. SUPIAL :
"Donnez-moi un exemple de ce que vous
souhaitez afficher devant chaque zone."
Mme GATOR :
"Par exemple devant la zone E3 qui est
lenclos lphants, nous aurions :

BABAR : Elphant dAfrique Mle - n dans le zoo le 12/03/85

LEONTINE : Elphant dAfrique Femelle - rachete au cirque Barnum

Espces reprsentes :
Elphant dAfrique (Loxodonta
Africana)
Famille : Elphantids
Rpartition gographique : Afrique
quatoriale, Afrique du sud
Nombre estim dindividus : 200
000
Espce menace de disparition

M. SUPIAL :
"Si jai bien compris, on ne sintresse
quaux aliments distribuer par zone, la
secrtaire doit donc recalculer les besoins
chaque transfert dun animal dans une autre zone ?"
Mme GATOR :
"Effectivement, et cela arrive trs souvent ;
si
lordinateur
pouvait
permettre
dautomatiser le calcul des distributions
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

PRINCIPES GENERAUX ..................................................................................................... 3


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

IV.
V.

EXERCICES DAPPLICATION ............................................................................. 18


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

1.
2.
3.
4.

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

24 / 24

Vous aimerez peut-être aussi