voto votar votación votaciones votacion uso usa una tipos tesis tecnologia son sobre sistemas sistema relacionadas que pueden programa procesos preguntas para mayoritario los las introducción introduccion intencion informe hacer funciones entrevista electrónica electronico electorales electoral elecciones definicion cuáles como caracteristicas autores sql database schema voting-system

sql - votar - tipos de elecciones



Estructura de la base de datos para el sistema de votación con votos ascendentes y descendentes (4)

Habría pensado que necesitaría una tabla de enlace entre los usuarios y las entidades que se están votando. Esto le permitirá ver qué usuarios ya han votado y evitará que envíen más votos. La tabla puede registrar en un valor booleano si se trata de un voto hacia arriba o hacia abajo.

Yo recomendaría almacenar en la entidad votada un campo de conteo de votos actual para facilitar la consulta. El ahorro en tamaño sería insignificante si omitió esto.

Voy a crear un sistema de votación para una aplicación web y me pregunto cuál sería la mejor manera de almacenar los votos en la base de datos (SQL).

El sistema de votación es similar al de StackOverflow. Estoy pensando ahora si debo almacenar los votos ascendentes y descendentes en diferentes mesas. De esa manera es más fácil contar todos los votos resp. vota abajo Por otro lado, tengo que consultar dos tablas para encontrar todos los votos de un usuario o elemento votado.

Una alternativa sería una tabla con un campo booleano que especifique si este voto es un voto hacia arriba o hacia abajo. Pero creo que contar hacia arriba o hacia abajo es bastante lento (cuando tienes muchos votos), y un índice en un campo booleano (que yo sepa) no tiene mucho sentido.

¿Cómo crearías la estructura de la base de datos? ¿Una o dos mesas?


Respecto a los comentarios, encontramos la solución que mejor se adapta a

Él no quiere contar siempre los votos y necesita tantos detalles como sea posible. Así que la solución es una mezcla de ambos.

  1. Agregar un campo entero en la tabla considerada para almacenar los conteos de votos (asegúrese de que no habrá desbordamientos).
  2. Cree tablas adicionales para registrar los votos (usuario, publicación, fecha, arriba / abajo, etc.)

Recomendaría utilizar los activadores para actualizar automáticamente el ''campo de conteo de votos'' al insertar / eliminar / actualizar un voto en la tabla de registro.



Si sus votos son solo arriba / abajo, puede hacer una tabla de votes vincule las publicaciones y que tenga un valor de 1 o -1 (arriba / abajo). De esta manera puedes sum de una sola vez.