Vous êtes sur la page 1sur 32

VI.

LE MODLE E/A

1. Gnralits
E/A = abrviation du terme Entit-Association (terminologie anglo-saxonne : E/R,
Entity-Relationship).
Rsulte des travaux de BACHMAN, CHEN, TARDIEU.
La mthode MERISE fait appel aux principes de base de ce modle.
Essentiellement utilis pour la phase de conception initiale.
Mise en uvre de la base de donnes transformation du schma E/A en un
schma logique de SGBD.
Extension modle EER (Extended Entity Relationship).

2. Concepts du modle de base


a) Entits et attributs
Entit = objet concret ou abstrait de l'univers du discours (ex. voiture).
Attribut = proprit de l'entit (ex. couleur dune voiture).
Attribut simple = non divisible (ex. ge).
Attribut compos = subdivis en attributs simples sous forme dune hirarchie (ex.
adresse postale = rue + code postal + ville + pays).
Attribut monovalu = qui a une seule valeur.
Attribut multivalu = qui a plusieurs valeurs (Possibilit dimbriquer composition et
multivaluation objets complexes).
Attribut driv = dont la valeur est calcule (ex. prix T.T.C. partir du prix H.T.).
Bases de donnes Le modle E/A

71

Valeur nulle = lorsque la valeur de lattribut nest pas connue.


Domaine = ensemble de valeurs que peut prendre un attribut (ex. prix = de 1 10 F).

ADRESSE
A-RUE

NUMERO

VILLE

CODE

PAYS

RUE

Exemple dattribut compos

b) Type et occurrence
Type dentit, type dattribut (ex. entier, chane de caractres).
Occurrence d'un type dentit : ralisation particulire dune entit.
Ex. Safrane comme occurrence de lentit voiture.
Occurrence dattribut : valeur particulire dun attribut.
Ex. Bleu comme occurrence de lattribut couleur.

c) Identifieurs et descripteurs dun type


Identifieurs = caractrisent d'une faon unique les occurrences d'un type.
Ex. Numro dimmatriculation pour une voiture.
Descripteurs = dcrivent une occurrence (valeurs des attributs pour cette occurrence).
Entit forte = possde un identifieur interne propre.
Entit faible = son existence est dfinie travers les identifieurs (appels encore
identifieurs externes) d'une ou plusieurs entits "parentes".

Bases de donnes Le modle E/A

72

d) Associations
Association = liaison perue entre des entits.

Notions de type et doccurrence dassociation :


Type dassociation R entre n types dentits E1, E2, , En :
ensemble doccurrences dassociations ri
chaque ri est un tuple dentits (e1, e2, , en)
chaque ei de ri est une occurrence du type Ej
R est un sous-ensemble du produit cartsien E1 x E2 x x En
Chacun des types E1, E2, , En est dit participant dans le type de relation R.
Chaque entit e1, e2, , en est dite participante dans loccurrence ri.
Plusieurs types participants peuvent tre confondus.
FOURNISSEUR
F1

APPROVISIONNE
r1

F2
F3
F4
F5

PIECE

P1

r2
P2
r3
r4

P3

F6
r5

Les diffrentes occurrences dune association APPROVISIONNE

Degr dun type dassociation = nombre de types participants.


Les associations binaires (de degr 2) sont le plus souvent utilises. Lidentifieur
dune dassociation est en gnral obtenu par juxtaposition des identifieurs des entits
participantes.
Bases de donnes Le modle E/A

73

Ex. Association binaire APPROVISIONNE, sous forme relationnelle :


APPROVISIONNE (NOF, NOP)

Les associations en tant quattributs :


Il est possible de considrer un type dassociation comme un type dattribut.
Ex. Type dassociation TRAVAILLE sur les types participants SERVICE et EMPLOYE.
1re solution : attribut multivalu EMPLOYE du type dentit SERVICE.
2me solution : attribut monovalu SERVICE du type dentit EMPLOYE.

Associations rcursives et rles :


Rle = fonction de chaque type dentit participant dans un type dassociation.
Un nom de rle est obligatoire pour un type dassociation faisant intervenir des types participants identiques.
Association rcursive = lorsquune mme occurrence dentit peut jouer plusieurs
rles dans le mme type dassociation.

PIECE

NOMENCLATURE

P7
P6
P3

r1
a pour composant
r2
est composant de
r3

P5
r4
P1

Une association rcursive NOMENCLATURE

Bases de donnes Le modle E/A

74

Cardinalits des types d'entits :


Cardinalit minimale (maximale) = nombre minimal (maximal) d'implications
d'une occurrence du type d'entit dans des occurrences du type d'association.
Association totale pour un type participant = chaque occurrence de ce type doit
participer une occurrence du type d'association (cardinalit minimale = 1). Sinon,
lassociation est partielle.
La participation des entits est dite obligatoire (optionnelle).

Attributs des types dassociations :


Il est possible de caractriser les types dassociations par des attributs.
Tout attribut dun type dassociation 1-1 est aussi attribut de lun quelconque des
types participants.
Tout attribut dun type dassociation 1-N est aussi attribut du type qui ne participe
quune fois au plus dans lassociation.
La notion dattribut dassociation nest vraiment utile que pour les associations MN.
Ex. Lassociation APPROVISIONNE (NOF, NOP, QUANTITE).

Type dentit faible et association identificatrice :


Les occurrences dun type faible sont identifies par lintermdiaire dune association (association identificatrice) par des entits dun autre type (propritaire identifieur). Le type faible doit avoir une participation totale dans lassociation identificatrice.

Bases de donnes Le modle E/A

75

3. Diagrammes E/A
a) Reprsentation graphique des concepts du modle
Attribut driv

Type d'entit

Type d'association

Attribut compos

min, max

Association identificatrice
et type d'entit faible

Cardinalits
Spcialisation avec
une seule sous-classe

Attribut descripteur

Spcialisation avec
plusieurs sous-classes

Attribut identifieur
Catgorie

Attribut multivalu

Reprsentation graphique des diffrents concepts du modle

b) Exemples dassociations
A

1, 1

0, n

0, n

0, m

1, 1

1, 1

0, 1

0, n

association
1-1

association
1-n

association
0 ou 1-n

association
m-n

Reprsentation des associations usuelles


Bases de donnes Le modle E/A

76

PIECE

PROJET

0, n

0, n
APPROVISIONNE

PIECE
assemble
0, n

compose
0, n

NOMENCLATURE
0, n
FOURNISSEUR

Association ternaire Association rcursive

4. Normalisation par dpendances fonctionnelles


Soient A et B deux types d'entits, d'attributs ou d'associations.
B dpend fonctionnellement de A (notation : note A B)
c'est toujours la mme occurrence de B qui est dfinie pour une occurrence de A.
B dpend fonctionnellement de A et C (notation : A, C B)
c'est toujours la mme occurrence de B qui est dfinie pour un couple donn d'occurrences de A et C.
Exemple :

Nss

EMPLOYE Nss
EMPLOYE Nom
EMPLOYE ENTREPRISE
EMPLOYE No-insee
EMPLOYE CONTRAT

Nom

Date

1, 1
EMPLOYE

CONTRAT

No- Insee

Raison-sociale

0, n
ENTREPRISE

Schma incluant des dpendances fonctionnelles implicites


Bases de donnes Le modle E/A

77

Cardinalits 0,1 ou 1,1 dpendances fonctionnelles (DF) appeles encore dpendances implicites.
Tout schma comprenant des dpendances fonctionnelles explicites peut tre transform en un schma intgrant des dpendances fonctionnelles implicites.

PRODUIT

CLIENT

0, n

1, n

PRODUIT

CLIENT
1, n

0, n

LIVRAISON

PROD-CLI

0, n

1, 1

DEPOT
PRODUIT, CLIENT--> DEPOT
a- association initiale

PRODUIT- CLIENT
0, 1

1, 1

PROD- LIV

PROD- DEP

1, 1
b- association dcompose

LIVRAISON

0, n
DEPOT

Transformation pour rendre implicite des dpendances fonctionnelles

5. Concepts du modle E/A tendu


a) Sous-classe et superclasse
Classe = ensemble dentits (le plus souvent du mme type).
Sous-classe = classe dont les entits constituent un sous-ensemble dune autre classe
appele superclasse.
Association EST-UN (IS-A) : association liant sous-classe et superclasse (hritage).
Toute occurrence dune sous-classe reprsente la mme entit du monde rel que
loccurrence associe de la superclasse, mais dans un rle spcifique.

Bases de donnes Le modle E/A

78

b) Hritage
Une occurrence dune sous-classe possde tous les attributs caractristiques de
loccurrence correspondante de la superclasse. On dit quelle hrite des attributs de la
superclasse. Elle hrite aussi des instances des associations auxquelles participe la superclasse.
En plus des proprits hrites, une occurrence dune sous-classe peut possder des
proprits spcifiques et intervenir dans des associations spcifiques.

Spcialisation :
Soit un ensemble de sous-classes Z = {S1, S2, , Sn} qui ont la mme superclasse
G.
G est appele type dentit gnralise, ou superclasse de la spcialisation, ou gnralisation des sous-classes {S1, S2, , Sn}.
Z est dite totale si Si = G et partielle sinon (contrainte de couverture).
Z est dite disjointe si Si Sj = pour i j et superpose sinon (contrainte de disjonction).
Les contraintes de couverture et de disjonction sont indpendantes. Il existe donc
quatre types de spcialisations :
disjointe et totale,
disjointe et partielle,
superpose et totale,
superpose et partielle.
La reprsentation graphique se fait par lintermdiaire dune toile plusieurs
branches (d indique une spcialisation disjointe, t indique une spcialisation totale).
Intrts de la spcialisation :
certains attributs ne sont applicables qu certaines entits ;
certains types dassociations ne font intervenir que les entits dune sous-classe.

Bases de donnes Le modle E/A

79

Nss

Date-naissance

Adresse

Nom

Catgorie
EMPLOYE

d, t

RESPONSABLE
1, n

SECRETAIRE

TECHNICIEN

DIRIGE

INGENIEUR

EMPLOYE
PERMANENT

EMPLOYE
TEMPORAIRE

1, 1
Langue

Spcialit

Ecole

1, 1
Salaire

Taux-horaire

PROJET
DEPEND
1, n
ORGANISME

Diverses spcialisations sur un mme type

Gnralisation :
Cest le processus inverse de celui de la spcialisation : on cherche rassembler
dans une mme classe des types dentits qui ont des proprits communes.

Rgles dinsertion et de suppression :


La suppression dune entit dans une superclasse implique sa suppression dans toutes
les sous-classes auxquelles elle appartient.
Linsertion dune entit dans une superclasse implique son insertion dans toute sousclasse dfinie par prdicat, chaque fois que le prdicat est vrai.
Linsertion dune entit dans une superclasse dune spcialisation totale implique
linsertion de cette entit dans au moins une sous-classe de la spcialisation.

Bases de donnes Le modle E/A

80

Nb places

Puissance

Prix

Prix

Nb-essieux

VOITURE

CAMION

Numro

Numro

a- Deux classes
spares

Tonnage

Prix

Numro

VEHICULE
b- Gnralisation
des deux classes
d, t
VOITURE
Nb-places

Puissance

CAMION
Nb-essieux

Tonnage

Gnralisation de deux classes

Hirarchies et treillis de spcialisations :


Une sous-classe peut elle-mme faire lobjet dune spcialisation hirarchies ou
treillis de spcialisation plusieurs niveaux.
Treillis = une sous-classe est partage entre plusieurs superclasses.
Une sous-classe hrite de tous ses ascendants.

Conception ascendante ou descendante :


Processus de spcialisation : le type dentit le plus gnral est dabord caractris
(conception descendante).
Processus de gnralisation : les types dentits les plus particuliers sont dabord
caractriss (conception ascendante).
En pratique les deux processus sont souvent combins.
Bases de donnes Le modle E/A

81

Nss

Nom

Adresse

PERSONNE

Filire

Salaire
EMPLOYE

ETUDIANT

ADMINISTRATIF
Position

ENSEIGNANT

ETUDIANT-3C

ETUDIANT-2C

ETUDIANT-1C

Rang
ATTACHE

Equipe

ATTACHE- RECHERCHE

Enseignement

ATTACHE- ENSEIGNEMENT

Un treillis de spcialisation

Catgorie :
Catgorie = sous-ensemble de lunion des superclasses correspondant des types
disjoints. Une occurrence doit exister dans au moins lune des superclasses.
Diffrence avec une sous-classe partage = une occurrence doit obligatoirement
appartenir toutes les superclasses.
Catgorie totale = chaque entit dune superclasse est aussi occurrence de la sousclasse (sa smantique est alors identique une spcialisation ou une gnralisation).

Bases de donnes Le modle E/A

82

Nss

Nom

No-permis
No-permis

Raison-sociale

Adresse

Adresse
PERSONNE

ENTREPRISE

PROPRIETAIRE
1, n

Date-achat

POSSEDE
1,n
VEHICULE

VOITURE

Numro

Modle

CAMION

Anne

Numro

Anne

Type

Tonnage

Deux catgories PROPRIETAIRE et VEHICULE

6. Modlisation avec E/A


a) Processus de modlisation
1) Reconnaissance des types d'attributs et des types d'entits.
2) Reconnaissance des spcialisations et des catgories.
3) Reconnaissance des types d'associations.
4) Vrification du schma : chaque occurrence d'un type d'entit ou d'un type d'association ne fait intervenir que les valeurs prvues pour les types d'attributs ; chaque occurrence d'un type d'entit respecte les cardinalits annonces.
Bases de donnes Le modle E/A

83

5) Normalisation : un attribut d'un type d'association ne doit pas caractriser un sousensemble de cette association.
6) Dcomposition : un type d'association de dimension n peut tre dcompos en plusieurs types d'associations de dimensions plus petites sans perte de smantique en
utilisant les dpendances fonctionnelles.
7) Simplification : un type d'association apparaissant comme rsultat d'une composition
peut tre supprim.

b) Rgles de sparation entre types d'attributs et types d'entits

Rgle 1 : Les entits possdent des informations descriptives et les attributs n'en
possdent pas. Si l'objet ne possde qu'un seul descripteur il doit priori tre considr
comme un attribut.

Rgle 2 : Les attributs doivent tre attachs aux entits qu'ils dcrivent le mieux.
Par exemple l'attribut BATIMENT caractrise mieux un SERVICE plutt qu'un EMPLOYE.

Rgle 3 : Il faut viter le plus possible les identifieurs composs. Gnralement les
identifieurs composs se rapportent des associations plutt qu' des entits.

Quantit-stock

PRODUIT

0, n

Quantit-commande

COMMANDE

0, n

DEPOT

1, n
CLIENT

Exemple de schma non normalis

Bases de donnes Le modle E/A

84

1, n

1, 1

CONSTRUCTEUR

0, n

GAMME

MODELE

0, n

1,1
SERIE

VEHICULE

1, 1
PRODUCTION

Exemple de schma avec association redondante


(PRODUCTION = GAMME x SERIE)

La simplification nest pas obligatoire (pour offrir une plus grande souplesse dans
la manipulation des donnes).
Il est possible dautomatiser partiellement le processus de conception, grce :
lanalyse des dpendances fonctionnelles,
la mise en vidence des identifieurs et des types.

7. Traduction du modle E/A en modle logique


a) Traduction vers le modle relationnel
1) Traduire chaque type dentit S en une relation. Seuls les attributs simples des attributs composs sont inclus.
2) Traduire chaque type dentit faible en une relation. La cl primaire est la concatnation de la cl partielle de lentit avec les cls primaires des entits propritaires dans
lassociation identificatrice.
3) Chaque association binaire 1-1 entre deux types dentits S et T est prise en compte
en incluant la cl primaire de lune des relations S et T comme cl trangre dans
lautre relation. Il est prfrable de choisir le type dentit dont la participation est
totale dans lassociation.
4) Une autre solution consiste rassembler S et T dans une seule relation.
5) Chaque association binaire 1-N entre S et T o S est le type dont la cardinalit
maximale est 1, est prise en compte en incluant la cl primaire de T comme cl
Bases de donnes Le modle E/A

85

trangre dans la relation S.


6) Pour chaque association binaire M-N entre S et T, crer une nouvelle relation R dont
la cl primaire est la concatnation des cls primaires de S et T. Les attributs de R
sont insrs dans R.
7) Pour chaque attribut multivalu A dun type dentit S, crer une nouvelle relation
dont la cl primaire est la juxtaposition de A et de la cl primaire de S.
8) Pour chaque association de degr n>2, crer une nouvelle relation R dont la cl primaire est la juxtaposition des cls primaires de tous les types dentit participants.
Cependant si lun de ces types a une cardinalit maximale gale 1, alors la cl primaire de R est la cl primaire de ce type.
9) Pour toute association rcursive 1-N sur le type dentit S, crer une nouvelle relation
dont la cl primaire est constitue par un attribut prenant ses valeurs sur la cl primaire de S et reprsentant le rle dont la cardinalit maximale est 1.
10) Pour toute association rcursive M-N sur le type dentit S crer une nouvelle relation dont la cl primaire est constitue par la juxtaposition de deux attributs reprsentant les deux rles de lassociation. Chacun des deux attributs prend ses valeurs
dans le domaine de la cl primaire de S.
10a- Crer trois relations A, B, C ayant pour cl primaire, la cl primaire de S.
10b- (pour une spcialisation disjointe) Crer une seule relation R rassemblant tous les
attributs de A, B et C et ayant pour cl primaire, la cl primaire de S. Un dernier attribut,
T, indique le type de chaque tuple de R (soit A, soit B, soit C). Pour ce tuple seuls les
attributs du type T sont dfinis, tous les autres prenant une valeur nulle.
10c- (gnralisation de 10b pour une spcialisation non disjointe) Crer autant
dattributs de types que de sous-classes dans la spcialisation. Pour un tuple de R, chacun de ces attributs prend la valeur 1 ou la valeur 0 selon que le tuple correspond ou ne
correspond pas au type associ.
11) Une spcialisation Z = {A, B, C} sur S peut tre traduite de trois manires. Pour
toute catgorie S (A B C), crer une nouvelle relation S et un identifieur K
qui servira de cl primaire pour S. Insrer K comme cl trangre dans chacune des
relations associes aux types dentits supports A, B, C. Si ces types dentits ont un
identifieur commun, alors K peut tre remplac par cet identifieur dans S.

b) Traduction vers le modle objet


1) Traduire chaque type dentit S en un type dobjet S. Les attributs composs peuvent
ventuellement tre dcrits par un constructeur de tuples ou tre insrs dans un type
dobjet spar (rfrenc par le type S).
Bases de donnes Le modle E/A

86

2) Traduire chaque type dentit faible en un type dobjet V. Installer une rfrence monovalue vers chaque type propritaire P, et une rfrence multivalue du type P vers
le type V.
3) Chaque association binaire 1-1 entre deux types dentits S et T est prise en compte
en installant une rfrence monovalue du type S vers le type T et du type T vers le
type S.
4) Chaque association binaire 1-N entre S et T o S est le type dont la cardinalit
maximale est 1, est prise en compte en installant une rfrence monovalue du type S
vers le type T et une rfrence multivalue du type T vers le type S.
5) Pour chaque association binaire M-N R entre S et T, crer un nouveau type dobjet R.
Installer une rfrence monovalue du type R vers le type S et une rfrence multivalue du type S vers le type R. Faire de mme pour T.
6) Si lassociation R ne possde pas dattributs, on peut se dispenser de crer le type
dobjet R. Installer alors une rfrence multivalue entre S et T et vice versa.
7) Pour chaque attribut multivalu A dun type dentit S, crer un nouveau type dobjet
et installer dans S une rfrence multivalue vers ce type.
8) Pour chaque association R de degr n>2, crer un nouveau type dobjet R. Pour chaque type participant P, installer une rfrence monovalue du type R vers le type P et
une rfrence multivalue du type P vers le type R. Cependant si lun de ces types a
une cardinalit maximale gale 1, alors la rfrence du type P vers le type R est
monovalue.
9) Pour toute association rcursive 1-N sur le type dentit S, installer une rfrence
monovalue cyclique et une rfrence multivalue cyclique sur le type S.
10) Pour toute association rcursive M-N R sur le type dentit S, crer un nouveau
type dobjet R. Installer une rfrence monovalue du type R vers le type S et une rfrence multivalue du type S vers le type R pour chaque rle du type S.
11) Une spcialisation Z = {A, B, C} sur S est traduite en crant trois sous-types A, B,
C pour le type S. Une catgorie S 1 (A B C) peut tre traduite de deux manires.
11a- Dclarer le type S comme sous type slectif de A, B, C (hritage slectif ncessaire).
11b- Introduire une rfrence monovalue entre le type S et chacun des types A, B, C et
vice versa.

Bases de donnes Le modle E/A

87

c) Traduction vers le modle rseau


1) Pour chaque type dentit, crer un type denregistrement. Les attributs composs
peuvent tre traits par des groupes composs et les attributs multivalus par des
groupes rptitifs.
2) Pour chaque type dentit faible, crer un type denregistrement et le dclarer comme
membre dans un type densemble dont le type propritaire est lentit propritaire.
Sil existe plusieurs types dentits propritaires, introduire autant de types
densembles diffrents.
3) Pour chaque association binaire 1-1 entre les types dentits S et T, crer un type
densemble R ayant lun des types comme propritaires (de prfrence le type possdant une participation totale dans lassociation).
4) Autre solution : crer un seul type denregistrement pour rassembler tous les attributs
de S et T.
5) Pour chaque association binaire 1-N entre les types dentits S et T (S possdant la
cardinalit maximale gale 1), crer un type densemble R ayant le type T comme
propritaire et le type S comme membre.
6) Pour chaque association binaire M-N entre les types dentits S et T, crer un nouveau type denregistrement R et linsrer comme membre dans deux types
densembles diffrents ayant S et T comme propritaires. Insrer les attributs de
lassociation dans R.
7) Les attributs multivalus peuvent ventuellement tre traits comme des associations
1-N.
8) Pour chaque association de degr n>2, crer un nouveau type denregistrement R et
linsrer comme membre dans autant de types densembles diffrents quil existe de
types dentits participants dans lassociation. Chacun de ces types devient propritaire dans un de ces ensembles.
9) Pour chaque association rcursive 1-N sur le type dentit S, crer un nouveau type
denregistrement R et linsrer comme membre dans deux types densembles ayant S
comme propritaire. Chaque type densemble correspond lun des deux rles tenus
par S dans R. Pour lun des types les occurrences densemble ne possdent quune
seule occurrence membre.
10) Traiter chaque association rcursive M-N de faon similaire une association rcursive 1-n. Les ventuels attributs de lassociation sont insrs dans le nouveau type
denregistrement R. Une spcialisation Z = {A, B, C} sur S peut tre traite de diverses manires comme dans le cas relationnel.
10a- Crer autant de types denregistrements que de sous-classes et les insrer comme
membre dans autant densembles diffrents avec S comme propritaire. Chaque occurBases de donnes Le modle E/A

88

rence de ces ensembles ne doit contenir quune seule occurrence membre.


10b et 10c- quivalents de la traduction relationnelle.
11) Une catgorie S (A B C) peut tre traite de deux manires.
11a- (pour une catgorie disjointe) Insrer les types supports dans un ensemble multimembre ayant S comme propritaire.
11b- Rendre chaque type support, propritaire dans des types densembles diffrents
ayant tous S comme membre.

Bases de donnes Le modle E/A

89

MODELE ER

...

Si
S1

MODELE RELATIONNEL

Sn

...

MODELE OBJET

S
S1, ...

Si,...,Sn

S1, ...

T1, ...

S(S1, S2,..,Si,...,Sn)
S

S1

...

T1

-,n
V1

...

-,n

...

S(S1, ...)
T(T1, ...)
V(V1, S1, T1, ...)
V

1,1

V1, ...

S1

Solution 1
S(S1, ..., T1)
T(T1, ...)

...
S
-,1

T1

...

-,1
T

S1

S
S1, ...

Solution 2
T(T1, ..., S1)
S(S1, ...)
T

Solution 3

T1, ...

R(S1, ..., T1, ...)

...

S1, ...
S
-,1
T1

...

S(S1, ..., T1)


T(T1, ...)
T

-,n

T1, ...

S1

...
S

R1

...

-,n

S1, ...

T1, ...

S(S1, ...)
T(T1, ...)
R(S1, T1,R1, ...)

R
T1

...
-,n
T

Bases de donnes Le modle E/A

R
R1, ...

90

MODELE RESEAU

MODELE HIERARCHIQUE

S1, ...

S1, ...

S1, ...

T1, ...

S1, ...

T1, ...

SV

TV
V

S1, T1, V1, ...

S1, T1, V1, ...

Solution 1
S

S1, ...

S1, ...
Solution 3

R
R
T

S1, ...,T1,...

T1, ...

T1, ...

T1, ...

T1, ...

R
S

S1, ...

S1, ...

S1, ...

T1, ...

S1, ...

T1, ...

SR

TR
R

R1, ...

R1, ...

Bases de donnes Le modle E/A

91

MODELE ER

S1

MODELE RELATIONNEL

...

S(S1, ...)
R(S1, A)

S1

...

S1, ...

...

...

V1

-,n

...
R

T1

S1, ...

S
S

R1

MODELE OBJET

-,1

T1, ...

V1, ...

S(S1, ...)
T(T1, ...)
V(V1, ...)
R(V1, R1, ...)
R

-,n

R1, ...

S1

...

S1, ...
S

S(S1, ...)
R(S1-rle1, S1-rle2)

-,n
rle 2

-,1
rle 1
R

S1

...

S1, ...

T1, ...

S
-,n
rle 1

-,n
rle 2

S(S1, ...)
T(T1, ...)
R(S1-rle1, S1-rle2, T1, ...)

R
R1

...

-,n

T1

...

R
R1, ...

Bases de donnes Le modle E/A

92

MODELE RESEAU

MODELE HIERARCHIQUE

S1, ...

S1, ...

ST
T

S1, ...

T1, ...

SR

V1, ...

TR

R1, ...

S1, ...

T1, ...

V1, ...

VR

R
R1, ...

S1, ...

S1, ...
SR2

SR1

rle 1

rle 2

S1, ...

T1, ...
SR2

SR1
R

R1, ...

Bases de donnes Le modle E/A

S1, ...

T1, ...

TR
ROLE1

R
R1, ...

93

MODELE ER

MODELE RELATIONNEL

MODELE OBJET

Solution 1
K

S1

S(K, S1, ...)

...

S
S1, ...

A(K, A1, ...)


S
B(K, B1, ...)
C(K, C1, ...)
Solution 2
A
A1

B
...

B1

C
...

C1 ...

A1, ...

B1, ...

C
C1, ...

S(K, S1, ...)


R(K, A1, ..., B1, ..., C1, ..., T)
Solution 3
S(K, S1, ...)
R(K, A1, ..., B1, ..., C1, ...,
TA, TB, TC)

A1, ...

A1

...

B1 ...
B

C1, ...

C1 ...
S

A(A1, ..., K)
A

B1, ...

S1, ...

C
B(B1, ..., K)
C(C1, ...,K)
S(K, S1, ...)

A1, ...

B1, ...

C
C1, ...

S
S
S1

...

Bases de donnes Le modle E/A

S1, ...

94

MODELE RESEAU
Solution 1

MODELE HIERARCHIQUE

S
K, S1, ...

A
A1, ...

B
B1, ...

Solution 1bis

Solution 1

K, S1, ...

C1, ...

A1, ...

B1, ...

C1, ...

S
K, S1, ...
SPE

A
A1, ...

B1, ...

C1, ...

S
Solution 3

Solution 3

K, S1, ...

S
K, S1, ...

A1, ..., B1, ..., C1,..., TA, TB, TC

A1, ..., B1, ..., C1,..., TA, TB, TC

Solution 1

Solution 1

K, S1, ...

K, S1, ...
CAT

A1, ...

B1, ...

A1, ...

B1, ...

AS

C1, ...

A1, ...

BS

Solution 2

B1, ...

Solution 2

C1, ...

C1, ...

K, S1, ...

CS
A

A1, ...

B
B1, ...

C
C1, ...

S1, ...

Bases de donnes Le modle E/A

95

8. Exercices
I. Une compagnie arienne veut mettre en uvre une base de donnes pour grer ses
diffrents vols.
Un VOL est un parcours arien caractris par un NUMERO, une VILLEDEPART, une VILLE-ARRIVEE, une HEURE-DEPART, une HEURE-ARRIVEE, une
DISTANCE, une FREQUENCE.
Lorsqu'un VOL est programm pour une DATE dtermine il constitue un DEPART. Un VOL nest programm qu'une seule fois dans une journe l'heure prvue.
Un certain nombre de PASSAGERS peuvent tre enregistrs pour un DEPART. Un
PASSAGER est caractris par son NOM, son ADRESSE, son NO-TELEPHONE.
Un AVION est affect chaque DEPART. Un AVION est caractris par un NUMERO, un TYPE, une CAPACITE. Un AVION utilise une certaine QUANTITE DE
CARBURANT pour accomplir le trajet. Cette dernire dpend des conditions atmosphriques, donc de la DATE.
Un certain nombre de PERSONNELS sont affects chaque DEPART. On distingue les personnels naviguants des personnels non naviguants. Parmi ces derniers on distingue le(s) pilote(s). Un membre du personnel est caractris par son NOM, son
ADRESSE, son NO-TELEPHONE.
1) On dsire utiliser cette base pour produire (entre autres) les listes suivantes :

passagers enregistrs pour un dpart,


personnels affects un dpart pour chacune des trois catgories,
dparts programms pour un vol donn,
dparts assigns un avion donn pour la semaine venir,
caractristiques du vol correspondant un dpart.

Proposer un modle conceptuel E/A pour cette base (tous les lments figurant en
majuscules dans l'nonc doivent tre pris en compte).
2) Un VOL peut en fait tre constitu de plusieurs tronons. Par ailleurs on souhaite pouvoir tablir pour chaque VILLE les vols au dpart et les vols l'arrive.
Suggrer une amlioration du modle prcdent pour prendre en compte ces deux
aspects.
Bases de donnes Le modle E/A

96

II. Une entreprise de fabrication et de distribution de matriels possde une usine et plusieurs lieux de stockage/expdition.
Un produit est caractris par un numro (NOP), un libell (LIB), un prix unitaire
(PU).
Chaque produit peut tre stock dans un ou plusieurs dpts. Un dpt est caractris par un numro (NOD). Dans chaque dpt on connat la quantit en stock de chaque
produit (QTS) et la quantit disponible (QTD) (la diffrence reprsente la quantit rserve pour des commandes dj valides mais non livres).
Un client est dtermin par son numro (NOCLI), son nom (NOM), son adresse
(ADR), le total de son chiffre d'affaire (CA), le taux de rduction (RED). Chaque client
est livr partir d'un dpt privilgi, ou partir d'un dpt de secours en cas de dfaillance du premier.
un client peuvent tre associes une ou plusieurs commandes, chacune tant caractrise par un numro (NOCOM) et une date (DAC). Une ligne comporte un code
produit, une quantit commande (QTC), un dlai de livraison (DEL) et un code livraison (CL) indiquant si la livraison est intervenue.
chaque commande peuvent tre associes une ou plusieurs factures, une facture
tant labore ds qu'une livraison est intervenue. Une facture est caractrise par un
numro de facture (NOF), une date (DAP), un montant (MOF). Une facture peut concerner plusieurs produits. Chaque ligne comprend la quantit facture (QTF) et le montant correspondant (MOP).
Proposer un schma conceptuel des donnes avec le modle E/A.

III. Il s'agit d'tablir le schma conceptuel d'une base de donnes pour la gestion des
formations d'un institut priv. Un cours est caractris par un numro de cours (NOCOURS), un libell (LIBELLE), une dure en heures (DUREE) et un type (TYPE). Un
cours peut faire l'objet dans l'anne de plusieurs sessions identiques. Une session est caractrise par un numro (NOSES), une date de dbut (DATE) et un prix (PRIX). Une
session est le plus souvent assure par plusieurs animateurs et est place sous la responsabilit d'un animateur principal. Un animateur peut intervenir dans plusieurs sessions
au cours de l'anne. On dsire mmoriser le nombre d'heures (NBH) effectu par un
animateur pour chaque session. Un animateur est caractris par un numro (NOANI),
un nom (NOMA) et une adresse (ADRA). Chaque session est suivie par un certain nombre de participants. Un participant est une personne indpendante ou un employ d'une
entreprise cliente. Un participant est caractris par un numro (NOPAR), un nom
Bases de donnes Le modle E/A

97

(NOMP) et une adresse (ADRP). Dans le cas dun employ, on enregistre le nom (NOMEN) et ladresse de lentreprise (ADREN). On dsire pouvoir grer dune manire spare (pour la facturation notamment) les personnes indpendantes dune part, et les
employs dautre part. Si ncessaire on fera les hypothses smantiques complmentaires qui pourraient s'imposer.
tablir un schma conceptuel E/A pour cette base de donnes.

IV. On donne ci-aprs le schma E/A d'une base de donnes pour grer un ensemble
d'ouvrages en vue de leurs ditions. On distingue deux types d'ouvrages: les livres et les
revues. Chaque livre a un ou plusieurs auteurs. Une revue est compose de plusieurs articles, chaque article tant gr comme un livre. Une revue n'a pas d'auteur en ellemme: les auteurs sont rattachs directement aux diffrents articles comme pour les livres.
Les volumes indicatifs sont les suivants: 5 collections, 3000 ouvrages, 1000 auteurs, 3500 contributions, 50 diteurs, 4000 ditions, 300 compositions (il y a 100 revues
comprenant en moyenne 3 articles).
Les requtes les plus frquentes qui seront formules sur cette base sont les suivantes (les nombres entre parenthses indiquent la frquence pour la priode de rfrence):
ouvrages d'un auteur avec leurs ditions (100),
composition d'une revue (10),
diteurs d'un ouvrage (1000).
Proposer une implmentation relationnelle de cette base. On justifiera les choix effectus.

Bases de donnes Le modle E/A

98

COMPOSITION
Entre dans la
composition de

A pour
composant
0, n

0, n
Nomo

Noo
OUVRAGE

0, n

1, n
1, 1
RATTACHEMENT

Date
EDITION
Prix

1, n
COLLECTION

Noc

Nomc

1, n
EDITEUR
Noe

Ade

NomEdi

Bases de donnes Le modle E/A

CONTRIBUTION

1, n
AUTEUR
Noa

Ada
NomAut

99

Correction des exercices

VOL

0,N

NUMERO
VILLE-DEPART
VILLE-ARRIVEE
HEURE-DEPART
HEURE-ARRIVEE
DISTANCE
FREQUENCE

1,1

1,N

0,N

1,N

AVION

PASSAGER

NUMERO
TYPE
CAPACITE
PERSONNE

d, p

NOM
ADRESSE
NO-TELEPHONE

NON-NAVIGANT

d, t

I.

0,N

QUANTITE DE
CARBURANT

TRONCON

NUMERO
VILLE-DEPART
VILLE-ARRIVEE
HEURE-DEPART
HEURE-ARRIVEE

DEPART

NUMERO
DATE

1,N

1,N

1,1

PILOTE

Bases de donnes Le modle E/A

NAVIGANT

PERSONNEL

0,N

1,N

PRODUIT

QTS
QTD

0,N

NOP
LIB
PU

DEPOT
NOD
0,N

0,N

Privilgi
0,N

0,N

Secours

1,1

1,1

CLIENT
NOCLI
NOM
ADR
CA
RED

QTC
DEL
CL

QTF
MOP

1,N
1,N

1,N

1,1

FACTURE

1,1

NOF
DAP
II. M O F

Bases de donnes Le modle E/A

1,N

COMMANDE
NOCOM
DAC

SESSION

1,1

1,N

COURS
NOCOURS
LIBELLE
DUREE
TYPE

NOSES
DATE
PRIX

1,N

1,1

1,N

Principal
1,N

0,N

PARTICIPANT

NOMEN
ADREN

III.

IV.

PERSONNE
NOP
NOM
ADR

OUVRAGE (NOO, NOMO, NOC)


COLLECTION (NOC, NOMC)
EDITEUR (NOE, NOMEDI, ADE)
AUTEUR (NOA, NOMAUT, ADA)
COMPOSITION (NOOC, NOOA)
EDITION (NOO, NOE, DATE, PRIX)
CONTRIBUTION (NOO, NOA)

Bases de donnes Le modle E/A

1,N

ANIMATEUR
d, p

EMPLOYE

NBH