La conception d'une base de données requiert des aptitudes techniques et devrait être confiée à des programmeurs professionnels d'expérience. Pour plus de détails sur les différents types de bases de données, voir Bases de données.
La conception de la base de données d'un registre des électeurs dépendra du degré de complexité des besoins des utilisateurs du système, du type de données que devra contenir le registre de même que des documents de sortie qu'il sera nécessaire de produire.
Les facteurs suivants sont parmi ceux qu'il convient de considérer pour concevoir la base de données d'un registre :
- la quantité de données concernant les électeurs à inscrire;
- le nombre de catégories de données, c'est-à-dire de champs différents;
- l'ampleur et la complexité de la base de données géographiques qu'il faudra maintenir; (voir Données géographiques d'un registre des électeurs)
- le nombre de transactions estimé;
- la nature temporaire ou permanente du registre;
- la procédure de saisie des données;
- la nécessité on non de conserver des données inactives pour permettre de maintenir l'historique d'inscription de chaque électeur ou pour fins de vérification;
- le nombre d'utilisateurs du système et la fréquence d'utilisation;
- la nécessité de maintenir un seul système centralisé ou décentralisé dans diverses régions géographiquement éloignées;
- la nécessité ou non que les utilisateurs aient un accès en ligne des données à jour;
- les documents ou travaux de sortie qu'il sera nécessaire de produire; (voir "etl06")
- le type d'équipement qui supportera le système;
- la nécessité de maintenir le système au moyen d'ordinateurs autonomes ou en réseau;
- les procédures de classification et de traitement des données.
Étant donné que la base de données de la plupart des registres des électeurs devra contenir plusieurs milliers de fiches et qu'elle sera utilisée par de nombreux préposés, soit à l'intérieur d'un ou de plusieurs réseaux, on doit accorder à sa conception le plus grand soin possible dans le but d'atteindre le plus haut point d'efficacité. À cette fin, il convient d'adopter, entre autres, les diverses stratégies suivantes.
- Opter pour un logiciel de base de données dont la structure est adaptée aux besoins. Les versions standardisées disponibles dans un système de bureautique (voir La bureautique) ne sont habituellement pas suffisantes pour créer des bases de données complexes à capacité élevée et il est préférable d'avoir recours à des logiciels conçus par des spécialistes.
- S'assurer de disposer d'un équipement offrant suffisamment de puissance de traitement et de vitesse de réseaux pour supporter le volume de la base de données.
- Énoncer la structure de la base de données avant même d'entreprendre sa conception. Il convient de décrire les rapports que les différents types de données auront entres elles afin de réaliser un produit final plus complet.
- Développer une base de données relationnelle ou par objet (voir Bases de données) pour permettre plus de flexibilité.
- Éviter la saisie répétitive des mêmes données en ayant recours à des tableaux et à des codes liés entre les données. Par exemple, plutôt que de saisir l'adresse complète pour chaque personne inscrite au registre, cette méthode permet de saisir uniquement un code relié à l'adresse complète appropriée contenue dans le registre d'adresses.
- Utiliser des codes conventionnels afin de permettre à une personne autre que le programmeur d'origine de corriger, de mettre à jour et de faire la vérification de la base de données. (voir Vérification, mise à l'essai et entretien des logiciels)
- Documenter la base de données, d'abord pour le bénéfice des utilisateurs afin qu'ils disposent de manuels d'instructions, et aussi pour celui des programmeurs afin qu'une description des codes soit disponible.
- Utiliser une nomenclature conventionnelle pour tous les éléments de la base de données, tels que les tableaux, les recherches, les rapports, les formulaires, les modules de codes, les champs de données, les moyens de contrôle des formulaires, et ainsi de suite.
- Faire usage de codes de programmation de conception modulaire, c'est-à-dire des codes offrant des modules discrets pouvant être soumis séparément à des tests et à un processus de vérification.
- Rédiger des index et des moyens distincts d'identifier les divers éléments, comme une clé primaire pour chaque type de données, permettant d'accélérer les tâches de recherche et d'établir des liens entre les tableaux de données.
- Avoir recours à des interfaces utilisateurs uniformes dans les formulaires et les rapports pour faciliter la tâche aux utilisateurs.