Geedoc Extraction de données 20/01/2016 Comment interroger GEEDOC ? En utilisant les modules Listes et Inventaire proposés dans l’IHM Avantage : facile à appréhender Inconvénient : ne peut pas tout faire En utilisant le requêteur générique Avantage : permet de faire des listes non prévues ci-dessus on peut sauvegarder une requête pour la reprendre ensuite Inconvénient : nombre de tables limité à 3 tables que des ET (pas de Ou) connaitre le Modèle de Données (MCD)
Geedoc Extraction de données 20/01/2016 Plan Présentation du MCD Comment faire les requêtes ? Requête sur 1 table Requête sur 2 tables Requête sur 3 tables Comment sauvegarder la requête ? Comment charger une requête ?
Geedoc Extraction de données 20/01/ MCD : Modèle Conceptuel des Données -Autour de l’animal -Mesures diverses -Liées à la reproduction -Liées aux saillies -Liées aux mises bas -Autour du lait Langage lié aux bases de données : Table de données = fichier structuré Enregistrement = une ligne de données Champ = une colonne Jointure = lien entre les tables Clé primaire = unicité de l’enregistrement Clé étrangère = permet la cohérence des données
Geedoc Extraction de données 20/01/ Autour de l’Animal Animal espece elv_ne id_animal d_nais sexe typ_gen lignee IPG pg_elv pg_id_animal pg_campagne pg_saison mg_elv mg_id_animal mg_campagne mg_saison ma_elv ma_id_animal Present elv_prod prod espece elv_ne id_animal d_arrivee d_sortie elv_envoi Typ_gen espece typ_gen race libelle duree_gest Race espece race nom_race Elevage Elv nom_domaine Bleu = clé primaire Genotypes espece elv_ne id_animal genotype allele1 allele2
Geedoc Extraction de données 20/01/ Mesures diverses Pesee elv_prod prod espece elv_ne id_animal d_pesee h_pesee nat_pesee cd_pesee lot_pesee poids Abattage elv_prod prod espece elv_ne id_animal d_abattage pds_carcasse larg_carcasse Present elv_prod prod espece elv_ne id_animal d_arrivee d_sortie Animal espece elv_ne id_animal d_nais sexe typ_gen ipg Etat_Corporel elv_prod prod espece elv_ne id_animal d_note_etat note_lom note_stern cd_etat Endoscopie elv_prod prod espece elv_ne id_animal d_endoscopie campagne saison
Geedoc Extraction de données 20/01/ Autour de la reproduction Gestation elv_prod prod espece elv_ne id_animal campagne saison d_diagnostic methode b_resultat nb_foetus nb_viables rang Lot_Lutte elv_prod prod espece campagne saison lot_lutte d_debut commentaire Repro elv_prod prod espece elv_ne id_animal campagne saison deb_saison sexe* lot_lutte Campagne elv_prod prod espece campagne saison libelle Scycle elv_prod prod espece elv_ne id_animal campagne saison cd_produit d_pose h_pose dose d_retrait h_retrait Observ Hormonal elv_prod prod espece elv_ne id_animal campagne saison cd_produit d_hormonal h_hormonal mod_inj dose_inj lot_fabric operateur Present elv_prod prod espece elv_ne id_animal
Geedoc Extraction de données 20/01/ Autour des saillies Repro elv_prod prod espece elv_ne id_animal campagne saison Lutte_Nat elv_prod prod espece elv_ne id_animal campagne saison d_saillie h_saillie typ_lutte d_marque d_fin_lutte pg_elv pg_id_animal pg_campagne pg_saison pg_typ_gen Saillie elv_prod prod espece elv_ne id_animal campagne saison d_saillie h_saillie mod_saillie utilise IA elv_prod prod espece elv_ne id_animal campagne saison d_saillie h_saillie typ_seme pg_elv pg_id_animal pg_campagne pg_saison d_prelev Psperme elv_prod prod espece elv_ne id_animal d_prelev motilite Emb_Impl elv_prod prod espece elv_ne id_animal d_saillie h_saillie
Geedoc Extraction de données 20/01/ Autour des mises bas Misebas elv_prod prod espece elv_ne id_animal campagne saison d_misebas portee groupe no_lact comment_mb Prevision_MB elv_prod prod espece elv_ne id_animal campagne saison elv_origine cpo sno d_prevu_mb Repro elv_prod prod espece elv_ne id_animal campagne saison Cas particulier saillies faites dans une UE et mises bas faites dans une autre UE elv_prod=elv_origine ET campagne=cpo ET saison=sno
Geedoc Extraction de données 20/01/ Autour du lait Misebas elv_prod prod espece elv_ne id_animal campagne saison d_misebas no_lact Traite_Anim elv_prod prod espece elv_ne id_animal d_traite moment campagne lot_traite place qte_lait no_ech tb tp uree Mise_Traite elv_prod prod espece elv_ne id_animal campagne saison d_debut_traite d_fin_traite cse_fin Chantier_Tr elv_prod espece d_traite moment campagne lot_traite h_debut h_fin qte_lait ctl_offi ctl_expe ctl_qual no_clo Debit elv_prod espece elv_ne id_animal d_traite moment no_mesure mesure Palpation Pmm_Anim
Geedoc Extraction de données 20/01/2016 Identité complète : elv_ne (8) + id_animal (6) + espece (caprins 5 + 5) IPG : (11c) on a enlevé les codes France et Espèce Boucle INRA intra élevage (6) : supprimée (ancienne boucle Nedap) Numéro de travail (6) pour les animaux en reproduction IPG 11c = N° INSEE (6) + Millésime (1) + numéro (4) (obligatoire depuis 2006) RFID 15c = Pays(250) + espèce (0) + IPG 11c (Pays=199 pour nés avant 2006) 1.7 Rappel des identifiants : Boucle visuelle Vous n’avez pas besoin d’utiliser : - le champ RFID dans la table ANIMAL - le champ boucle dans la table PRESENT - le champ n_travail de la table REPRO
Geedoc Extraction de données 20/01/ Vie d’un animal
Geedoc Extraction de données 20/01/2016 Requête sur une table Requête sur deux tables Requête sur trois tables 2 Comment utiliser le module « Extraction de données » ?
Geedoc Extraction de données 20/01/ Requête sur UNE table Vous n’avez pas besoin d’indiquer elv_prod, espece et prod
Geedoc Extraction de données 20/01/ Conditions : elv_prod, prod, espece Animal espece elv_ne id_animal d_nais sexe typ_gen ipg Present elv_prod prod espece elv_ne id_animal d_arrivee d_sortie elv_envoi Repro elv_prod prod espece elv_ne id_animal campagne saison deb_saison n_travail lot_lutte groupe* sexe* MiseBas elv_prod prod espece elv_ne id_animal campagne saison d_misebas mod_mb portee groupe no_lact where elv_prod =‘ ’ and espece =‘2’ and prod =‘1’ where elv_ne =‘ ’ and espece =‘2’ (Lafage-Lait) where elv_ne =‘ ’ and espece =‘2’ (Lafage-Viande)
Geedoc Extraction de données 20/01/ Requête sur UNE table - Exécuter
Geedoc Extraction de données 20/01/ Requête sur UNE table : choix des critères Je déconseille de travailler avec la table Animal en premier
Geedoc Extraction de données 20/01/ Requête sur 2 tables (jointures) Table1Table2 Lien La jointure se fait sur un ou plusieurs champs communs aux 2 tables Syntaxe1Syntaxe2 SELECT A.col1,A.col2,B.col1 FROM geedoc.table1 A INNER JOIN geedoc.table2 B ON A.col1=B.col3 and A.col2=B.col4 WHERE.etc. SELECT A.col1,A.col2,B.col1 FROM geedoc.table1 A, geedoc.table2 B WHERE A.col1=B.col3 and A.col2=B.col4 and.etc. ensemblesAB
Geedoc Extraction de données 20/01/2016 SELECT A.elv_ne,A.id_animal,A.d_pesee,B.ipg,B.typ_gen FROM geedoc.Pesee A INNER JOIN geedoc.Animal B ON A.id_animal=B.id_animal and A.elv_ne=B.elv_ne and A.espece=B.espece WHERE A.elv_prod=‘ ’ and A.prod=‘1’ and A.espece=‘2’ and B.sexe=‘2’ and B.typ_gen in (‘0010’,’0021’) Pesee elv_prod prod espece elv_ne id_animal d_pesee h_pesee Poids Animal espece elv_ne id_animal d_nais sexe typ_gen lignee ipg n1 Table1 : A Table2 : B Exemple entre la table Pesee et la table Animal
Geedoc Extraction de données 20/01/2016 Repro elv_prod prod espece elv_ne id_animal campagne saison deb_saison sexe* lot_lutte Present elv_prod prod espece elv_ne id_animal d_arrivee d_sortie Exemple : Jointure entre la table Repro et la table Animal Un animal ne peut être déclaré Repro que s’il existe dans la table Present et donc dans la table Animal Elevé jeune Mise à la repro campagne/saison n1 Déclarer apte à la reproduction Animal espece elv_ne id_animal d_nais sexe typ_gen d_repro ipg n 1 n1 Il faut toujours demander la table n en premier
Geedoc Extraction de données 20/01/2016 SELECT A.elv_ne,A.id_animal,A.campagne,A.saison,A.lot_lutte, B.d_nais,B.sexe,B.ty_gen,A.lignee,B.ipg // Je pars de la table Repro FROM geedoc.Repro A // Jointure avec la table Animal pour avoir les infos de chaque animal INNER JOIN geedoc.Animal B ON A.id_animal=B.id_animal and A.elv_ne=B.elv_ne and A.espece=B.espece // La condition peut porter sur les 2 tables WHERE A.elv_prod=‘ ’ and A.espece=‘2’ and A.prod=‘1’ and A.campagne=‘2016’ and A.saison=‘1’ and A. sexe =‘2’ (and B. sexe =‘2’) and B.typ_gen=‘0010’ Exemple : liste des femelles qui sont dans une campagne/saison
Geedoc Extraction de données 20/01/ Avec le module Extraction de données de Geedoc
Geedoc Extraction de données 20/01/ Exécuter la requête
Geedoc Extraction de données 20/01/2016 SELECT A.ELV_NE,A.ID_ANIMAL,A.CAMPAGNE,A.SAISON,A.LOT_LUTTE, B.D_NAIS,A.SEXE,B.TYP_GEN,B.LIGNEE,B.IPG FROM geedoc.REPRO A JOIN geedoc.ANIMAL B ON A.id_animal=B.id_animal AND A.elv_ne=B.elv_ne AND A.espece=B.espece WHERE A.ELV_PROD=' ' AND A.ESPECE='2' AND A.PROD='1' AND A.CAMPAGNE='2016' AND A.SAISON='1' AND A.SEXE='2' AND B.TYP_GEN='0010' SELECT A.elv_ne,A.id_animal,A.campagne,A.saison,A.lot_lutte, B.d_nais,B.sexe,B.ty_gen,A.lignee,B.ipg // Je pars de la table Repro FROM geedoc.Repro A // Jointure avec la table Animal pour avoir les infos de chaque animal INNER JOIN geedoc.Animal B ON A.id_animal=B.id_animal and A.elv_ne=B.elv_ne and A.espece=B.espece // La condition peut porter sur les 2 tables WHERE A.elv_prod=‘ ’ and A.espece=‘2’ and A.prod=‘1’ and A.campagne=‘2016’ and A.saison=‘1’ and A. sexe =‘2’ (and B. sexe =‘2’) and B.typ_gen=‘0010’ Sauvegarder la requête Requête générée : Rappel de la requête :
Geedoc Extraction de données 20/01/ Sauvegarder la requête
Geedoc Extraction de données 20/01/2016 Charger : modifier, la requête et l’exécuter Charger une requête
Geedoc Extraction de données 20/01/ Requête sur 3 tables Animal espece elv_ne id_animal ipg typ_gen Genotypes espece elv_ne id_animal genotype allele1 allele2 n Repro elv_prod prod espece elv_ne id_animal campagne Saison 1 SELECT A.elv_ne,A.id_animal,B.ipg,C.allele1, C.allele2,C.Genotype FROM geedoc.Repro A LEFT JOIN geedoc.ANIMAL B ON A.id_animal=B.id_animal and A.elv_ne=B.elv_ne and A.espece=B.espece LEFT JOIN geedoc.Genotypes C ON C.id_animal=B.id_animal AND C.elv_ne=B.elv_ne AND C.espece=B.espece WHERE A.elv_prod=‘ ’ and A.prod=‘1’ and A.espece=‘2’ and B.sexe=‘2’ and C.Genotype=‘SOCS2’ 1 n
Geedoc Extraction de données 20/01/ Requête sur 3 tables : avec le genotype SOCS2 en plus
Geedoc Extraction de données 20/01/ Requête sur 3 tables : exécuter la requête Attention, seuls les animaux qui ont un Génotype SOCS2 sont affichés A la requête précédente, le nb d’animaux était 615 animaux
Geedoc Extraction de données 20/01/ Lait : Traite des animaux d’une campagne (que les CLO)
Geedoc Extraction de données 20/01/2016 Qte_lait de la table Traite_Anim (concerne la femelle pour la date de traite et le moment) Qte_lait1 = qte_lait de la table chantier_tr (concerne tout le troupeau à la date et moment) 2.4 Lait : Traite des animaux d’une campagne (que les CLO)
Geedoc Extraction de données 20/01/ Requête sur 2 ou 3 tables : attention Pesee elv_prod prod espece elv_ne id_animal d_pesee h_pesee poids campagne saison Repro elv_prod prod espece elv_ne id_animal campagne saison lot_lutte Plusieurs enregistrements dans chaque table n n
Geedoc Extraction de données 20/01/ Requête sur 3 tables : Repro, Animal et Pesee
Geedoc Extraction de données 20/01/2016 Il a pris toutes les femelles campagne 2016 saison 1 et du lot de lutte 11 + tous les poids de ces femelles de leur naissance à la dernière pesée
Geedoc Extraction de données 20/01/ Ajouter des critères sur la table Pesee
Geedoc Extraction de données 20/01/2016 On voit qu’on a toutes les pesées reproducteur nat_pesee=‘3’ Mais certains code de pesées = 00 (à quoi cela correspond ?)
Geedoc Extraction de données 20/01/ Ajouter des critères sur la table Pesee + code de pesée cd_pesee=10 : pesée de lutte cd_pesee=11 : pesée de mise bas
Geedoc Extraction de données 20/01/ femelles dans le lot de lutte *2 = 208 – (15+1) = pour 15 femelles, il n’ y a pas de pesée code 11 - pour 1 femelle, il n’y a pas de code de pesée 10
Geedoc Extraction de données 20/01/2016 IDENTITE ANIMAL élevage de naissance Identité naissance campagnesaison Animal elv_neid_animal Père Génétique pg_elvpg_id_animal pg_campagnepg_saison Mère Génétique mg_elvmg_id_animal mg_campagnemg_saison Mère Allaitante ma_elvma_id_animal ma_campagnema_saison Mère Porteuse mp_elvmp_id_animal mp_campagnemp_saison 2.6 Rappel des identifiants : table Animal
Geedoc Extraction de données 20/01/2016 -Bien se poser la question ou les questions : qu’est-ce que je veux faire ? -Essayer de ne pas travailler sur la table Animal en premier -Pour avoir l’IPG, jointure avec la table Animal -id_animal,elv_ne,espece -Pour toutes les tables liées à la reproduction (repro,lutte_nat,ia,saillie,.etc.) : -id_animal,elv_ne,espece,campagne,saison -Pour les tables liées aux saillies (ia, lutte_nat, saillie), le lien se fait sur : -id_animal,elv_ne,espece,d_saillie,h_saillie -Pour les tables liées au lait (traite_anim, chantier_tr), le lien se fait sur : -id_animal,elv_ne,espece,d_traite,moment Conclusion S’il manque des liens entre certaines tables, me le dire Attention, la solution proposée ne répond pas à toutes les demandes
Geedoc Extraction de données 20/01/2016 u Merci de votre attention …