Conception d’un
diagramme EA
Frédéric Gava (MCF)
[email protected]
LACL, bâtiment P2 du CMC, bureau 223
Université de Paris XII Val-de-Marne
61 avenue du Général de Gaulle
94010 Créteil cedex
Une méthode stricte
Dans une bibliothèque, il est préciser « on ne peut
pas emprunter plus de 3 livres en même temps ou si
on a eu un retard
(0,1) (0,3)
Emprunte
Livre Lecteur
Date
Le diagramme EA du SGBD assura que l’on
n’emprunte pas plus de 3 livres
La vérification de la date ne peut être faite que par
des contraintes d’intégrités ajoutées sur les tables
2/13
Un travail minutieux
La concepteur doit étudier l’existant et les besoins
d’entreprise en recensant les fiches, formulaires,
bordeaux…utilisés, en interviewant les personnes de
l’entreprise sur les infos qu’elles utilisent et dont elles
aimeraient disposer
Le concepteur doit pouvoir déterminer à partir de ces infos
les TE, les TA et les contraintes d’intégrités
Cela nécessite donc « un jeu de données d’essaies » (à la
main par exemple), vérifier la complétude par rapport au
traitement (tous les traitements prévus sont ils réalisables),
vérification par l’utilisateur (vous et vos collaborateurs)
On va regarder comment mieux faire le travail 3/13
Bon attribut
Étudiant (0,n) Contrôle (1,n) Enseignant
N° Note, Coeff Nom
(1,n)
Matière
Nom
Un enseignant peut enseigner plusieurs matières
Une matière peut avoir plusieurs enseignant ; dans
ce cas, les notes mises par l’enseignant sont
coefficient par le nombre d’heure qu’il effectue
L’attribut « coeff » est mal placé car il ne dépend
pas de l’étudiant 4/13
Solution
Étudiant (0,n) Contrôle (1,n) Enseignant
N° Note Nom
(1,n)
(1,n)
Matière Assure
Nom (1,n) Coeff
5/13
Validation d’un TA
Règle : soit un TA d’arité n liant les TE E 1 , E2 … En
alors s’il existe une DF E1 , E2 … Ei Ei+1 alors il
existe une DF E1 , E2 … Ei Ei+1 … En
Exemple : (1,n) (1,n)
Chercheur Travaille Labo
(1,n)
Projet
Le projet est réalisé par un seul Labo.
Si on a la DF ProjetsLabos, ce implique une DF
ProjetChercheur 6/13
Solution
(0,1) (1,n)
Chercheur Travaille Labo
(0,n)
(1,1)
Projet Réalise
Mais on ne sait plus sur quel projet travaille un chercheur ! Donc :
(0,1) (1,n)
Chercheur Travaille Projet
(1,1)
(0,n)
Labo Réalise
On peut retrouver le laboratoire auquel appartient le cherche
7/13
Éliminer les TA redondants
Un TA est redondant si les associations correspondantes peuvent être
établies sans ambiguïté à partir des association d’autres TA.
Mais cela impliques plus de jointures donc plus de calculs…un choix
est donc à faire entre capacité mémoire et travail. Exemple :
Suit (0,n)
(1,n)
Étudiant Matière
(1,n)
(0,1)
On peut supprimer « est_élève » mais pas les autres
Est_Élève Assuré
(0,n) Enseignant
(0,n)
8/13
Transformation des attributs
Employé Service
N° Employé, Nom,N° Service N° Service, Étage, Nom
Il y a clairement une clés externe pour employé donc on préférera :
(0,1) (1,n)
Employé Service
Travaille
N° Employé, Nom N° Service, Étage, Nom
9/13
Élimination de TE
Il arrive qu’un TE ait des attributs non utilisé en
pratique (pas d’interrogation spécifique). On le
supprime.
Lorsqu’un TE n’a qu’un seul attribut, on peut
également le supprimer. Exemple :
Matière Salle
A_lieu_dans
N°, Nom N°
Matière
N°, Nom, N° Salle
10/13