Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#31 Wed 09 March 2022 14:38

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

J'imagine que oui mais mon maître de stage ne m'en a pas encore vraiment parlé (il a beaucoup de travail et pas trop le temps de s'occuper de moi pour le moment). Il m'a juste dit que ce serait un module d'une application développé sous Geo.

Hors ligne

 

#32 Wed 09 March 2022 15:46

Franck2908
Participant actif
Date d'inscription: 5 Mar 2010
Messages: 85

Re: génération automatique de 439 tables

Connaissant GEO vous pouvez abandonner votre histoire de faire 439 tables ou vue, c'est complètement inutile.
Avec GEO vous pouvez créer des filtres directement dans l'application.

Il est préférable dans un premier temps de consacrer du temps au MCD, c'est là-dessus que votre tuteur et vos profs vont vous attendre au tournant ...
Il vous faut rassembler tous les champs qui sont nécessaires à votre traitement :
- date du relevé
- poids
- puce_numero
- nom de l'utilisateur ?
- ???

Hors ligne

 

#33 Thu 10 March 2022 10:57

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

Connaissant GEO vous pouvez abandonner votre histoire de faire 439 tables ou vue, c'est complètement inutile. Avec GEO vous pouvez créer des filtres directement dans l'application.


D’accord, merci pour cette information, je ne savais pas.


Pour le MCD, voilà ce que j’ai fait pour le moment (cf pièce jointe 2). J’ai fait ce MCD à partir d’un tableur Excel (cf pièce jointe 1).

Explication de ma démarche :

J’ai 2 type-entités principaux dans ce MCD, le type-entité observation et le type entité ind.
Le premier contient toutes les observations de l’espèce en question effectuée. Comme c’est une espèce qui peut être confondue avec d’autres espèces du même genre, il y a un champ espèce qui répertorie tous les individus du genre croisé et leur espèce identifiée. Dans cette couche il y a aussi l’année de capture, la précision de la localisation de l’observation (cf ce qui suit : types-entités lieu_capture_precis et lieu_capture_imprecis), la puce de l’individu s’il est identifié (ce numéro de puce peut apparaître plusieurs fois car un individu peut être observé à différentes dates. Ensuite, il y a le protocole de capture (il existe différentes modalités de capture), prel qui permet de savoir si un prélèvement a été effectué ou non (oui ou non) lors de l’observation, etat qui indique l’état de l’animal capturé (vivant ou mort) et les causes de la mort identifiées (cause_mort).
Dans le type-entité ind, on regarde un unique individu (qui peut donc correspondre à plusieurs id_obser) qui possède une puce. Ce type-entité contient donc des informations sur l’état final/actuel de l’animal (est-ce qu’il est toujours vivant (etat_f), son âge, son poids), les signes distinctifs qu’il porte (s_dist), et éventuellement sa photo ( ; comm=commentaires), ainsi que d’autres informations communes avec le type-entité observation qu’il me semblait pertinente d’avoir dans la fiche de l’individu.

Ensuite, il y a le type-entité observateur, qui compile les informations concernant l’observateur et son organisme, mais également si la donnée a été validée ou non.

Enfin, il y a le type-entité echantillon qui correspond au prélèvement effectué lors de l’observation. Plusieurs prélèvements peuvent être réalisés lors d’une seule observation et pour un même individu (puisqu’un individu peut être observé plusieurs fois). Ce type-entité contient le numéro d’échantillon, le type de prélèvement effectué, si des fèces ont été récupérés ou pas (oui ou non), le lieu de stockage de l’échantillon (lieu_sto) et les modalités de stockage (type_sto).

Ensuite, j’ai deux type-entités correspondant à la localisation de l’observation en fonction de sa précision (certaines données d’observation sont à l’échelle communale par exemple (coordonnées x et y = centroïde de la commune), ce qui correspond dans le type-entité observation à precis_loca=non et d’autres sont ponctuelles : precis_loca=oui). Par rapport à ça, je me demandais s’il serait possible de mettre en lien ind et les ces types-entités pour qu’il soit possible de voir le dernier endroit où un animal a été aperçu. Est-ce qu’il s’agirait simplement d’une requête à effectuer et donc cela ne nécessite pas de mettre un lien ou est-ce que je dois mettre des liens entre ind et lieu_capture_precis et entre ind et lieu_capture_imprecis ?

Pour les types-entités suivi_spa et suivi_temp, il s’agissait, comme je l’ai expliqué précédemment, de réaliser un suivi spatial et un suivi temporel de l’espèce, mais je suppose que je peux les supprimer étant donné que je pourrai accéder à ses informations via des filtres dans Géo d’après ce que j’ai compris ?


Merci de me dire ce que vous en pensez,

Hors ligne

 

#34 Thu 10 March 2022 11:01

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

Pièce jointe 1


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#35 Thu 10 March 2022 11:04

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

Pièce jointe 2


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#36 Thu 10 March 2022 14:04

Franck2908
Participant actif
Date d'inscription: 5 Mar 2010
Messages: 85

Re: génération automatique de 439 tables

avec les explications et le MCD ça va aider à mieux comprendre.
j'en prendrais connaissance et je ferais un retour, si d'autres ne l'ont pas fait avant.

Hors ligne

 

#37 Thu 10 March 2022 14:20

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

D'accord, merci beaucoup c'est gentil.

Hors ligne

 

#38 Fri 11 March 2022 12:10

Franck2908
Participant actif
Date d'inscription: 5 Mar 2010
Messages: 85

Re: génération automatique de 439 tables

ma première analyse en regardant pour le moment les tables ind et observation

Kiecane a écrit:

il y a un champ espèce qui répertorie tous les individus du genre croisé et leur espèce identifiée.


vous avez une liste prédéfinie des espèces rencontrées ou c'est un champ libre ?

la puce de l’individu s’il est identifié (ce numéro de puce peut apparaître plusieurs fois car un individu peut être observé à différentes dates.


donnée redondante, la relation avec la table "ind" permet de récupérer cette information


il existe différentes modalités de capture


Création d'une table supplémentaire ?

etat qui indique l’état de l’animal capturé (vivant ou mort) et les causes de la mort identifiées (cause_mort).
Dans le type-entité ind,


Création d'une table supplémentaire ?

les causes de la mort identifiées (cause_mort)


Création d'une table supplémentaire ?

Dans le type-entité ind, on regarde un unique individu (qui peut donc correspondre à plusieurs id_obser) qui possède une puce. Ce type-entité contient donc des informations sur l’état final/actuel de l’animal


rendondant avec cause_mort dans la table observation

pourquoi poids_f dans ind ? pourquoi pas mettre le poids dans observation pour avoir une courbe d'évolution

autopsie est dans observation et dans ind : redondance

Hors ligne

 

#39 Fri 11 March 2022 15:32

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

Bonjour,

Merci pour votre retour. Par ailleurs, on est d’accord que je peux supprimer les types-entité suivi_spa et suivi_temp ?


>

vous avez une liste prédéfinie des espèces rencontrées ou c'est un champ libre ?


C’est une liste prédéfinie.

>

la puce de l’individu s’il est identifié (ce numéro de puce peut apparaître plusieurs fois car un individu peut être observé à différentes dates.


donnée redondante, la relation avec la table "ind" permet de récupérer cette information


Effectivement, cette donnée est redondante entre les types-entité observation et ind car nous avions vu en cours (et j’ai également retrouvé ça sur internet) que lorsqu’on a les cardinalités suivantes pour deux types-entité A et B :
A : 1,1 ↔ 0,1 : B
A : 1,1 ↔ 0,n : B
A : 1,1 ↔ 1,n : B

alors le type-entité B doit avoir idB comme clé primaire qui est une clé étrangère dans le type-entité A.

C’est pour ça que j’ai mis puce en clé primaire dans ind et que je l’ai mis en clé étrangère dans observation. Après, peut-être que cela n’est en réalité pas utile mais, si c’est le cas, je veux bien que vous m’expliquiez pourquoi.


>

Création d'une table supplémentaire ?

etat qui indique l’état de l’animal capturé (vivant ou mort) et les causes de la mort identifiées (cause_mort).
Dans le type-entité ind,


Je pense que c’est bien de laisser etat à la fois dans observation et dans ind (d’ailleurs il y a une coquille dans le type-entité ind où on a aussi etat) afin que l’utilisateur puisse savoir directement si l’animal qu’il étudie est vivant ou mort en consultant l’observation effectuée ou sa fiche individuelle.
En fait, j’assimile un peu les différents types-entités que je crée à des fiches que l’utilisateur verra dans leur intégralité quand il les consultera via son application mais je pense que je me trompe certainement.


>

les causes de la mort identifiées (cause_mort)


Création d'une table supplémentaire ?


En effet, ça pourrait être intéressant de faire une table supplémentaire là-dessus. Elle pourrait contenir etat, autopsie et cause_mort. Après, est-ce vraiment utile ? Plus généralement, à quel point peut-on subdiviser une table ?


>

pourquoi poids_f dans ind ? pourquoi pas mettre le poids dans observation pour avoir une courbe d'évolution


Je n’arrive pas trop à visualiser comment il serait possible d’avoir une courbe d’évolution en mettant poids_f dans observation, et pourquoi on ne pourrait pas le faire en le mettant dans ind ? Justement, c’est pour ça que j’avais créé suivi_spa et suivi_temp, pour avoir des suivis de poids ou d’autres paramètres dans le temps (mais du coup d’après ce que j’ai compris j’enlève ces types-entités ?).



Mes redondances sont principalement liées à deux incompréhensions probables de ma part :
- le fait qu’on m’ait dit et que j’ai lu que certaines cardinalités nécessitaient d’avoir une clé primaire dans une table égale à une clé étrangère dans une autre
- le fait que j’imagine (peut-être à tort, à vous de me le dire) qu’un type-entité correspond à une fiche visible par l’utilisateur de l’application, et que c’est d’ailleurs pour ça que les propriétés du type-entité doivent avoir une certaine cohérence d’ensemble.



Merci d’avance !

Hors ligne

 

#40 Fri 11 March 2022 15:38

Franck2908
Participant actif
Date d'inscription: 5 Mar 2010
Messages: 85

Re: génération automatique de 439 tables

je jetterais un oeil sur votre réponse plus tard, à lire en diagonale vous faites une erreur en imaginant déjà la représentation que l'utilisateur aura, vous devez raisonner que sur la structuration des données.

Hors ligne

 

#41 Fri 11 March 2022 15:46

Franck2908
Participant actif
Date d'inscription: 5 Mar 2010
Messages: 85

Re: génération automatique de 439 tables

vite fait voici tous les redondances d'informations.
MCD à revoir pour éviter cela


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#42 Fri 11 March 2022 15:55

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

D'accord, merci, je pense que j'aurais besoin d'un peu plus d'explications sur mes problèmes de redondance (cf mon message précédent) pour pouvoir supprimer celles qui apparaissent dans mon MCD et que vous m'indiquez dans votre pièce jointe. J'attendrai que vous ayez le temps de lire mon message précédent pour que je puisse bien comprendre et faire des modifications judicieuses.

Dernière modification par Kiecane (Fri 11 March 2022 15:55)

Hors ligne

 

#43 Mon 14 March 2022 10:22

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

Bonjour,

Ce week-end, j'ai lu pas mal de cours sur internet concernant l'élaboration des MCD afin de comprendre mes erreurs. J'ai modifié mon MCD précédent par rapport à vos remarques. Il me reste surtout des redondances liées à mon incompréhension concernant le point suivant que j'ai explicité lors de mon dernier long message :

Effectivement, cette donnée est redondante entre les types-entité observation et ind car nous avions vu en cours (et j’ai également retrouvé ça sur internet) que lorsqu’on a les cardinalités suivantes pour deux types-entité A et B :
A : 1,1 ↔ 0,1 : B
A : 1,1 ↔ 0,n : B
A : 1,1 ↔ 1,n : B

alors le type-entité B doit avoir idB comme clé primaire qui est une clé étrangère dans le type-entité A.

C’est pour ça que j’ai mis puce en clé primaire dans ind et que je l’ai mis en clé étrangère dans observation. Après, peut-être que cela n’est en réalité pas utile mais, si c’est le cas, je veux bien que vous m’expliquiez pourquoi.


Merci de me dire si c'est mieux et s'il existe des moyens pour l'améliorer


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#44 Mon 14 March 2022 16:28

Franck2908
Participant actif
Date d'inscription: 5 Mar 2010
Messages: 85

Re: génération automatique de 439 tables

Bonjour,
je viens de regarder vite fait et oui la règle des clés étrangères est bonne.
C'est juste la notation qui m'a induit en erreur, et la lecture rapide de votre message ...
j'ai pour habitude pour mes clés primaires de la noter de cette façon "id_xxx", et xxx reprends le nom de la table. C'est une règle de notation que je me suis imposé et qui me faciliter l'écriture de mes requêtes.
Comme pour mes clés étrangères, elles commencent toutes par "fk_xxx" (fk pour Foreign key ou clé étrangère en français ), d'autres mettent un # à la place de fk.
Ainsi cela facilite rapidement ma relecture d'un MCD.
Je vous invite également à mettre un libellé complet sur le nom de vos tables pour harmoniser le tout, par exemple "ind" je mettrais "individu".
Pour votre table "lieu_capture_precis" l’intitulé n'est pas bon vis à vis du contenu, car le lieu de capture ne sera pas toujours précis. Il vaut mieux mettre "lieu_capture".

Vous pouvez continuer à subdiviser votre MCD, j'en vois encore  (type_prel, cause_mort, lieu_sto, type_sto ...). Je vous laisse chercher les autres.

espece est pour moi à basculer dans la table individu : un individu ne va pas changer d'espèce d'une observation à une autre.

Hors ligne

 

#45 Tue 15 March 2022 10:36

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

Bonjour,



Merci pour votre retour. J’ai donc à nouveau modifié mon MCD en essayant de suivre vos conseils. Tout d’abord, j’ai renommé mes clés primaires, mes titres de type-entité et mes clés étrangères.

       > Question 1 : à propos des clés étrangères, est-ce que cela pose soucis si les noms sont différents ? Par exemple, on a id_puce dans individu et fk_puce dans observation mais il s’agit bien du même champ. Le fait que les noms soient différents n’a pas d’incidence ?



Ensuite, j’ai essayé de voir quels étaient les types-entités subdivisables :
- j’ai créé un nouveau type-entité condition_physique
etat = « mort » ou « vivant »
id_etat = champ auto-incrémenté de 1 à n avec n le nombre total d’observations d’animaux morts

      > Question 2 :
- pour le reste, je ne vois pas comment diviser davantage mon MCD ; éventuellement, j’avais pensé à subdiviser lieu_capture comme je vous l’ai dit précédemment mais je m’emmêle les pinceaux à chaque fois que je tente de le faire. En fait, on a autant de points x et y que d’observations mais ces points x et y sont représentés soit à une échelle ponctuelle (x et y précis relevés par les agents de terrain), soit à une échelle plus ou moins imprécise (communale ou lieu-dit) où le point correspond alors à un centroïde. Le problème c’est que quelque soit la précision du point représenté, on a un point d’une part, et on a des informations sur le département, la commune et le lieu-dit d’autre part. Du coup, je pensais au départ diviser le type-entité lieu_capture en types-entités departement, commune, lieu_dit, et precision (pour indiquer si la précision était ponctuelle, communale, ou au niveau du lieu-dit), mais le problème, c’est que cela me fait faire énormément de lien du coup je ne suis pas sûre que cela soit judicieux.



      > Question 3 :

espece est pour moi à basculer dans la table individu : un individu ne va pas changer d'espèce d'une observation à une autre.


Oui mais comme tous les individus observés ne sont pas pucés, je l’ai laissé dans le type-entité observation. Comme ça, l’espèce de chaque individu observé est notifiée, tandis que si je mettais espece dans le type-entité individu, je n’aurais pas l’espèce de chaque individu observé mais de chaque individu pucé. Sachant que tous les individus observés ne sont pas pucés, il me manquerait alors des informations dans ce dernier cas, non ?



      > Question 4 : je reviens sur une question que je vous avais posé dans un de mes messages précédents, suite à l’une de vos remarques qui m’avait bien intéressée, et à laquelle vous n’avez pas répondu par la suite :

Je n’arrive pas trop à visualiser comment il serait possible d’avoir une courbe d’évolution [du poids]


J’aimerais bien en effet pouvoir par la suite avoir une courbe d’évolution pour certains paramètres, notamment pour l’âge et le poids d’un individu pucé au cours du temps. Pourriez-vous m’expliquer qu’elle serait la démarche à suivre ? S’il s’agira d’une requête ou non, ou s’il faut directement modifier le MCD en ce sens ?



     > Question 5 :
Comme vous pouvez le voir dans le type-entité observation, pour la plupart des observations est associée une photo de l’animal. Est-ce que je dois créer quelque chose de spécifique dans mon MCD (un champ, un type-entité,….) pour mettre ces futures photos ou est-ce que cela se fera par la suite dans l’application Géo ?


Merci !


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#46 Thu 17 March 2022 14:29

Franck2908
Participant actif
Date d'inscription: 5 Mar 2010
Messages: 85

Re: génération automatique de 439 tables

désolé je suis pris par le travail en ce moment...

voici quelques réponses rapides :
question 1 :  Le fait que les noms soient différents n’a pas d’incidence ? >> non, c'est à vous de définir les clés étrangères dans pgadmin en désignant les champs de cette relation (clé primaire et clé étrangère).

j’ai créé un nouveau type-entité condition_physique >> je ne le vois pas dans votre MCD V3. D'ailleurs je ne comprends pas votre table "MORT". si un individu est mort dans une observation il le sera qu'une fois, il ne va pas ressusciter smile, donc pourquoi faire un type-entité ?

question 2 : pouvez-vous expliquer pourquoi 1,N - 1,N entre observation et lieu_capture ? une observation peut se faire dans des lieux de capture prédéfini (piégeage ?)  ? ou les observations se font "au petit bonheur la chance" ?

question 3 : ok, je croyais que l'individu était le point d'entrée, donc c'est l'observation. donc votre relation observation-individu n'est pas 1,1 - 1,N mais 0,1 - 1,N

question 4 : oui c'est une requête qui donnera l'évolution, dans GEO il est possible de faire des stats basées sur une requête. Ici ça pourrait être pour la puce 5 >> SELECT "ID_PUCE","DATE_", "POIDS" FROM individu INNER JOIN observation  ON observation.fk_puce = individu.id_puce WHERE id_puce = 5 ORDER BY "DATE_" DESC

question 5 : il y a un module multimédia dans GEO pour intégrer toute sorte de document à une observation dans votre cas. Il faut tout de même faire remarquer ce besoin à votre tuteur en le notifiant dans votre MCD. Le format de stockage des photos dans PostgreSQ est BYTEA et non VARCHAR.

Hors ligne

 

#47 Mon 21 March 2022 16:07

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

Bonjour,



Pas de soucis, c’est déjà très gentil de m’aider comme vous le faites !




>

j’ai créé un nouveau type-entité condition_physique >> je ne le vois pas dans votre MCD V3.


En effet, j’avais oublié de le prendre dans la capture d’écran que j’ai envoyé, du coup je l’ai rajouté dans celle en pièce jointe ci-dessous.




>

D'ailleurs je ne comprends pas votre table "MORT". si un individu est mort dans une observation il le sera qu'une fois, il ne va pas ressusciter , donc pourquoi faire un type-entité ?


Est-ce que c’est mieux de rattacher le type-entité mort à individu ? Le but est de garder une liste des individus morts, notamment dans le but d’étudier les causes de mortalité de ces derniers.
Je comprends bien le fait qu'un individu ne va pas ressusciter wink , mais je ne comprends pas très bien ce que cela entraîne au niveau du type-entité ?




>

pouvez-vous expliquer pourquoi 1,N - 1,N entre observation et lieu_capture ? une observation peut se faire dans des lieux de capture prédéfini (piégeage ?)  ? ou les observations se font "au petit bonheur la chance" ?


En fait, je n’ai donné qu’une partie de mon MCD, les observations ont lieu soit via des protocoles qui nécessitent de définir en amont les lieux d’observation, soit au « petit bonheur la chance » comme vous le dites (= par hasard) et dans ce cas, les coordonnées x et y du lieu d’observation sont notifiées « en aval ». Par ailleurs, j’ai dû supprimer le type-entité lieu_capture pour le moment, car il y a plusieurs soucis avec ce dernier. Je reviendrai vers vous à ce propos quand j’en saurai davantage….





J’ai fait de nouvelles modifications, qu’en pensez-vous ?


Par ailleurs, j’ai une nouvelle question, est-ce que les cardinalités 0,n ou 1,n d’un côté, et 0,1 de l’autre, nécessitent la mise en place d’une clé étrangère du côté 0,1 ?



Pour le reste, ça me semble plus clair, merci !


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#48 Tue 22 March 2022 13:57

Al3+
Participant actif
Lieu: Fécamp
Date d'inscription: 5 Sep 2005
Messages: 50

Re: génération automatique de 439 tables

Attention, en intégrant des clés étrangères dans vos entités, votre MCD n'en est plus un et votre schéma n'est pas non plus le MLD de votre analyse.

Rien de grave tant que vous vous comprenez mais si vous devez partager vos supports ou produire de la documentation, sachez que c'est un mix de MCD et MLD.

Bon courage.

Dernière modification par Al3+ (Tue 22 March 2022 13:59)

Hors ligne

 

#49 Wed 23 March 2022 15:37

Kiecane
Participant actif
Date d'inscription: 31 Oct 2021
Messages: 91

Re: génération automatique de 439 tables

D'accord, merci !

Hors ligne

 

Pied de page des forums

Powered by FluxBB