Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    Aide pour débuter une base de données pour la gestion d'un troupeau bovins allaitants
    Bonjour à tous,
    J'espère ne pas me tromper d'endroit en postant ici, si c'est le cas veuillez m'en excuser.

    Succinctement, je suis loin d'être un professionnel de l'informatique mais néanmoins quand même passionné, je me débrouille pas trop mal avec EXCEL et arrive à peu près à mes fins. J'ai eu également l'occasion de travailler un peu sur ACCESS mais mes connaissances sont limitées et je suis vite bloqué.

    Actuellement je suis technicien élevage en agricole et également fils d'éleveur. Il existe déjà des logiciels permettant la gestion d'une exploitation agricole mais leur prix est exorbitant. Depuis quelques temps, j'ai donc l'ambition de réaliser une base de données permettant la gestion d'un élevage bovins allaitants (sur la ferme familiale) et je n'ai pas trouvé d'équivalent sur votre forum. J'ai trouvé des sujets intéressants mais qui ne répondent pas réellement à mes attentes (notamment celui-cihttp://www.developpez.net/forums/d1514754/logiciels/microsoft-office/access/modelisation/aide-demarrage-base-donnees-actualisation-fichier-mensuel/ que j'ai trouvé particulièrement intéressant mais la finalité n'est pas du tout la même).

    Je vais donc essayer de résumé un peu mon projet.
    Tout d'abord, voici comment fonctionne l’exploitation:
    - il y a un troupeau de mères et de taureaux qui sont soit achetés à l'extérieur ou issus du troupeau (les mâles sont tout le temps acheté dans mon cas)
    - l'objectif est d'avoir un veau par vache et par an, les vaches font leur premier veau à l'age de 3 ans environ
    - les accouplements doivent être raisonnés pour éviter la consanguinité et dans le but d'améliorer la génétique de l'élevage
    - les veaux sont pesés plusieurs fois pour connaître leur gain de poids moyen par jour (GMQ), grâce à ces données on peut avoir une idée de la valeur laitière de la mère
    - une partie des femelles sont gardées pour le renouvellement du troupeau et deviennent mères à l'age de 3 ans, le reste des veaux est vendu

    Je voudrais partir d'une table qui comprend tous les animaux du troupeau (N° national, N° travail, date de naissance, sexe, N° national du père, N° national de la mère). Il faudrait ensuite pouvoir y intégrer les nouvelles naissances avec leurs caractéristiques (poids à la naissance, facilité de vêlage) et enfin le résultat des pesées des veaux. Tout cela permettant comme je l'ai dis plus haut d'estimer les meilleures mères du troupeau pour par exemple gardée leurs filles pour le renouvellement et raisonner les accouplements.

    Je sais pas si j'ai été très clair... mais n'hésitez pas à me poser des questions pour plus de renseignements. Merci de votre aide
    Adrien

  2. #2
    Community Manager

    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  3. #3
    Candidat au Club
    Merci de votre réponse rapide

    Oui j'ai déjà vu ce post également mais il ne répond pas réellement à mes attentes. Cette base est intéressante mais il y a beaucoup de superflue, dans mon cas je sais déjà quel mâle va être le père des futurs veaux je n'ai pas plusieurs possibilité car la conduite se fait par lots d'environ 20-25 femelles pour un taureau.

    Dans le schéma actuel de mon exploitation, nous avons 4 taureaux différent ce qui constitue 4 lots différents:
    - une quinzaine de génisses (femelles de 3 ans qui vont avoir leur premier veau) + 1 taureau
    - 3 lots avec 20-25 mères chacun + un taureau par lot
    Les lots sont raisonnés dans le but de mettre un taureau adapté dans chaque lot. Parmi les taureaux certains sont plus typés "viande", d'autre plutôt avec des qualités maternelles et enfin des mixtes.
    Par exemple, on a un lot où l'objectif sera de garder les femelles pour le renouvellement, donc faut choisir les femelles avec de bonne capacités maternelles et également mettre un taureau typé élevage.

    Dans mon cas c'est surtout l'exploitation des données des pesées des veaux, des dates de vêlages, facilité de vêlage,... qui m’intéressent pour "catégoriser" les femelles. Et également le traitement de ces données pour effectuer des calculs, moyennes,....

  4. #4
    Expert éminent sénior
    Bonjour à tous

    De ce que je comprends :

    Ta table de tous les animaux du troupeau avec les champs N° national, N° travail, date de naissance, sexe, N° national du père, N° national de la mère pourrait être complétée par
    • les champs date d'entrée, motif d'entrée, date de sortie, motif de sortie, lot (s'il est stable dans le temps sinon il faut une table de gestion des lots)
    • une table des vêlages, en relation avec la principale, avec
      • le N° national de la vache,
      • la date de vêlage,
      • la facilité de vêlage (à codifier)
      • le N° National du veau

    • une table des pesées, en relation avec la principale, avec
      • le N° National de l'animal
      • la date de pesée
      • l'heure si plusieurs pesées par jour (ou bien le champ date ci-dessus peut inclure l'heure)
      • le poids

    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  5. #5
    Candidat au Club
    Les lots ne sont pas stables alors il faut créer une table à part...
    Par contre je me demandais si je pouvais pas faire qu'une seul table pour celle de base et celle de vêlage car le critère date vêlage correspond à la date de naissance, le n° du veau est unique peu importe son âge. Dites moi si je me trompe, je rechangerais tout.

    TABLE PRINCIPALE
    - N° national
    - N° travail
    - Date de naissance
    - sexe
    - N° national du père
    - N° national de la mère
    - date d'entrée
    - motif d'entrée
    - date de sortie
    - motif de sortie
    - facilité de naissance
    TABLE FACILITÉ DE VÊLAGE reliée à la table principale

    TABLE PESÉES reliée à la table principale
    - N° National de l'animal
    - la date de pesée
    - le poids

    TABLE LOTS reliée à la table principale

    TABLE SEXE reliée à la table principale

    j'ai enlevé l'heure pour les pesées car il y en a qu'une par jour

  6. #6
    Expert éminent sénior
    Re

    On peut effectivement rattacher les champs vêlage à la table principale mais cela compliquera un peu l'exploitation car il faudra lister les vélages sur la base du veau, sans doute plus dans le cheptel, pour analyser les possibilités de la mère qui devra ne pas en être sortie mais c'est juste de la gymnastique SQL...

    Pour le sexe, à ma connaissance il n'y en a que 2 et cela ne devrait pas évoluer : je ne vois pas l'utilité d'une table...

    Pour les lots prévoir : N°lot, date rattachement, N° national animal

    Je pense que la clé sera le N° national animal pour la table principale et des clés composites pour les autres : N° national animal +date pour les pesées, les 3 champs en clé composite pour les Lots (ou un index unique sur ces 3 champs si tu préfères une clé en numéroauto.

    Bien mettre les relations 1 à n avec intégrité référentielle dans la structure.

    Éventuellement prévoir des tables référence pour les motifs d'entrée et de sortie, facilité de naissance.
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  7. #7
    Candidat au Club
    Re

    D'accord je vais séparer les deux tables alors si cela simplifie par contre vu qu'une partie des veaux femelles sont gardés pour le renouvellement, est-ce qu'on pourra les faire basculer d'une table à l'autre? car une velle née sur l'exploitation il est possible qu'elle devienne mère à son tour

    Je pensais qu'il fallait une table avec les deux possibilités pour le sexe (Ex: 1= Femelle; 2= Mâle)

    Je vais également créer la table des lots, causes d'entrée, de sortie et facilité de naissance.

    Par contre il faudra que je regarde pour le clés composites car je ne sais pas faire.

    Je vous reviendrais que demain en fin d’après-midi, merci encore et à demain

  8. #8
    Expert éminent sénior
    Re

    Pour les clés composites il suffit de sélectionner plusieurs champs lors de la création avant de cliquer sur l’icône clé.

    Pour le sexe : définir les contrôles dans le champs Sexe en utilisant, en bas de l'écran de création de table l'onglet Liste de choix. et y indiquer les deux valeurs qui alimenteront la liste en y limitant le choix.
    C'est un des rares cas où la table de référence n'est pas utile.

    Pour la table Vêlages c'est juste le vêlage lui même, et elle sera rattachée 2 fois à la table principale : une fois à la mère et une fois au rejeton. Si jumeaux (ce doit être rare on aura 2 enregistrements).
    Pas besoin de bascule l'animal lui-même est géré dans la table principale.

    Concernant les codes des table de référence on n'est pas toujours obligé de prévoir un code numérique + un libellé : si peu de cas et des cas stables dans le temps avec des libellés courts, on peut se limiter à un seul champ qui sert de clé.
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  9. #9
    Candidat au Club
    Salut
    j'ai pas tout à fait fini de préparer mes tables hier soir, je les finirais ce soir.

    C'est bon pour les clés composites, c'est simple comme bonjour en faite

    Ah oui d'accord je vois pour le sexe on gagne une table comme ça. Je pensais qu'il fallait en faire une à part comme ils avaient fait en mouton.

    Il arrive parfois qu'il y ait des jumeaux, c'est arrivé une seule fois chez moi... Ma question c'est pour après, xi je rentre la naissance d'une femelle, quand elle deviendra mère 3 ans plus tard est-ce que je pourrais rentrer ses veaux à elle dans les vêlages? C'est la que j'ai du mal à comprendre

    Ah d'accord, je vais faire toutes mes tables et je joindrais une image la prochaine fois pour s'assurer que tout est bon

  10. #10
    Expert éminent sénior
    Bonjour

    Oui.

    Elle sera la mère car indiquée dans N° national vache alors qu'à sa naissance elle est le petit indiqué dans le N° national veau.

    La table vêlages sert de table de liaison de la table principale vers elle-même pour justement illustrer la filiation qui débute au vêlage (sauf le cas où tu achèterais une mère et son veau : on les saurais mère fille mais sans infos de vêlage)
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  11. #11
    Candidat au Club
    J'ai fini de faire mes tables, pour les relations j'ai quelques doutes

    Déjà j'ai mis dans la table principale le N° national en clé primaire, est-ce que c'est bon ça vu qu'il est unique?

    Pour les relations, je dois bien relier le N°national de la table principale au N° du veau en table vêlage?

    J'ai également des doutes sur les formats de chaques champs dans mes tables. Dois-je tout mettre en texte court? et dans les propriétés il faut que je bloque la taille du champs à 4 chiffres pour le n° de travail par exemple et interdire les cellules vides
    j'ai vu dans celui pour les moutons qu'il avait bloqué et mis comme "####" par exemple

  12. #12
    Candidat au Club

    Voici le fichier à l'heure actuelle si vous voulez y jeter un coup d'oeil.

  13. #13
    Expert éminent sénior
    Bonjour

    Il faut effectivement ajuster la taille des champs : prévoir assez si un texte peut être un peu plus long mais ne surtout pas laisser 255 caractères d'autant que tu as des champs texte dans la clé. De même pour les nombre on a plusieurs choix.

    Moins il y a de vide inutile, mieux cela marche.

    Veille à mettre la même taille à tous les N° nationaux.

    Pour le poids je verrais plutôt du numérique sinon impossible de calculer les progressions...

    N°RacePK : c'est quoi ? Il y a une norme ? Sinon un seul champ race doit suffire ou si tu mets un numéro mets-le en numéro auto.

    Pour les vêlages : le code veau est à intégrer dans la clé en cas de jumeaux.

    Pensez à paramétrer les liste de choix pour tous les champs liés à une table de référence.

    Il faudra saisir le veau dans le troupeau avant de renseigner le vêlage et prévoir un code pour préremplir N° veau, N° mère et date de vêlage afin d'éviter une double saisie.

    Voici le schéma de relations à peine modifié : cela semble tourner correctement quand on mets des valeurs dans les tables... (T_Troupeau_1 est juste une deuxième fois la table T_Troupeau qui permet de lier le veau).
    Décocher mise à jour et suppression en cascade : c'est une spécificité Access (par rapport aux autres systèmes de gestion de BD) qui ne sert que dans des cas très rares et pourrait te mettre hors la loi : par exemple en changeant le numéro national d'un animal a posteriori...


    Reste à remplir un peu les tables, et voir si, en terme d'exploitation par requête, tous tes besoins sont couverts ou si des ajustements sont nécessaires.
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  14. #14
    Candidat au Club
    Salut!

    J'ai modifié les relations mais j'ai pas compris pour la T_troupeau_1... je dois juste la mettre dans mes relations? Parce qu'en fait c'est une nouvelle table ou est-ce qu'on démultiplie la 1ère pour permettre de les liées plusieurs fois?

    Je vais m'occuper de régler tout les champs à la bonne taille, le N° national fait toujours la même taille donc je pourrais le bloquer partout c'est as un soucis. Je vais mettre les poids en numérique également.

    Pour les races, chaque race a un code (Ex: 34=Limousine, 66=Prim'holstein,...) je voulais me servir du code comme clé primaire.

    Et j'ai pensé également à rajouter 2-3 trucs, chaque année on a des vaches qui vont à abattoir et qui quittent donc le troupeau... Il me faut quand même garder les données de ces vaches, de plus j'aurais aimer rentrer les données (Poids carcasse, prix de vente, rendement carcasse), de même pour les veaux pouvoir garder leur prix de vente.

    Faut-il également créer un champs présent/absent dans la table troupeau?

    Il est également possible que dans l'avenir on utilise l'insémination animale au sein du troupeau, comment puis-je gérer ça? Il faut quand même le rentrer comme mâle dans le troupeau... faut il prévoir un champs "fictif" dans ma table troupeau?

    Je suis désolé pour tout ces rajouts mais c'est vrai que les idées me viennent en avançant dans le projet...

    Quand j'aurais tout préparé je remplirais un peu chaque table

  15. #15
    Candidat au Club


    J'ai fait un tableau avec les données dont je dispose et les finalités.
    En outre je voudrais aussi avoir une vue sur le troupeau à l'instant T n'importe quand dans l'année, avec une liste des lots, avec les animaux présents,... et également pour chaque animal présent voir sa généalogie, sa descendance et toutes ses performances, une sorte de "fiche individuelle"

    J'ai oublié de renseigner les sigles:
    - IVV = Intervalle Vêlage - Vêlage (Durée en jours entre deux vêlages pour une même vache, objectif 1 veau/an/vache donc objectif IVV <= 365)
    - GMQ = Gain Moyen Quotidien en grammes (gains de poids entre deux pesées divisé par le nombre de jours entre les deux pesées)
    - PAT = Poids Age Type (on en considère surtout deux: le PAT 120 jours, et le PAT 210 jours, le premier permet d'évaluer la qualité laitière de la mère (+ le veau boit du lait,+ il aura un GMQ élevé donc + le veau a un GMQ élevé, + la mère sera une bonne laitière), le PAT 210 jours permet d'évaluer la capacité du veau à croitre rapidement en évaluant le GMQ entre PAT 120 et PAT 210)
    - MAR = Mise A la Reproduction

  16. #16
    Expert éminent sénior
    Bonjour

    Je réponds rapidement à quelques questions mais n'ai pas le temps ce soit de tout regarder :

    Pour T_troupeau_1 je l'avais indiqué c'est juste la table T_troupeau que l'on remet dans la fenêtre de relations pour pouvoir lier le veau. Access met un indice chaque fois qu'on ajoute une même table mais cela se réfère bien à l'originale.

    Pour avoir l'état du troupeau à ce jour : c'est tout le contenu de T_troupeau dont date de sortie est non renseignée, dont pas besoin de présent/absent.
    On peut l'avoir aussi à une autre date avec date de sortie soit supérieure à la date analysée soit vide.
    On peut bien sûr lister le lot correspondant aux animaux puisque la date de rattachement y figure...

    Pour les races : cela répond à ma question : si c'est normalisé, prends la norme.

    Pour l'insémination artificielle, dans la mesure où le N° national du père est dans la table, et que le père n'a jamais fait partie du troupeau, le veau est soit un animal acheté, soit issu d'insémination.
    Si on le trouve dans les vêlages, on peut conclure à une insémination à moins que tu puisses acheter une vache pleine.

    Pour le prix de vente, je le verrais bien dans la table T_troupeau (et pourquoi pas prix d'achat aussi). Pour les carcasses on peut, soit faire de même, soit éventuellement créer une autre table mais pas sûr que cela vaille la peine de s'embêter pour un troupeau modeste...

    Pour l'arbre généalogique c'est plus compliqué. Les gros systèmes de gestion de base de données savent le faire naturellement mais pas Access. J'avais d'ailleurs découvert cette possibilité d'Oracle qui l'illustrait sur un troupeau de bovins.

    On connait les parents et les enfants de chaque animal mais si on veux remonter + haut ou descendre + bas... Si le nombre de générations n'est pas trop important, en chaînant les requêtes on peut y arriver.
    Cela m'étonnerait d'ailleurs qu'on ne trouve pas d'exemple... Il me semble avoir maquetté quelques chose il y a longtemps (sur un autre domaine), il faudrait que je le retrouve mais c'est sûr qu'on doit trouver cela ici ou sur d'autres sites traitant d'Access.
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  17. #17
    Candidat au Club
    Oui d'accord, j'avais mal compris ces histoires de tables.

    Pour les races c'est bon, j'ai même rempli la table.

    Il est effectivement possible d'acheter des vaches pleines, en général c'est plutôt nous qui en vendons, mais on sait jamais. Il est possible que plusieurs vaches soient inséminées artificiellement avec le même taureau, or le père n'est pas intégré dans le troupeau, est-ce qu'on pourra utiliser les données de ses fils/filles pour faire un bilan de celui-ci?

    Pas bête de rajouter le prix d'achat, il y a chaque année une quinzaine de vaches qui sont réformées, sachant qu'il y a qu'une donnée à rentrer je vois pas le soucis si on le met dans la table troupeau. Après c'est pour pouvoir l'utiliser pour faire un bilan chaque année et se comparer aux années précédentes ainsi que voir pour chaque femelle pour affiner le choix des descendantes pour le renouvellement.

    Pour l'arbre généalogique, je veux pas remonter bien haut, juste jusqu'au grands parents et les enfants pas plus. C'est surtout quand tu choisis le renouvellement, je pourrais voir pour chaque femelle possible ses parents et grands-parents pour se faire un avis.

  18. #18
    Expert éminent sénior
    Bonjour
    Citation Envoyé par adrien46 Voir le message
    ...Il est effectivement possible d'acheter des vaches pleines, en général c'est plutôt nous qui en vendons, mais on sait jamais. Il est possible que plusieurs vaches soient inséminées artificiellement avec le même taureau, or le père n'est pas intégré dans le troupeau, est-ce qu'on pourra utiliser les données de ses fils/filles pour faire un bilan de celui-ci?...
    Oui.

    Mais si tu achètes des vache pleines, la déduction que je donnais ne marche pas.
    Il faut donc un champ en plus dans la table Troupeau : Type père, naturel ou insémination.
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  19. #19
    Candidat au Club
    Bonjour,

    J'ai mis à jour toutes mes tables, j'ai également rajouté une table "sanitaire" pour faire le cahier veto du troupeau. J'ai juste créer deux tables:
    - T_sanitaire: avec N°traitement, N°animal, date, produit, délai du produit
    - T_produits: avec N°produit, produit, catégorie du produit (vaccins,...)
    Sachant que le délai peut varier j'aurais aimé pouvoir le rentrer dans ma table produit pour l'avoir en auto... est-ce possible? A moins de créer plusieurs champs avec les différents délais...
    Les traitements utilisés varient en fonction de ce que prescris le vétérinaire... dans mon formulaire est-ce qu'il est possible lorsqu'on va rentrer un traitement pour un animal de soit pioché dans la banque existante si il est déjà rentré ou alors en rentrer un nouveau directement dans les deux tables

    Les autres tables j'ai rajouté prix de vente/achat, conformation, poids carcasses et type de père.

    Je vous mets en pièces jointes le fichier à l'heure actuelle.


  20. #20
    Expert éminent sénior
    Bonjour

    Da façon générale utilise autant que possible les même termes pour nommer tes champs : tu l'as fait presque partout mais pourquoi CauseEntree et CatégorieEntree, ou Produit et Traitement...

    Je n'ai pas compris à quoi correspond délai de traitement : durée du traitement ? Délai après traitement avant d'utiliser le lait ? Si c'est le 1er cas, c'est dans T_Sanitaire, si c'est le second cas et que c'est fixe c'est dans T_Traitements.

    Si j'ai bien compris ta question : pour créer un enregistrement dans T_Traitements en même temps que dans T_Sanitaire, il faut le programmer. Cela fait partie de la seconde partie de l'analyse : comment, quand, ... on remplit les tables et donc la définition des interfaces nécessaires avec les contrôles à effectuer, les facilités à prévoir...

    Je n'ai pas tout regardé, mais quelques remarques sur la table principale (que tu peux extrapoler pour d'autres tables pour certaines)
    • 50 caractères c'est beaucoup pour le champ SEXE, 10 ou 15 suffisent puisque Femelle fait 7.
    • idem pour type père : 30 doit suffire
    • pour le prix vente je mettrais un seul champ mais je prévoirais plutôt un état animal au moment de la vente (vif, carcasse, malade...) car tu ne vends qu'une fois et 2 champs compliqueraient les calculs ultérieurs
    • pour les poids ici comme dans vêlages : peut-être prévoir des décimales (je te laisse juge)
    • pour classe carcasse je prévoirais une table de ces codes
    • quand tu mets des listes déroulantes : limité à liste doit être à oui
    • pense à mettre tes listes déroulantes en liens avec les tables races, causes entrées et sorties, et donc, une fois le table crée avec classes carcasse
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

###raw>template_hook.ano_emploi###