Database Reference
In-Depth Information
Dans l'autre table d'association, la clé primaire id_coll permettra de s'assurer qu'un colla-
borateur ne puisse être affecté à plusieurs projets.
Ce.principe.de.transformation.est.idéal.lorsque.les.multiplicités.de.vos.associations.sont.sus-
ceptibles.de.changer.avec. le. temps. (dans.notre.exemple,. le. fait.qu'un.collaborateur.puisse.
diriger.plusieurs.projets.ou.participer.à.différents.projets)..En.ce.cas,.et.même.avec.des.données.
en.base,.il.suffira.d'activer.ou.de.désactiver.telle.contrainte.ou.telle.clé.
Ainsi, pour l'association universelle de type un-à-un, il faut choisir la clé primaire de
la table de jointure qui peut venir indifféremment de l'une ou l'autre des entités. Mon
conseil est donc le suivant : prenez toujours celle de l'entité qui existe avant l'autre. Dans
l'exemple proposé, la table de jointure diriger se voit dotée d'une clé primaire venant
de l'entité Projet . C'est à mon sens une erreur, car il me semble dificile qu'un projet
existe dans votre entreprise, si vous n'avez aucun collaborateur !
Les transformations à éviter
Je vais encore dire du mal des associations n -aires, mais la plupart d'entre elles le méritent.
Considérons à nouveau le premier exemple de la section « Les associations n- aires » du cha-
pitre 1, l'association n -aire Installer exprimait le fait que des logiciels soient installés sur
des serveurs par des départements .
La transformation de toute association n -aire entraîne l'apparition d'une nouvelle relation. Si
les multiplicités sont toutes de type plusieurs-à-plusieurs , la clé primaire de la nouvelle rela-
tion sera composée des clés de toutes les relations connectées. Si la multiplicité d'un lien de
l'association n -aire vaut 1, le degré de la clé primaire est réduit d'une colonne.
Figure 2-19 . Une transformation à éviter
Cette transformation est à éviter, car la table d'association qu'on obtiendra ne permettra aucun
contrôle de cohérence. Ainsi, avec ce schéma, il est possible d'installer un logiciel qui n'est pas
compatible avec un serveur ou qu'un département ne détient pas par exemple.
 
Search WWH ::




Custom Search