Documente Academic
Documente Profesional
Documente Cultură
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).
71
ADRESSE
A-RUE
NUMERO
VILLE
CODE
PAYS
RUE
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.
72
d) Associations
Association = liaison perue entre des entits.
APPROVISIONNE
r1
F2
F3
F4
F5
PIECE
P1
r2
P2
r3
r4
P3
F6
r5
73
PIECE
NOMENCLATURE
P7
P6
P3
r1
a pour composant
r2
est composant de
r3
P5
r4
P1
74
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
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
76
PIECE
PROJET
0, n
0, n
APPROVISIONNE
PIECE
assemble
0, n
compose
0, n
NOMENCLATURE
0, n
FOURNISSEUR
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
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
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.
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
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.
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
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).
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
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.
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
84
1, n
1, 1
CONSTRUCTEUR
0, n
GAMME
MODELE
0, n
1,1
SERIE
VEHICULE
1, 1
PRODUCTION
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.
85
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.
87
88
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, ...
...
S1, ...
S
-,1
T1
...
-,n
T1, ...
S1
...
S
R1
...
-,n
S1, ...
T1, ...
S(S1, ...)
T(T1, ...)
R(S1, T1,R1, ...)
R
T1
...
-,n
T
R
R1, ...
90
MODELE RESEAU
MODELE HIERARCHIQUE
S1, ...
S1, ...
S1, ...
T1, ...
S1, ...
T1, ...
SV
TV
V
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, ...
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, ...
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, ...
S1, ...
T1, ...
TR
ROLE1
R
R1, ...
93
MODELE ER
MODELE RELATIONNEL
MODELE OBJET
Solution 1
K
S1
...
S
S1, ...
B
...
B1
C
...
C1 ...
A1, ...
B1, ...
C
C1, ...
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
...
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, ...
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, ...
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 :
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.
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
CONTRIBUTION
1, n
AUTEUR
Noa
Ada
NomAut
99
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
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
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
1,N
ANIMATEUR
d, p
EMPLOYE
NBH