El proceso de diseño de las bases de datos requiere habilidades técnicas. Es preferible que sean diseñadas por programadores capacitados profesionalmente. Para mayor información sobre los tipos de bases de datos, ver Bases de Datos .
El diseño de una base de datos para el registro de electores dependerá de la complejidad de los requisitos de los usuarios y de los productos específicos que se esperen del sistema. Entre los factores que influyen en el diseño de una base de datos para el registro de electores, se pueden mencionar los siguientes:
- El tamaño del electorado (o del número de registros) que serán almacenados en el sistema.
- El número de las distintas clases de información (o campos) que serán almacenados.
- El tamaño de la base geográfica utilizada en el sistema (ver Base Geográfica para el Registro de Electores)
- El número estimado de transacciones informativas.
- Si el sistema va a ser utilizado para una sola elección o para un registro electoral continuo o permanente.
- Cómo va a ser introducida la información.
- Si el sistema va a almacenar registros anteriores o solo los actuales (para conservar el historial del registro para efectos de auditoría, por ejemplo).
- Cuántos usuarios tendrán acceso al sistema y con qué frecuencia.
- Si el sistema va a estar ubicado en una sola oficina o en varias geográficamente dispersas.
- Si se espera que los usuarios tengan acceso a información en línea y se espera que esté actualizada.
- Qué productos serán generados por el sistema (ver "etl06")
- Qué equipos va a utilizar el sistema.
- Si el sistema va a operar en computadoras por separado o en red.
- Cómo va a ser clasificada y manejada la información.
Ya que las bases de datos de registro de electores normalmente contienen miles de registros y pueden ser utilizados por muchos usuarios a lo largo de una o más redes, requieren ser cuidadosamente diseñados para asegurar su desempeño satisfactorio. Se pueden adoptar muchas estrategias para mejorar su desempeño y utilidad, entre ellas:
- Elegir una plataforma de programas de cómputo que sea apropiada para la tarea (los sistemas de bases de datos que normalmente acompañan los programas para la automatización de oficinas, ver Automatización de las Oficinas) generalmente no son apropiadas para bases de datos que contienen grandes volúmenes de información -resultan preferibles los programas de bases de datos diseñados por especialistas para manejar grandes volúmenes de información-).
- Asegurar que el equipo utilizado tiene suficiente poder de procesamiento y velocidad en red para optimizar el desempeño de la base de datos.
- Delinear la "arquitectura" de la base de datos antes de comenzar a programar (es decir planear como van a interactuar los distintos elementos de la base antes de comenzar la programación).
- Utilizar un diseño de base de datos relacional u orientado a objetivos (ver Bases de Datos ) para optimizar su flexibilidad.
- Evitar el almacenaje de información repetida utilizando ligas o interrelación en la información (por ejemplo, en lugar de almacenar la dirección completa de cada persona en el registro, solo almacenar un código ligado a la información completa en un archivo por separado).
- Usar códigos de cómputo que sigan las convenciones de la industria, de tal forma que una persona distinta al programador original pueda corregir, modificar, actualizar o auditar la base de datos (ver Verificación, Prueba y Mantenimiento de los Programas)
- Documentar la base de datos, tanto para los usuarios como para los programadores, ofreciendo manuales de usuario según resulte conveniente e incluyendo descripciones de los códigos o campos en el diseño de la base de datos para orientar a los programadores.
- Utilizar nombres convencionales para todos los objetos incluidos en la base de datos (como tablas, consultas, reportes, formatos, etc.)
- Utilizar códigos de programación de diseño modular (es decir, conformados por módulos que puedan ser probados y evaluados por separado).
- Utilizar índices e identificadores únicos para acelerar las búsquedas y permitir ligar tablas de datos.
- Utilizar una sistemática interfase de usuario a través de la aplicación de diversos formatos y reportes, para incrementar el rango de aplicaciones.