258
Chapitre 10 • Élaboration d’un schéma conceptuel
10.10 NORMALISATION DU SCHÉMA
On peut effectuer un nettoyage du schéma obtenu jusqu’à présent soit dans un but de
simplification, soit pour éliminer certaines anomalies qui pourraient subsister.
a) Simplification du schéma
Un premier exemple consiste à remplacer par un attribut un type d’entités qui
n’aurait lui-même qu’un seul attribut et qui ne serait lié (par un type d’associations
un-à-plusieurs) qu’à un seul autre type d’entités. Tel serait le cas du schéma de
gauche de la figure 10.23 où, dans le schéma final, il apparaît que le concept de localité, jugé utile en son temps, n’a fait l’objet d’aucun enrichissement. On peut
estimer inutile de lui conserver le statut de type d’entités, alors qu’il n’apparaît
manifestement que comme complément d’information de CLIENT. On pourra alors
préférer le schéma de droite. Un tel type d’entités est appelé type d’entités-attribut.
Figure 10.23 - Si le type d’entités LOCALITE n’a pas d’autre raison d’être que d’indiquer la localité de chaque client, alors on peut suggérer de le remplacer par un simple
attribut. Remarquons que l’équivalence n’est pas totale, à cause de la cardinalité 0-N
à gauche. Cfr. discussion associée à la figure 10.7
De même, un schéma pourra contenir un type d’entités sans attributs, attaché à deux
autres types d’entités, et identifié par ceux-ci (ou implicitement par l’un d’entre eux
seulement). Ainsi, dans la figure 10.24, le type d’entités EXPORTATION peut-il être
remplacé par le type d’associations exporte. EXPORTATION est un type d’entitésassociation.
b) Elimination des redondances internes
Le type d’anomalies que nous allons ensuite évoquer constitue une erreur très
fréquente chez les débutants. Elle est illustrée par la figure 10.25 (schéma de
gauche), qui décrit des employés, caractérisés par leur matricule, leur nom, le nom
de leur département et leur localisation. Supposons qu’on apprenne que la localisation d’un employé n’est rien d’autre que l’adresse (unique) de son département.
⇒
1-1
0-N
dans
LOCALITE
NomLocalité
id: NomLocalité
CLIENT
NumCli
Nom
Adresse
id: NumCli
CLIENT
NumCli
Nom
Adresse
NomLocalité
id: NumCli
Chapitre 10 • Élaboration d’un schéma conceptuel
10.10 NORMALISATION DU SCHÉMA
On peut effectuer un nettoyage du schéma obtenu jusqu’à présent soit dans un but de
simplification, soit pour éliminer certaines anomalies qui pourraient subsister.
a) Simplification du schéma
Un premier exemple consiste à remplacer par un attribut un type d’entités qui
n’aurait lui-même qu’un seul attribut et qui ne serait lié (par un type d’associations
un-à-plusieurs) qu’à un seul autre type d’entités. Tel serait le cas du schéma de
gauche de la figure 10.23 où, dans le schéma final, il apparaît que le concept de localité, jugé utile en son temps, n’a fait l’objet d’aucun enrichissement. On peut
estimer inutile de lui conserver le statut de type d’entités, alors qu’il n’apparaît
manifestement que comme complément d’information de CLIENT. On pourra alors
préférer le schéma de droite. Un tel type d’entités est appelé type d’entités-attribut.
Figure 10.23 - Si le type d’entités LOCALITE n’a pas d’autre raison d’être que d’indiquer la localité de chaque client, alors on peut suggérer de le remplacer par un simple
attribut. Remarquons que l’équivalence n’est pas totale, à cause de la cardinalité 0-N
à gauche. Cfr. discussion associée à la figure 10.7
De même, un schéma pourra contenir un type d’entités sans attributs, attaché à deux
autres types d’entités, et identifié par ceux-ci (ou implicitement par l’un d’entre eux
seulement). Ainsi, dans la figure 10.24, le type d’entités EXPORTATION peut-il être
remplacé par le type d’associations exporte. EXPORTATION est un type d’entitésassociation.
b) Elimination des redondances internes
Le type d’anomalies que nous allons ensuite évoquer constitue une erreur très
fréquente chez les débutants. Elle est illustrée par la figure 10.25 (schéma de
gauche), qui décrit des employés, caractérisés par leur matricule, leur nom, le nom
de leur département et leur localisation. Supposons qu’on apprenne que la localisation d’un employé n’est rien d’autre que l’adresse (unique) de son département.
⇒
1-1
0-N
dans
LOCALITE
NomLocalité
id: NomLocalité
CLIENT
NumCli
Nom
Adresse
id: NumCli
CLIENT
NumCli
Nom
Adresse
NomLocalité
id: NumCli
