Le mod le Entit /Association
Mehdi HAJJI
Conception BD II2
Introduction
} Le mod le E/A ou Entit s-Associations est un mod le
conceptuel de donn es de haut niveau (dabstraction).
} Origine : Travaux de Chen (USA), Tardieu(France), en 74/75
} Il permet la structuration des donn es issues du monde r el
sous forme dun ensemble dobjets appel s entit s associ es
entre elles au moyen dun ensemble dassociations.
} Ce mod le utilise un formalisme conventionnel de
repr sentation (diagramme E/A) au moyen duquel on obtient
un mod le conceptuel de donn es (MCD) qui est une
repr sentation graphique de lunivers r el mod lis .
} Ainsi, les concepts du mod le E/A sont d finis de sorte
repr senter au mieux les donn es mod liser telles que
per ues par lusager non informaticien.
Le mod le entit /association
-M. HAJJI-
2
D finitions
Entit
} D finition: Une entit est une chose concr te ou
abstraite de la r alit per ue propos de laquelle on
veut conserver des informations. Une entit a une
existence autonome.
} Exemples: le cin ma ABC, le cin ma le GAUMONT,
lacteur Woody Allen, le film le bonheur est dans le pr
Le mod le entit /association
-M. HAJJI-
3
D finitions
Un attribut
} Un attribut est une caract ristique ou une qualit dune
entit ou dune association. Il peut prendre une (ou
plusieurs) valeur(s).
Une valeur
} Une valeur est un symbole utilis pour repr senter un
fait l mentaire.
Le mod le entit /association
-M. HAJJI-
4
Entit , attribut et valeur
} Exemple dentit avec ses valeurs dattribut:
Nom = Matile
e1
Pr nom = Fran ois, Pierre
Adresse = Gen ve
Date de naissance = 12 novembre 1955
Le mod le entit /association
-M. HAJJI-
5
Entit , attribut et valeur
} Les attributs peuvent tre:
} atomiques.
Ex: Pr nom, nom, &
} compos s.
Ex:
Date de naissance
Jour
Mois
Ann e
} monovalu s (une seule valeur pour une entit donn e).
Ex: Nom, Adresse, Date de naissance.
} multivalu s (plusieurs valeurs pour une entit donn e).
Ex: Pr nom, T l&
Le mod le entit /association
-M. HAJJI-
6
Entit , attribut et valeur
} Dans un processus de mod lisation on ne sint resse pas chaque
entit s par ment mais un type dentit .
} D finition: Un type dentit est la classe de toutes les entit s de la
r alit per ue qui sont de m me nature et qui jouent le m me r le.
} Un type dentit est d crit par:
} un nom
} une d finition qui pr cise la signification que nous voulons retenir de ce
type dentit dans le cadre de la base de donn es.
} une liste dattributs
} Exemple:
} Le type dentit auteur regroupe des personnes auteur darticles de
journaux caract ris es par leur nom, leur pr nom, leur adresse et leur
date de naissance.
} Simplification de la terminologie:
} on appellera entit un type dentit
} on appellera occurrence dune entit un individu particulier faisant partie
de lentit .
Le mod le entit /association
-M. HAJJI-
7
Entit , type dentit
} La description dune entit est appel e le sch ma de
lentit ou lintention de lentit .
} Lensemble des occurrences dune entit qui existent
(dans la base de donn es) un instant particulier
dans le temps sappelle lextension de lentit .
Le mod le entit /association
-M. HAJJI-
8
Entit , type dentit
} Exemple:
SCHEMA
(INTENTION)
AUTEUR
Nom, Pr nom, Adresse, Date de naissance
OCCURRENCES
(EXTENSION)
e1 .
(Matilde, Fran ois Pierre, Gen ve, 12 nov 1955)
e2 .
(Develey, Jacques, Gen ve, 5 jan 1949)
e3 .
(Rossel, Serge, Gen ve, 3 mars 1960)
.
.
.
Le mod le entit /association
-M. HAJJI-
9
Entit : sch ma, intention et
extension
} Remarques:
} Le sch ma dune entit ne va pas changer fr quemment car il
d crit la structure de lentit .
} Lextension peut changer souvent: chaque insertion ou
suppression dune occurrence dentit .
Le mod le entit /association
-M. HAJJI-
10
Type de valeur ou domaine dun
attribut
} D finition: Le type de valeur ou le domaine dun attribut est la
sp cification de toutes les valeurs possibles que peut prendre un
attribut.
} Utilit :
} v rifier la validit dune donn e
} ult rieurement, estimer la place de stockage des donn es
} La sp cification dun type de valeur est donn e soit:
} par la liste des valeurs
} par la propri t que doivent v rifier les valeurs
} Exemples:
} couleur = {rouge, bleu, jaune, vert}
} num ro de journal = entier compris entre 1 et 366
} nom = cha ne de caract res alphab tiques
Le mod le entit /association
-M. HAJJI-
11
Identiant dune entit
} Contrainte: chaque occurrence dune entit doit pouvoir tre
rep r e individuellement et distingu e de toutes les autres >
cest le r le de lidentifiant.
} D finition: On appelle attributs cl ou identifiant dune entit un
groupe minimal dattributs et/ou tel qu chaque combinaison de
valeurs prises par ce groupe correspond au plus une occurence de
cette entit .
} Lidentifiant est form dun ou plusieurs attributs de lentit
identifier.
} Exemples:
} le nom de l diteur est lattribut cl de lentit diteur.
} le nom et le pr nom de lauteur sont les attributs cl de lentit
auteur.
Le mod le entit /association
-M. HAJJI-
12
Repr sentation graphique du sch ma
dune entit selon Chen
} Repr sent e par un rectangle contenant le nom du type
de l'entit et entour e par ses attributs. Lidentifiant (un
ou plusieurs attributs doi(ven)t tre soulign (s).
nom
pr nom
AUTEUR
date de naissance
adresse
jour
mois
ann e
Le mod le entit /association
-M. HAJJI-
13
Application
} Optique: conception dune base de donn es destin e
conserver des descriptions darticles parus dans les journaux.
} R alit per ue:
} Un diteur dite des journaux. Il est caract ris par un nom et une
adresse.
} Un journal est dit par un diteur et publie des articles dans ses
num ros. On conservera le nom du journal et le nom de son
r dacteur en chef.
} Un num ro de journal contient une collection darticles.
} Chaque article paru dans un num ro est sign par un auteur. On
d sire conserver le titre et un r sum de larticle ainsi que le nom
de son auteur.
} Les auteurs sont connus par leur nom, leur pr nom, leur adresse et
leur date de naissance.
Le mod le entit /association
-M. HAJJI-
14
Application
} A partir de l nonc , Enum rez la liste des entit s en
pr cisant pour chacune :
} Le nom, La d finition, la liste dattributs et lidentifiant de
lentit
} Exemple
Pour une entit :
- un nom
- une d finition
Ex:
AUTEUR
Un auteur est une personne
qui a crit au moins un article
Paru dans un journal qui
Nous int resse
- une liste dattributs
Nom auteur, pr nom auteur,
adresse auteur
- au moins identifiants
(nom auteur, pr nom auteur)
Le mod le entit /association
Mariem FARHAT JAOUANI
-M. HAJJI-
15
16
Application
} Et pour chaque attribut, vous sp cifiez le nom, la
d finition, la structure, le domaine de valeurs et si
lattribut est obligatoire ou non,
Pour un attribut:
- un nom
- une d finition
- une structure (atomique
ou compos , monovalu
ou multivalu )
Publicité
Ex:
adresse auteur
nom de la ville dans
laquelle r side lauteur
atomique et monovalu
- Un domaine de valeurs
cha ne de caract res
- attribut obligatoire ou
facultatif
facultatif
Le mod le entit /association
-M. HAJJI-
16
Association
} D finition: Une association est une correspondance entre
deux ou plusieurs occurrences dentit s propos de laquelle
on veut conserver des informations.
} Lexistence dune association est contingente
lexistence des occurences dentit s quelle met en
correspondance.
} Chaque occurrence dentit joue un r le particulier dans
lassociation.
} On dit aussi que les occurrences dentit s mises en
correspondance par lassociation participent
lassociation
Le mod le entit /association
-M. HAJJI-
17
Association
} Exemple:
} L criture (association) de larticle Lordinateur va-til
changer notre mode de penser? par Gustave Moeckli
exprime la correspondance qui existe entre Gustave
Moeckli et larticle Lordinateur....
} le r le jou par loccurrence de lentit auteur Gustave
Moeckli: il crit larticle Lordinateur...
} le r le jou par loccurrence de lentit article
Lordinateur...: il est crit par Gustave Moeckli.
Le mod le entit /association
-M. HAJJI-
18
Association, type dassociation
} D finition: Un type dassociation est la classe de toutes
les associations possibles de la r alit per ue qui v rifient
la d finition constitutive du type.
} D finition constitutive dun type dassociation (sch ma):
} un nom et une liste dentit s (non n cessairement distinctes)
qui participent au type dassociation avec leurs r les respectifs;
notation: A(ro1: E1,ro2: E2,..., ron: En)
} notation simplifi e: A(E1, E2,..., En)
} une description qui pr cise la signification que nous voulons
retenir de ce type dassociation dans le cadre de la base de
donn es.
Le mod le entit /association
-M. HAJJI-
19
20
Association, type dassociation
} Exemple:
} ECRITURE( crit : AUTEUR, est crit par : ARTICLE)
} Le type dassociation ECRITURE exprime le fait quun
auteur crit un ou plusieurs articles ou, sym triquement,
quun article est crit par un auteur.
} Simplification de la terminologie:
} on appellera association un type dassociation
} on appellera occurrence dassociation toute correspondance
qui existe entre deux ou plusieurs occurrences dentit s.
Le mod le entit /association
-M. HAJJI-
20
Extension dune association
} Lensemble des occurrences dune association qui
existent (dans la base de donn es) un instant
particulier dans le temps sappelle lextension de
lassociation.
Le mod le entit /association
-M. HAJJI-
21
Extension dune association
} Exemple: une extension de lassociation criture
Le mod le entit /association
-M. HAJJI-
22
Repr sentation graphique du sch ma
dune association
} Repr sent es par un losange contenant le nom de
l'association
} Souvent nomm par un verbe ou un substantif
} Les entit s participantes de chaque association sont
rattach es l'association au moyen de lignes continues.
} Chacune de ces lignes est tiquet e par la cardinalit et
les r les des entit s.
Entit 2
R le E2
(min, max)
Nom
assocication
R le E1
(min, max)
Entit 1
Le mod le entit /association
-M. HAJJI-
23
24
Repr sentation graphique du sch ma
dune association
Personne
Propri taire
Poss de
Poss d e
Voiture
Fournisseur
Vend
Produit
Vendeur
Vendu
Le mod le entit /association
-M. HAJJI-
24
Repr sentation graphique du sch ma
dune association
} Le lien (larc) n'est pas orient : les commandes
comportent des produits veut dire galement que les
produits peuvent tre command s.
Commande
Comporte
Poss de
Est command
Produit
Le mod le entit /association
-M. HAJJI-
25
Autre formalisme
} Entit
Nom de la classe
dentit s
} Association
Nom de lassociation
Le mod le entit /association
-M. HAJJI-
26
Autre formalisme
ACTEURS
R LE
R LE
FILMS
JOUE
Le mod le entit /association
-M. HAJJI-
27
Degr dune association
} Degr dune association: nombre dentit s qui participent
une association
} cas fr quent: degr 2 (association binaire) qui relie deux
entit s.
} Exemple : lassociation criture relie les deux entit s
Article et Auteur; elle est dite binaire.
Auteur
Ecrivain
Poss de
A t crit
Article
Le mod le entit /association
-M. HAJJI-
28
Cardinalit d'une association
} One to one
Personne
1
Habite
Habite
1
Adresse
Est habit par
} One to many
Personne
N
Poss de
1
Voiture
Poss de
Est poss d par
} Many to many
Vendeur
N
Vend
Vend
M
Produit
Vendu par
Le mod le entit /association
-M. HAJJI-
29
Cardinalit (min,max)
} But: exprimer le nombre minimum et le nombre
maximum de participations de chaque occurrence
dentit une association.
} Exemple:
} on exprime la contrainte que tous les auteurs doivent crire
au moins un article. On crira min=1 et max=N (N veut dire
nombre ind termin ).
} on exprime la contrainte que tout article doit tre crit par
un et un seul auteur. On crira min=1 et max=1.
Le mod le entit /association
-M. HAJJI-
30
Cardinalit (min,max)
} Plus g n ralement:
} Soit A(ro1: E1, ro2: E2,..., ron: En) une association. La
contrainte de cardinalit de A est d nie par un
ensemble de couple (mini, maxi) 1d i dn.
} Mini: indique le nombre minimum de fois, qu tout
moment toute occurrence de Ei doit assumer le r le roi.
} Maxi: indique le nombre maximum de fois qu tout
moment toute occurrence de Ei peut assumer le r le roi.
Le mod le entit /association
-M. HAJJI-
31
30
Cardinalit (min,max)
Valeur
mini = 0
mini = 1
maxi = k (k>1)
maxi = N
Signification
Toute occurrence de Ei peut exister ind pendamment de A;
on parle de participation partielle de Ei A
aucune occurrence de Ei ne peut exister ind pendamment
de A; on parle de participation totale de Ei A
toute occurrence de Ei assume au plus k fois le r le roi
toute occurrence de E peut assumer un nombre non limit
de fois le r le roi
Publicité
(min,max)
(0,2)
Personne
conduire
(min,max)
(1,n)
Voiture
Le mod le entit /association
-M. HAJJI-
32
Cardinalit (min,max)
Valeur
mini = 0
mini = 1
maxi = 1
maxi = N
Signification
Toute occurrence de Ei peut exister ind pendamment de A;
on parle de participation partielle de Ei A
aucune occurrence de Ei ne peut exister ind pendamment
de A; on parle de participation totale de Ei A
toute occurrence de Ei assume au plus 1 fois le r le roi
toute occurrence de Ei assume au plus une fois le r le roi
(min,max)
(0,n)
Personne
poss de
(min,max)
(1,1)
Voiture
Le mod le entit /association
-M. HAJJI-
33
Repr sentation graphique
du sch ma dune association
} Exemple: association criture
Une occurrence de lentit auteur a crit au moins une fois
Une occurrence de lentit auteur a crit au plus N fois
Une occurrence de lentit article a t crite au moins une fois
Une occurrence de lentit article a t crite au plus une fois
Le mod le entit /association
-M. HAJJI-
34
Instance de lassociation criture
AT1
AT2
AT3
AT4
Le mod le entit /association
E1
E2
E3
E4
E5
E6
E7
E8
E8
AR1
AR2
AR3
AR4
AR5
AR6
AR7
AR8
-M. HAJJI-
35
Application
} Donnez le r le de chaque entit quelle joue dans
lassociation.
} Expliquez la cardinalit (min, max) de chaque entit en
donnant un exemple et d duire le type de lassociation.
Ville
(1,1)
capitale
(1,1)
Pays
Journaliste
(1,N)
travaille
(1,N)
Journal
Le mod le entit /association
-M. HAJJI-
36
Application
Le mod le entit /association
-M. HAJJI-
37
Application
} Acteurs vers Films : le r le de type 1,N
} (1) un acteur a jou dans au moins un film
} (N) un acteur peut avoir jou dans plusieurs films
} De Films vers Acteurs 0,N:
} (0) : un film nayant pas dacteurs, possible si cest un film
documentaire
} (N) : un film peut avoir plusieurs acteurs
} De Films vers R alisateurs :
} Un film a au moins un r alisateur min=1 dailleurs souvent
} Il y a au plus un r alisateur (max=1). Un film a un seul
r alisateur
Le mod le entit /association
-M. HAJJI-
38
Application
} Selon le sch ma suivant
Est-ce qu:
} un patient peut effectuer
plusieurs visites,
} un m decin peut recevoir
plusieurs patients pendant
la m me consultation,
} un m decin peut prescrire
plusieurs m dicaments lors
d'une m me consultation,
} deux m decins diff rents
peuvent prescrire le m me
m dicament,
Le mod le entit /association
-M. HAJJI-
39
Attributs dune association
} Une association peut avoir ses attributs propres
} Exemple:
} le nombre de m dicament qui a t prescrit dans une
consultation
} Notation:
} Prescrit(prescrit : consultation, a t prescrit :
m dicament, nbrPrise)
Le mod le entit /association
-M. HAJJI-
40
40
Exemple
Code
NbrPrise
Num ro
M dicament
pr scrit
Consultation
Date
Le mod le entit /association
-M. HAJJI-
41
Application
} Sch matisez les associations suivantes:
} Un joueur peut participer dans plusieurs matchs et gagner.
On souhaite enregistrer les matchs jou s et ceux qui ont
t gagn ainsi que le score.
} Un joueur peut participer dans plusieurs matchs, il peut
perdre ou gagner, on souhaite enregistrer le total des
scores des matchs quil a jou s.
} Un joueur peut participer dans plusieurs matchs, on
souhaite enregistrer la date de chaque match jou .
Le mod le entit /association
-M. HAJJI-
42
Identication dune association
} Lidentifiant est implicite.
} Par d finition, une association est identifi e par
lensemble des r les assum s par les entit s quelle met
en correspondance.
} Exemple:
} ECRITURE( crit: AUTEUR, est crit par: ARTICLE)
} Identifiant: ( crit: AUTEUR, est crit par: ARTICLE)
Le mod le entit /association
-M. HAJJI-
43
Cas particulier
} Association (lien) r flexive
} Association entre plusieurs entit s (plus que deux)
} Plusieurs associations entre deux entit s
Le mod le entit /association
-M. HAJJI-
44
Association (lien) r flexive
} Appel e aussi cyclique ou r cursive
} Une association "r flexive" est une association qui lie des
occurrences d'une m me entit entre elles (c'est un cas
particulier de la dimension 2)
} Exemple:
} FILIATION(p re: PERSONNE, fils: PERSONNE) o dans une
occurrence dassociation une personne peut assumer un des
deux r les p re ou fils.
Le mod le entit /association
-M. HAJJI-
45
Repr sentation graphique dune
association r flexive
Est p re de
Personne
pr scrit
Est fils de
Le mod le entit /association
-M. HAJJI-
46
Association entre plusieurs entit s
(plus que deux)
} On peut envisager des associations entre plus de deux
entit s
} M me sil ny a en principe pas de limite sur le degr
dune association, en pratique on ne va jamais au-del
dune association entre trois entit s.
} Quelques difficult s:
} elles sont plus difficiles comprendre, et surtout la
signification des cardinalit s devient beaucoup plus ambigue.
} La d finition des contraintes
Le mod le entit /association
-M. HAJJI-
48
Association entre plusieurs entit s
(plus que deux)
} Exemple: un film peut tre projet dans plusieurs salle
certains horaires diff rentes
} Chaque instance de cette association lie un lm, un
horaire et une salle.
} les cardinalit s sont, implicitement, (0,N). Il nest pas
possible de dire quune entit ne participe quune fois
lassociation.
horaire
Film
projet
Salle
Le mod le entit /association
-M. HAJJI-
49
Association entre plusieurs entit s
(plus que deux)
} elle ne permet pas dimposer certaines contraintes
comme, par exemple, le fait que dans une salle, pour un
horaire donn , il ny a quun seul film. Comme le montre
la figure il est tout fait possible de cr er deux liens
Publicité
distincts qui sappuient sur le m me horaire et la m me
salle.
Le mod le entit /association
-M. HAJJI-
50
50
Association entre plusieurs entit s
(plus que deux)
} Les associations de degr sup rieur deux sont donc
difficiles manipuler et interpr ter. Il est toujours
possible de remplacer cette association par un type
dentit .
Film
(1,n)
projection
horaire
(1,n)
r alis
(1,1)
S ance
(1,1)
(1,1)
Salle
(1,n)
Seffectue
Le mod le entit /association
-M. HAJJI-
51
Association entre plusieurs entit s
(plus que deux)
} Soit A une association entre les types dentit (E1, E2,
&). La transformation de A en type dentit seffectue en
trois tapes :
1. On attribue un identifiant A.
2. On cr e une association Ai de type (1,n) entre A et
chacun des Ei.
La contrainte minimale, du c t de A , est toujours 1.
3.
Le mod le entit /association
-M. HAJJI-
52
Association entre plusieurs entit s
(plus que deux)
} On reprend l'exemple pr c dent:
} Lassociation projection peut tre transform e en un
type dentit S ance. On lui attribue un identifiant
idSeance et des associations (1,n) avec Film, Horaire et
Salle.
Le mod le entit /association
-M. HAJJI-
53
Autre exemple
Le mod le entit /association
-M. HAJJI-
54
Plusieurs associations entre deux
entit s
} On peut d finir plusieurs associations
entre deux entit s qui vont faire
correspondre diff rentes occurrences
} Exemple: Entre deux entit s personnes
et voiture on peut d finir
} Association poss de qui fait correspondre
Personne
(0,n)
(0,n)
chaque personne aux voitures quils
poss dent
Poss de
Conduit
} Association conduire qui fait correspondre
chaque personne aux diff rentes voitures
quil peut conduire
(1,n)
Voiture
Le mod le entit /association
-M. HAJJI-
55
Exemple
P1
P2
P3
P4
P5
P6
P7
P8
P9
Po1
Po2
Po3
Po4
C1
C2
C3
C4
C5
V1
V2
V3
V4
V5
V6
V7
Le mod le entit /association
-M. HAJJI-
56
Exemple
Le mod le entit /association
-M. HAJJI-
57
Application: est-ce un bon mod le?
} Analyser ce sch ma et discuter
ses cardinalit s.
} Est-ce quun tournoi permet les
matchs de double?
} Est-ce que les joueurs peuvent
gagner des matchs auxquels ils
n'ont pas particip
} Est-ce que deux matchs
diff rents peuvent se d rouler
sur le m me terrain la m me
heure
} pensez vous que ce mod le soit
un bon mod le pour la gestion
d'un tournoi de tennis?
Le mod le entit /association
-M. HAJJI-
58
Application
} Un avion a un num ro d'immatriculation, un type et une localisation (la ville
de l'a roport d'attache de l'avion). Chaque type d'avion est d crit par son
nom (Boeing 747, Airbus A340 ...), son poids, sa capacit et son rayon
d'action.
} Un technicien de la compagnie a un nom, un matricule, une adresse (la ville
de r sidence), un num ro de t l phone, un salaire et est expert sur un ou
plusieurs types d'avion pendant une p riode donn e (date d but et date
fin).
} Un pilote est d crit par les m mes attributs qu'un technicien. De plus il
doit passer un examen m dical annuel.
} Chaque avion doit galement passer un certain nombre de tests de bon
fonctionnement.
} Chaque test a un num ro qui l'identifie, un nom et une valeur minimale (un
seuil atteindre). Nous souhaitons conserver la date et l' tat de chacun
des tests.
} Chaque vol est command par un seul pilote et concerne un seul avion. Un
vol a une ville de d part (ville_dep) une ville d'arriv e (ville_arr) et une
heure de d part (h_dep) une heure d'arriv e (h_arr)
Le mod le entit /association
-M. HAJJI-
59
Application
Le mod le entit /association
-M. HAJJI-
60
Application
} Un diteur dite des journaux. Il est caract ris par un
nom et une adresse.
} Un journal est dit par un diteur et publie des articles
dans ses num ros. On conservera le nom du journal et le
nom de son r dacteur en chef.
} Un num ro de journal contient une collection darticles.
} Chaque article paru dans un num ro est sign par un
auteur. On d sire conserver le titre et un r sum de
larticle ainsi que le nom de son auteur.
} Les auteurs sont connus par leur nom, leur pr nom, leur
adresse et leur date de naissance.
Le mod le entit /association
-M. HAJJI-
61
Application
} A partir de l nonc , Enum rez la liste des associations en
pr cisant pour chacune :
} Le nom, La d finition, la liste des entit s qui participent,
les r les et les cardinalit s et la liste des attributs
} Exemple
Le mod le entit /association
-M. HAJJI-
62
Notion dentit faible
} Certaines entit s dites "faibles" n'existent qu'en r f rence
d'autres entit s dites forte .
} Une entit de type faible, galement appel e entit non
identifi e, poss de une cl locale (appel e identifiant
relatif) qui permet d'identifier une de ses occurrences
parmi l'ensemble des occurrences associ es une
occurrence de l'entit identifiante.
} La cl compl te d'une entit faible est la concat nation
de la cl de l'entit identifiante et de sa cl locale.
Le mod le entit /association
-M. HAJJI-
63
Exemple
} L'entit T che est compl tement d pendante de l'entit
Projet et sa cl locale (No_t che) n'est pas suffisante
l'identifier de fa on absolue.
NomProjet
N t che
N Projet
Projet
(1,n)
contenir
(1,1)
T che
dur eProjet
N Projet
NomT che
} Remarque: La cardinalit du r le de lentit faible au sein
de lassociation est (1,1)
Le mod le entit /association
-M. HAJJI-
64
Contraintes dint grit
} But: sp cifier des propri t s s mantiques du r el per u
qui ne sont pas exprimables avec le mod le E.A.
} D finition: Une contrainte dint grit (C.I.) est une propri t
non repr sent e par les concepts de base du mod le E.A. que
donn es appartenant la base de
doivent satisfaire les
donn es.
} Effet:
limiter les occurrences possibles des
structures
dinformation.
Le mod le entit /association
-M. HAJJI-
70
Contrainte dint grit statique /
dynamique
} Statique: propri t qui doit tre v rifi e tout moment.
} Ex.
} un auteur doit crire au moins un article (cardinalit )
} date de mariage dune personne >date de naissance
Publicité
} Dynamique: propri t que doit respecter tout
changement d tat de la base de donn es > d finit les
s quences possibles des changements d tat de la BD
} Ex.
} le salaire dun employ ne peut que cro tre
Le mod le entit /association
-M. HAJJI-
71
70
C.I. statiques obligatoires
} Elles compl tent obligatoirement la description dun
sch ma.
} 3 types de C.I. obligatoires : identification, cardinalit ,
attribut obligatoire ou facultatif.
1. Contrainte didentification:
} Toute entit ou association doit avoir un identifiant: il permet
de rep rer de mani re univoque chaque occurrence de ce
type.
2. Contrainte de cardinalit (ou de connectivit ):
} D finit le nombre minimum et le nombre maximum de
participations de chaque occurrence dentit une association.
3. Attribut obligatoire ou facultatif
Le mod le entit /association
-M. HAJJI-
72
71
Notion de sous-typage
} Si lentit F est un sous-type de lentit E, alors toutes les
occurrences de F sont aussi des occurrences de E dont
elles h ritent les attributs et les associations auxquelles
participe E.
} Pour des raisons de simplicit , nous consid rons quune
entit ne peut avoir quun seul sur-type.
} Corollaire: la structure des sous-types constitue une
arborescence.
} La contrainte de sous-typage est d riv e du m canisme
dabstraction de g n ralisation et de sp cialisation
Le mod le entit /association
-M. HAJJI-
73
Exercice 1. Biblioth que
} La Biblioth que d'un syndicat intercommunal consiste en 5 centres
de pr t. Ces centres disposent dordinateurs personnels interconnect s
qui doivent permettre de g rer les emprunts.
} L'interview des biblioth caires permet de d terminer les faits suivants :
} une personne qui s'inscrit la biblioth que verse une caution. Suivant le montant
de cette caution elle aura le droit d'effectuer en m me temps de 1 10
emprunts ;
} les emprunts durent au maximum 15 jours ;
} un livre est caract ris par son num ro dans la biblioth que (identifiant), son
titre, son diteur et son (ses) auteur(s) ;
} on veut pouvoir obtenir, pour chaque abonn les emprunts qu'il a effectu
(nombre, num ro et titre du livre, date de l'emprunt) au cours des trois derniers
mois ;
} toutes les semaines, on dite la liste des emprunteurs en retard : nom et adresse
de labonn , date de l'emprunt, num ro(s) et titre du (des) livre(s) concern (s) ;
} on veut enfin pouvoir conna tre pour chaque livre sa date d'achat, son tat et s'il
est disponible dans quel centre.
Le mod le entit /association
-M. HAJJI-
74
Exercice 1. Biblioth que
Livre
num ro
titre
auteur
centre
diteur
tat
date-achat-jour
date-achat-mois
date-achat-ann e
Emprunt
date-emprunt-jour
date-emprunt-mois
date-emprunt-ann e
date-retour-jour
date-retour-mois
date-retour-ann e
Abonn
num ro
nom
pr nom
caution
adresse-rue
adresse-ville
adresse-NPA
} Contraintes dint grit
} Pour chaque occurrence dEmprunt si la date-retour existe, alors elle doit tre sup rieure
la date-emprunt.
} Pour chaque occurrence de Livre, la date-achat doit tre inf rieure la date-emprunt de
toutes les occurrences dEmprunt qui lui sont li es.
} Pour chaque occurrence de Livre, si l'attribut centre est vide alors la premi re occurrence
de Emprunt qui lui est li e a son attribut date-retour vide, et vice-versa.
Le mod le entit /association
-M. HAJJI-
75
Exercice 2. Editeur
} Un diteur souhaite installer une base de donn es pour
m moriser les informations suivantes :
} les livres sont identifi s par leur num ro ISBN. Un livre poss de un
titre et un prix de vente. Il est crit par un ou plusieurs auteurs.
} Chaque livre est tir en une ou plusieurs ditions, dat es et
identifi es par leur ordre (premi re dition, seconde dition, etc.).
Chaque dition comporte un certain nombre d'exemplaires. Le prix
de vente peut changer d'une dition l'autre.
} Un livre peut tre prim (Goncourt, F mina etc.).
} les auteurs sont identifi s par leur nom et pr noms et peuvent avoir
un pseudonyme. Pour chaque livre, un auteur per oit des droits
d'auteur annuels, calcul s comme un pourcentage des ventes (il est
aussi fonction du nombre d'auteurs).
} les libraires (identifi s par leur nom et adresse compl te)
commandent des livres en pr cisant l dition et le nombre
dexemplaires d sir .
Le mod le entit /association
-M. HAJJI-
76
Exercice 2. Editeur
Auteur
nom
pr noms
pseudonyme
Droits
ann e
montant
Livre
no-ISBN
titre
prix-litt raire-nom
prix-litt raire-pr nom
Paru
Librairie
nom
adresse-rue
adresse-ville
adresse-NPA
Commande
qt
date-jour
date-mois
date-ann e
Edition
num ro
ann e
nb-exempl
prix-vente
Le mod le entit /association
-M. HAJJI-
77
Exercice 3. Les courses de chevaux
} Un parieur assidu des champs de courses et des bases de donn es, voudrait
m moriser dans une base de donn es les courses de chevaux, les paris qu'il a faits
et les r sultats. Plus pr cis ment, il veut enregistrer les informations suivantes pour
chaque course:
}
le nom et la date (exemple: Prix d'Am rique, 21-07-2004)
le num ro, le nom et la cote des chevaux partants (exemple: <1, Salicorne, 20/1>, <2,
Solstice, 8/1>, <3, Samovar, 17/1> ...)
ses paris, avec pour chacun: le type de pari (coupl , tierc , quart , quint ...) la somme
jou e et les num ros de chevaux dans l'ordre du pari (exemple: <tierc , 20 Frs, 13-2-8>)
}
}
} Une fois la course jou e, on enregistre aussi :
}
le r sultat : l'ordre d'arriv e des chevaux (exemple: <1er, 13>, <2 me, 8>, <3 me, 14>, ...)
et les rapports pour chacun des types de pari (exemple: <tierc dans l'ordre, 900 Frs>,
<tierc dans le d sordre : 112 Frs>, <quart dans l'ordre : 5430 Frs>, <quart dans le
d sordre : 750 Frs> ...)
le gain total du parieur pour la course.
}
} Les noms de chevaux sont uniques, et les noms de courses sont uniques ( un
instant donn ).
} Proposer deux diagrammes entit -association, l'un contenant un seul type
d'entit (Course), l'autre en contenant plusieurs (Course, Cheval...) ainsi que des
types d'association. Pr ciser les contraintes d'int grit .
Le mod le entit /association
-M. HAJJI-
78
Exercice 3. Les courses de chevaux
Poss de
Course
nom
date
Concerne
Rapports
montant-ordre
montant-d sordre
type
Participe
num
cote
place-arriv e
Pari
type
somme
Cheval
nom
Contient
Le mod le entit /association
-M. HAJJI-
79
Exercice 3. Les courses de chevaux
} Contraintes dint grit
} Pour chaque valeur de lattribut rapports, la valeur de lattribut
montant-d sordre doit tre inf rieure celle de lattribut
montant-ordre.
} Le domaine de l'attribut type est {"tierc ", "quart ", "quint "}.
} Pour chaque occurrence de Pari, le nombre d'occurrences de
Contient doit tre de 3 si type="tierc ", de 4 si type="quart ",
de 5 si type="quint "
Le mod le entit /association
-M. HAJJI-
80
Exercice 4. Club Vid o
} Dix magasins de location de cassettes vid o se sont regroup s pour mettre en commun les
cassettes dont ils disposent et ont fond un club de location.
} A la suite d'une rencontre avec les repr sentants de ce club, il ressort que chaque point de
vente disposera d'un ordinateur personnel reli un site central et qu'il faudra pouvoir
prendre en compte les l ments suivants:
}
}
}
}
}
}
}
}
}
un client qui s'inscrit au club verse une caution. Suivant le montant de cette caution il aura le droit
d'emprunte...