Bonjour a tous
Je suis actuellement en train de travailler sur un projet concernant des donnees de peches et ai quelque difficultés pour conceptualiser la structure de ma base de données.
Mes poissons peuvent provenir de differentes techniques utilisees a bord de mêmes bateaux.
J'ai donc une table listant les bateaux, puis une table pour chaque technique (technique1. technique2) et enfin une table listant les poissons.
Un meme bateau peut utiliser différentes techniques pour attraper des poissons.
Chaque technique est complétement différente en termes de propriétés (localisation, duree...) d'ou la mise en place de deux tables distinctes: technique1. technique2 ou sont listes quand chaque technique a eu lieu, a quelle endroit.
Le probleme que j'ai, c'est au niveau de la relation entre toutes ces tables.
1 - Dois-je avoir dans ma table poisson un champ "technique1_ID" et "technique2_ID" qui me permet de pointer sur la table correspondante. Je me retrouve dans ce cas avec des champs vide quand l'autre est utilise ce qui me deplait (si technique1_id est fourni, technique2_ID sera vide)
2 - Dois je avoir un champ "technique_id" ou je fourni l'ID de la technique utilise et un autre "technique_type" ou j'indique si c'est la technique 1 ou 2. Dans ce cas, plus de valeurs nulle mais je suis alors incapable de mettre en place des relations entre ma table poisson et mes tables techniques.
3 - Je crée une table intermédiaire "technique_all" qui contient les champs "bateau_id", "technique1_id", "technique2_id" ce qui me permet de ne pas modifier ma table poisson qui pointe sur un enregistrement dans technique_all mais dans ce cas encore, cette table va contenir des valeurs nulles lorsque l'une ou l'autre des techniques sera spécifiée...
Bref, je ne trouve pas de solution qui me plaise, est-ce que je passe a cote d'une 4eme??
Merci de me donner votre avis
Sylvain
Partager