Conception logique d'une base de données relationnelle objet
Conception logique d'une base de données relationnelle objet
Conception logique d'une base de données relationnelle objet
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
G.6 Représentation <strong>de</strong>s types d’associations complexes 11<br />
PLAIRE, aux associations emprunte (colonne EMPRUNT) et aux lignes <strong>de</strong> PROJET et<br />
EMPRUNTEUR. Les accès au départ <strong>de</strong> PROJET et EMPRUNTEUR sont <strong>de</strong> toute<br />
évi<strong>de</strong>nce beaucoup plus laborieux. L’idée d’intégrer EMPRUNT sous forme d’une<br />
colonne complexe à PROJET et à EMPRUNTEUR comme nous l’avons fait pour<br />
EXEMPLAIRE doit être abandonnée : elle produirait un schéma pachy<strong>de</strong>rmique<br />
affecté d’une énorme redondance dont la gestion s’avérerait très complexe.<br />
Le <strong>de</strong>uxième problème est celui <strong>de</strong> la complexité <strong>de</strong> la gestion <strong>de</strong>s différentes<br />
contraintes imposées à la colonne EMPRUNT et qui garantissent l’équivalence avec<br />
le schéma conceptuel.<br />
EXEMPLAIRE<br />
Num-Ex<br />
id: Num-Ex<br />
0-N<br />
emprunte<br />
Date Emprunt<br />
Date Retour[0-1]<br />
id: EXEMPLAIRE<br />
Date Emprunt<br />
0-N<br />
EMPRUNTEUR<br />
NumPers<br />
id: NumPers<br />
0-N<br />
PROJET<br />
Co<strong>de</strong>Projet<br />
id: Co<strong>de</strong>Projet<br />
PROJET<br />
Co<strong>de</strong>Projet<br />
id: Co<strong>de</strong>Projet<br />
EXEMPLAIRE<br />
Num-Ex<br />
id: Num-Ex<br />
0-N<br />
<strong>de</strong><br />
1-1<br />
EMPRUNT<br />
NumPers<br />
Date Emprunt<br />
Date Retour[0-1]<br />
Co<strong>de</strong>Projet<br />
id: <strong>de</strong>.EXEMPLAIRE<br />
Date Emprunt<br />
ref: Co<strong>de</strong>Projet<br />
ref: NumPers<br />
EMPRUNTEUR<br />
NumPers<br />
id: NumPers<br />
⇒<br />
PROJET<br />
Co<strong>de</strong>Projet<br />
id: Co<strong>de</strong>Projet<br />
EMPRUNTEUR<br />
NumPers<br />
id: NumPers<br />
EXEMPLAIRE<br />
Num_Ex<br />
EMPRUNT[0-100] array<br />
Co<strong>de</strong>Projet<br />
NumPers<br />
Date_Emprunt<br />
Date_Retour[0-1]<br />
id: Num_Ex<br />
ref: EMPRUNT[*].Co<strong>de</strong>Projet<br />
ref: EMPRUNT[*].NumPers<br />
id(EMPRUNT):<br />
Date_Emprunt<br />
Figure G.9 - Expression asymétrique d’un type d’associations ternaire<br />
(solution non retenue)<br />
Proposition. Sauf conditions exceptionnelles, on propose d’adopter la traduction<br />
<strong>relationnelle</strong> pure, sous la forme d’une table association munie <strong>de</strong> n clés étrangères,<br />
selon les règles <strong>de</strong> la section 18.5.<br />
© J-L Hainaut - 2009