19.02.2015 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!