El proceso para diseñar bases de datos requiere de habilidades técnicas. Por ello, las bases de datos están mejor diseñadas cuando lo hacen especialistas en computación bien capacitados.
El diseño de una base de datos para el registro de electores depende de lo complejos que sean los requerimientos de los usuarios y de los ingresos y salidas que necesite el sistema.
Los factores que influyen en el diseño de la base de datos para el registro de electores podrían incluir:
· El tamaño de la población de electores (o el número de registros que se tienen que almacenar en el sistema);
· El número de distintos tipos de información (o campos de información) que se tienen que almacenar;
· El tamaño y la complejidad de la base geográfica que se usará en el sistema;
· El número de transacciones de información que se espera;
· Si el sistema se usará para un solo evento, o para un registro de electores continuo;
· La manera en que se ingresa la información;
· Si el sistema almacena registros anteriores y actuales (por ejemplo, para conservar un registro auditable sobre el historial del elector);
· El número de usuarios que tienen acceso al sistema y la frecuencia con que lo hacen;
· Si el sistema se usa en una oficina o en varias oficinas dispersas geográficamente;
· Si los usuarios pueden acceder a la información por internet y si esperan que la información se actualice;
· Los productos que se puedan sacar del sistema;
· El equipo que se use para el sistema;
· Si el sistema se ejecuta en computadoras individuales o en una red;
· La forma en que se almacene y manipule la información.
Generalmente, las bases de datos para el registro de electores incluyen varios miles de registros y pueden ser usados por un gran número de usuarios mediante una o más redes, por eso, su diseño debería ser cuidadoso para asegurar que funcionen satisfactoriamente. Se pueden adoptar varias estrategias para mejorar el desempeño y utilidad de las bases de datos para el registro de electores. Algunas estrategias que se pueden considerar incluyen:
· Escoger una plataforma adecuada para los programas –generalmente, los sistemas que se encuentran en el mercado que ya incluyen paquetes para la automatización de la oficina no son adecuados para las bases de datos complejas que manejan grandes cantidades de información; siendo preferible que se adquieran programas especializados para manejar bases de datos extensas.
· Garantizar que el equipo que se usa tenga una capacidad de procesamiento suficiente y que la red sea veloz para maximizar el desempeño de la base de datos.
· Planear la arquitectura de la base de datos antes de comenzar con la programación (que es, planear la forma en que interactuarán todos los elementos de la base de datos; lo que resultará en un mejor producto final).
· Utilizar un diseño relacional u orientado a los objetos para maximizar la flexibilidad de la base de datos.
· Evitar que se almacene información repetida mediante el uso de tablas de vinculación y relacionales (por ejemplo, en vez de almacenar la dirección completa de cada persona en el registro, almacenar solamente un código de vinculación junto a cada persona, para que lleve a la dirección completa en otro archivo).
· Usar códigos de computación que sigan las convenciones industriales, para que otras personas además del programador puedan corregir, modificar, actualizar o auditar la base de datos.
· Documentar la base de datos para los usuarios y programadores, suministrando manuales y descripciones sobre los códigos y campos que se encuentran en su diseño.
· Que todos los objetos de las bases de datos utilicen nombres establecidos en las convenciones (como tablas, preguntas, reportes, formatos, código de módulo, campos de información, controles usados por los formatos, etc.).
· Usar códigos de programación que tengan un diseño modular (que el código esté conformado por módulos discretos que se puedan probar y evaluar por separado).
· Utilizar índices e identificadores únicos (como la “clave primaria” para otorgar una identificación única para cada registro) para agilizar las búsquedas y permitir que existan vínculos entre las tablas de información.
· Utilizar una interfase consistente entre los reportes y formatos del sistema para maximizar su utilidad.
Información adecuada
Podría suceder que algunas ocasiones, los administradores y usuarios de la información del registro de electores deseen extraer información de la base de datos que no fue prevista por los diseñadores de los reportes. Una forma de encargarse de estas solicitudes consiste en suministrar un servicio de reportes en línea, para que los usuarios puedan especificar un grupo de variables, como fechas de inicio y final.
Cuando un usuario solicita información que no puede ser suministrada por los reportes ni por los servicios de reporte en línea, la única opción restante (además de negarse a suministrar la información) es la de pedirle al programador que extraiga la información de la base de datos. Esta puede ser una opción muy costosa, especialmente cuando los programadores tienen que contratarse, por eso es importante que los usuarios estén conscientes del costo que implica. Si las solicitudes especiales se programan de esta manera, es recomendable se incluyan como parte de los reportes estándares, de forma que no tengan que llamar al programador otra vez si se requiere la misma información.
Clasificación de la información
Generalmente, cuando la información se usa para un reporte o para un producto como imprimir el registro de electores, debería clasificarse de acuerdo a criterios lógicos. Algunas formas de organizar la información requieren su clasificación por:
· Apellidos (alfabéticamente y con una subclase para nombres de pila, para que los nombres se encuentren fácilmente en las listas).
· Número de registro (cuando tiene una utilidad lógica, si el número de registro se usa para identificar al elector).
· Distrito electoral (generalmente como una clasificación preliminar antes de que se siga un criterio más profundo, como el apellido).
· El número de calle, el nombre de la calle o de la localidad (por ejemplo, para su uso en campañas de puerta en puerta).
· División de sitio/mesa de votación (para su uso durante la elección).
· Los criterios que soliciten los participantes políticos (cuando tengan derecho a obtener información).
· Información solicitada para efectos no electorales (cuando otras agencias tengan el derecho de obtener información, como las listas de jurados que se entregan a las cortes y que están separadas por distritos).
Al diseñar la base de datos se debería considerar la necesidad de clasificar la información. Algunos programas para bases de datos suministran “catálogos” o ciertos campos que se podrían usar para clasificar o buscar información. Los catálogos contribuyen a agilizar el desempeño de las bases de datos, porque registran las clasificaciones conforme la información se almacena y por lo tanto, reducen el tiempo de procesamiento cuando se busca una clasificación.
Es recomendable que las tablas de las bases de datos incluyan campos de “clasificación” especiales. Por ejemplo, todos los prefijos escoceses “Mac” y “Mc” se imprimen en una lista como si todos comenzaran con “Mac”, para ayudar a que los usuarios puedan encontrar los nombres aunque no estén seguros de la ortografía. (Por lo tanto, al usar un campo de clasificación especial, los siguientes nombres se enlistarán como McPhail, Macphee, McPherson, Macphillamy, mientras que al carecer de él, el programa los clasificaría como Macphee, Macphillamy, McPhail, McPherson).
Servicio de muestreo al azar
Podría ser conveniente que las bases de datos para el registro de electores incluyan un servicio de muestreo al azar, cuando los ejemplos al azar sean una característica de los productos finales. Los programas para bases de datos pueden incluir una característica para producir las muestras necesarias. Cuando la legislación u otros parámetros requieren una muestra al azar, el organismo electoral debería garantizar que pueda cumplir con todas las funciones antes de comprar el programa.
Algunas situaciones en las que se podrían usar los servicios de muestreo al azar incluyen:
· Listas de jurados;
· Elección de trabajadores electorales;
· Para efectos de investigación;
· Revisión de las listas sobre los militantes de los partidos.