Dans tous les cas, ta table 2 convient. Nommons-la "CONNEXION". Le Modèle Relationnel est alors :
ENTITE (id_entite, nom_entite)
CONNEXION (id_entite_1, id_entite_2)
(Les clés sont soulignées.)
La table CONNEXION contient les couples d'entités connectées. Mais attention, tu va pouvoir y insérer des lignes telles que :
Or ce n'est pas ce que tu veux car ces deux lignes représentent la même connexion. Si tu n'y prends pas garde, tu risques de te retrouver avec des doublons.
Peut-être que ça ne te pose pas de problème. Dans le cas contraire, il y a deux solutions :
- Soit par programmation (tu testes l'existence du couple d'entités dans la table avant d'insérer)
- Soit tu utilises un trigger sur l'insertion (dépend de ton SGBD)
Partager