En supposant que j'ai plusieurs relations dans ma base de données, par exemple Store, Employee et Sale, et que je souhaite connecter des paires avec une relation binaire simple. Personnellement, je créerais des tables nommées Employee_Store et Employee_Sale avec une clé naturelle composée des clés étrangères.
Maintenant, mon collègue insiste sur la création d'une table pour plusieurs relations. Pour l'exemple ci-dessus, il pourrait y avoir une table appelée EmployeeLinks:
EmployeeLinks(
IdLink int PK,
IdEmployee int FK null,
IdStore int FK null,
IdSale int FK null,
LinkType int not null
)
Veuillez m'aider avec de bonnes raisons pour lesquelles ce n'est pas une bonne idée. J'ai mes propres arguments, mais je voudrais les garder confidentiels et entendre vos opinions impartiales.
ÉDITER:
Initialement, le tableau ci-dessus n'aurait pas de clé primaire (!). Parce que les clés étrangères autorisent null, une clé de substitution est la seule option.