© Éditions Eyrolles
131
chapitre n° 2
Le niveau logique : du relationnel à l’objet
Associations un-à-un
La règle est la suivante, elle permet d’éviter les valeurs NULL dans la base de données.
Il faut ajouter un attribut clé étrangère dans la relation dérivée de l’entité ayant la cardinalité
minimale égale à zéro. Dans le cas de UML, il faut ajouter un attribut clé étrangère dans la relation
dérivée de la classe ayant la multiplicité minimale égale à un. L’attribut porte le nom de la clé
primaire de la relation dérivée de l’entité (classe) connectée à l’association.
Si les deux cardinalités (multiplicités) minimales sont à zéro, le choix est donné entre les deux
relations dérivées de la règle R1. Si les deux cardinalités minimales sont à un, il est sans doute
préférable de fusionner les deux entités (classes) en une seule.
Les règles R1 et R4 sont appliquées à l’exemple 2-31.
Transformation de l’héritage
Trois décompositions sont possibles pour traduire une association d’héritage en fonction des
contraintes existantes :
●
décomposition par distinction ;
●
décomposition descendante (push-down). S’il existe une contrainte de totalité ou de partition
sur l’association d’héritage, il y aura deux cas possibles de décomposition ;
●
décomposition ascendante (push-up).
Nous verrons plus loin que l’héritage multiple se traduit également au niveau logique à l’aide
de ces principes. Nous utilisons ici des diagrammes UML que le lecteur pourra aisément
traduire sous Merise/2.
Figure 2-31 Transformation d’une association un-à-un
R4
R1 et R4
Stage[nstage, entreprise]
Etudiant[netu, nometu, nstage#]
Stage
nstage
entreprise
Etudiant
netu
nometu
Stage
nstage
entreprise
Etudiant
netu
nometu
1
0..1
0,1
1,1
Effectue
Effectue
131
chapitre n° 2
Le niveau logique : du relationnel à l’objet
Associations un-à-un
La règle est la suivante, elle permet d’éviter les valeurs NULL dans la base de données.
Il faut ajouter un attribut clé étrangère dans la relation dérivée de l’entité ayant la cardinalité
minimale égale à zéro. Dans le cas de UML, il faut ajouter un attribut clé étrangère dans la relation
dérivée de la classe ayant la multiplicité minimale égale à un. L’attribut porte le nom de la clé
primaire de la relation dérivée de l’entité (classe) connectée à l’association.
Si les deux cardinalités (multiplicités) minimales sont à zéro, le choix est donné entre les deux
relations dérivées de la règle R1. Si les deux cardinalités minimales sont à un, il est sans doute
préférable de fusionner les deux entités (classes) en une seule.
Les règles R1 et R4 sont appliquées à l’exemple 2-31.
Transformation de l’héritage
Trois décompositions sont possibles pour traduire une association d’héritage en fonction des
contraintes existantes :
●
décomposition par distinction ;
●
décomposition descendante (push-down). S’il existe une contrainte de totalité ou de partition
sur l’association d’héritage, il y aura deux cas possibles de décomposition ;
●
décomposition ascendante (push-up).
Nous verrons plus loin que l’héritage multiple se traduit également au niveau logique à l’aide
de ces principes. Nous utilisons ici des diagrammes UML que le lecteur pourra aisément
traduire sous Merise/2.
Figure 2-31 Transformation d’une association un-à-un
R4
R1 et R4
Stage[nstage, entreprise]
Etudiant[netu, nometu, nstage#]
Stage
nstage
entreprise
Etudiant
netu
nometu
Stage
nstage
entreprise
Etudiant
netu
nometu
1
0..1
0,1
1,1
Effectue
Effectue
