Bonjour à tous,
J'ai un dilemme sur la position d'une entité car cela me provoque une redondance d'information, et je ne sais pas trop comment m'en sortir...
Je travaille sur des observations naturalistes : j'ai trois entités [ESPECES], [COMMUNES] et [LIEUX_DITS]
Nous avions au départ cette relation :
[ESPECES]--0,n--(observer)--0,n--[COMMUNES]
Mais pour préciser le lieu d'observation, nous allons ajouter une entité [LIEUX_DITS]. C'est une liste de lieux-dits prédéfinis, toujours rattaché à une commune, ça nous donne cette relation :
[ESPECES]--0,n--(observer)--0,n--[LIEUX_DITS]--1,1--(se trouve)--0,n--[COMMUNES]
Et là ce serait parfait si à chaque observation on avait le lieu-dit, mais très souvent le lieu-dit est inconnu. Dans ce cas il nous faut quand même la commune. Et là je ne sais pas trop comment faire : si on garde le modèle ci-dessus, il faudrait rajouter dans notre liste de lieu-dit autant d'enregistrement que de commune pour les lieux-dits "inconnu", ex : inconnu-caen, inconnu-rouen, inconnu-ifs etc. Du coup, on aurait une énorme table LIEUX_DITS avec la moitié des enregistrement correspondant en fait à des communes...
ou alors je pourrais relier [ESPECE] à [LIEUX_DITS] ET à [COMMUNES] et là j'ai une boucle :
[ESPECES]--0,n--(observer)--0,n--[LIEUX_DITS]--1,1--(se trouve)--0,n--[COMMUNES]--0,n--(observer)--0,n--[ESPECES]
L'association (observer) est la même entre [ESPECES]-[LIEUX_DITS] et [ESPECES]-[COMMUNES] (désolée je n'ai pas pris le temps de faire le MCD sous un logiciel pour avoir une image plus compréhensible). Mais là j'ai une boucle et je ne sais même pas si ce MCD est correct. Mais dans ce cas, dans l'association [OBSERVER] on aurait les champs suivant :
#espece = clé étrangère, nom de l'espèce vue
#lieu_dit = clé étrangère, nom du lieu-dit (qui sera rattaché à une commune et là dans access j'aimerais afficher la colonne liée nom_commune dans la table OBSERVATION
#commune = clé étrangère, correspondant au nom de la commune, SI le lieu-dit n'est pas indiqué... et mon problème c'est que dans ce cas, j'aurais 2 champs correspondant à la commune d'observation...
je ne sais pas si j'ai énoncé clairement mon problème, ce n'est pas un problème très compliqué mais je ne sais pas quoi faire, en terme de taille de base de données, comme il y a énormément de données d'observation, il me faudrait une solution qui alourdirait le moins possible la base. Est-ce qu'il vaut mieux 2 champs correspondant à la même entité, ou une très grosse table? Le MCD avec la boucle est-il correct?
Bref, si vous pouviez m'aider!
Merci d'avance! à bientôt, Neary
Partager