Bonjour à tous,
ma question est d'ordre général.
Est-ce qu'une table de jointure ne doit posséder que les deux clefs primaires des deux tables concernées ou peut-elle contenir d'autres champ ?
Voici mon cas
Il y a des personne qui doivent choisir une ou plusieurs destination. Ces destination sont un continent, un pays ou une ville avec les dates de début et de fin désirée du voyages.
J'ai donc une table voyageurs et une tables destination.
La cardinalité est la suivante :
1 voyageur peut choisir une seule ou plusieurs destination.
Une destination peut appartenir à un ou plusieurs voyageurs.
On est donc dans une relation de type n-m.
Il faut donc une table de jointure qui comportera en clef primaire la clef de la table voyageur (id_voyageur) et la clef de la table destination (id_des).
J'ai décidé de basculer les champs date de début et date de fin dans la table de jointure.
Mais je me suis rendu compte que la table de jointure ne peu pas avoir de doublons sur le couple (id_voyageur, id_des), or si un voyageur choisit une destination (londres par exemple) et qu'il désire y aller début octobre 2015 jusqu'aà fin octobre 2015 et aussi début décembre 2015 jusqu'à mi-décembre 2015, ça signifie qu'il y aura 2 ligne dans la table de jointure avec pour chaque ligne un couple (id_voyageur, id_des) identiques. il n'y a que les dates qui changent. or ce n'est pas possible d'avoir des doublons dans une clef primaire...Alors ou est mon erreur ?
Merci d'avance pour votre aide.
Partager