Comprendre la différence entre un formulaire et un sous-formulaire dans ActivityInfo

Cet article a été traduit de l'anglais par IA et peut contenir des erreurs. Vos commentaires nous aideront à l'améliorer.

Introduction

La conception d'une base de données bien structurée dans ActivityInfo nécessite une compréhension approfondie de la manière dont les points de données sont liés les uns aux autres. L'une des décisions architecturales les plus critiques que vous prendrez est de choisir entre un formulaire et un sous-formulaire.

Ces éléments définissent l'organisation de vos données, l'expérience de saisie de l'utilisateur et la gestion à long terme des relations entre les ensembles de données. Cet article explique les définitions fondamentales des formulaires et des sous-formulaires, met en évidence leurs principales différences et fournit des conseils sur le moment où utiliser chacun d'eux.

Qu'est-ce qu'un formulaire ?

Un formulaire est l'élément de base de votre base de données, agissant comme la structure utilisée pour collecter et organiser les données. Il est similaire à un tableau dans une feuille de calcul ou à une page dans un questionnaire papier.

Considérez un formulaire comme un tableau où :

  • Chaque enregistrement est une ligne
  • Chaque champ est une colonne

Exemple : Un formulaire nommé « Enregistrement des ménages » peut inclure des champs tels que :

  • ID du ménage
  • Nom du chef de ménage
  • Localisation du ménage
  • Taille du ménage
Formulaire d'enregistrement des ménages
Formulaire d'enregistrement des ménages
Enregistrement parent enregistré
Enregistrement parent enregistré

Qu'est-ce qu'un sous-formulaire ?

Un sous-formulaire est un formulaire secondaire imbriqué dans un autre formulaire (formulaire parent), vous permettant de collecter plusieurs données connexes associées à un seul enregistrement parent.

Au lieu de dupliquer les données parentes sur plusieurs enregistrements, les sous-formulaires vous permettent de structurer les données plus efficacement.

Caractéristiques clés des sous-formulaires

  • Ne peut exister indépendamment sans un formulaire parent
  • Stocke plusieurs enregistrements connexes pour une seule entrée parente
  • Maintient une relation un-à-plusieurs
  • Lié automatiquement à l'enregistrement parent

Exemple : Dans le formulaire parent Enregistrement des ménages, un sous-formulaire pourrait être Membres du ménage.

Chaque ménage (enregistrement parent) peut avoir plusieurs membres (enregistrements de sous-formulaire) avec des champs tels que :

  • Nom du membre
  • Date de naissance
  • Sexe
Sous-formulaire des membres du ménage
Sous-formulaire des membres du ménage
5 sous-enregistrements liés à l'enregistrement parent
5 sous-enregistrements liés à l'enregistrement parent
5 sous-enregistrements liés à l'enregistrement parent
5 sous-enregistrements liés à l'enregistrement parent

Principales différences entre les formulaires et les sous-formulaires

Caractéristique Formulaire Sous-formulaire
Indépendance Autonome Nécessite un formulaire parent
Objectif Saisir les données primaires Saisir les données enfants connexes ou secondaires
Relation Un enregistrement par entrée Plusieurs enregistrements par parent
Structure Niveau supérieur Imbriqué dans un formulaire
Exemple Ménage Membres du ménage

Quand utiliser un formulaire ou un sous-formulaire

Utilisez un formulaire lorsque :

  • Vous collectez des données primaires
  • Chaque enregistrement est autonome
  • Vous créez des données de référence

Exemples : Ménages, Écoles, Établissements de santé, Projets

Utilisez un sous-formulaire lorsque :

  • Un enregistrement contient plusieurs entrées connexes
  • Il existe une relation parent-enfant claire
  • Vous saisissez des données temporelles ou longitudinales

Exemples :

  • Ménage - Membres
  • Formation - Participants

Pourquoi les sous-formulaires sont préférables à plusieurs formulaires

Évitez de créer des formulaires distincts pour des données connexes et de les lier ultérieurement ; les sous-formulaires sont plus efficaces, car ils maintiennent les données connexes structurées au sein d'une seule relation cohérente.

  • Saisie de données contextuelle - Les utilisateurs peuvent visualiser et saisir des enregistrements connexes en un seul endroit. Lors de l'ouverture d'un enregistrement parent, toutes les entrées de sous-formulaire associées sont visibles. Cela élimine également la nécessité de ressaisir des données qui existent déjà dans l'enregistrement parent.

  • Analyse simplifiée - ActivityInfo maintient automatiquement la relation entre les enregistrements parents et enfants. Cela simplifie l'agrégation, par exemple :

    • Total des bénéficiaires par ménage
    • Nombre de visites à la clinique par patient
  • Intégrité des données - Les enregistrements de sous-formulaire ne peuvent exister sans un parent. Cela empêche les enregistrements orphelins ou les données incohérentes. De plus, si un enregistrement parent est supprimé, tous les enregistrements de sous-formulaire associés sont automatiquement supprimés.

  • Profondeur de la hiérarchie - Les sous-formulaires peuvent contenir d'autres sous-formulaires (structure imbriquée). Cela permet de conserver des structures simples pour maintenir la facilité d'utilisation, en particulier lors de la collecte de données sur mobile.

Conclusion

Comprendre la différence entre les formulaires et les sous-formulaires est fondamental pour construire des bases de données efficaces dans ActivityInfo.

  • Utilisez les formulaires pour les données primaires et indépendantes
  • Utilisez les sous-formulaires pour les données connexes, répétitives ou temporelles

L'application correcte de ce principe se traduit par :

  • Une meilleure qualité des données
  • Une analyse plus facile
  • Des systèmes évolutifs

Des formulaires bien conçus améliorent la saisie des données et le reporting, et ils facilitent également la maintenance à long terme à mesure que votre base de données gagne en taille et en complexité.

Élément suivant
Ajout d'un champ de référence pour référencer plusieurs champs d'un autre formulaire (effet de cascade)