244
Chapitre 10 • Élaboration d’un schéma conceptuel
4. ajouter un troisième type d’entités à un type d’associations existant (un type
d’associations ne peut avoir plus de deux rôles).
Les problèmes 1 et 2 pourraient se résoudre si l’attribut A était au préalable transformé en un type d’entités. Les problème 3 et 4 pourraient se résoudre si le type
d’associations R était au préalable transformé en un type d’entités.
Nous suggérerons donc deux transformations simples qui permettent de résoudre
les problèmes évoqués ci-dessus.
La première transformation (figure. 10.5) remplace un type d’associations (a
acheté) par un type d’entités (ACHAT) en liaison avec les types d’entités d’origine
(CLIENT et PRODUIT). Le nom a été modifié pour des raisons de lisibilité, le verbe
ayant été remplacé par le substantif correspondant.
Il est à présent possible d’affecter un attribut à ACHAT, tel que celui qui serait
suggéré par la proposition : … la quantité totale de chaque produit achetée par
chaque client … En effet, cette quantité ne peut être affectée à CLIENT (ni à
PRODUIT), auquel cas chaque entité recevrait plusieurs valeurs qu’on ne saurait
relier aux produits (resp. clients) auxquels chacune est relative. La quantité dépend
bien de l’association entre un client et un produit, et l’attribut Quantité qui la représente doit être affecté au nouveau type d’entités ACHAT.
On veillera à bien préciser la signification de ce nouveau type d’entités. Dans
l’exemple présenté, un achat est le fait qu’un client déterminé a déjà acheté un
produit déterminé.
Il y a un seul client et un seul produit par achat, mais il peut exister plusieurs
achats par client et plusieurs achats par produit. En revanche, il n’existe qu’un seul
lien entre un client et un produit, d’où l’identifiant du nouveau type d’entités 1 .
Figure 10.5 - Transformation du type d’associations a acheté en type d’entités ACHAT
On vérifiera, à l’aide de l’exemple de la figure 10.6, que les deux schémas ont exactement le même contenu informationnel, au sens de la section 9.6 : il n’existe
aucune question à laquelle l’un des schémas pourrait répondre et pas l’autre.
1. On notera l’existence de types d’entités sans attributs.
⇒
0-N
0-N
a acheté
PRODUIT
NumPro
Libellé
Quantité
CLIENT
NumCli
Nom
Adresse
1-1
0-N
par
1-1
0-N
de
PRODUIT
NumPro
Libellé
Quantité
CLIENT
NumCli
Nom
Adresse
ACHAT
id: par.CLIENT
de.PRODUIT
Précédent

- 244/436

Suivant