una sistema respuestas preguntas para hacer encuestas encuesta descargar datos cuestionario como mysql database-schema

sistema - encuestas en mysql



Esquema de base de datos de encuesta (3)

Creo que question_id en poll_voting_history tampoco es necesario, ya que cada respuesta apunta a una pregunta, por lo tanto, en función de answer_id puede obtener el question_id al que pertenece.

¿Cuál es el mejor esquema de base de datos para encuestas? ¿La relación uno a muchos es buena para esto? Estoy pensando en tener dos mesas:

poll_questions int id varchar body datetime created_at datetime updated_at poll_answers int id varchar body int votes default 0 int question_id (foreign key to poll_questions.id) datetime created_at datetime updated_at

Luego también habrá una tercera tabla para el seguimiento de quienes votaron por una respuesta para que los usuarios puedan votar solo una vez:

poll_voting_history int id int question_id (foreign key to poll_questions.id) int answer_id (foreign key to poll_answers.id) int user_id (foreign key to the id in the users table) datetime created_at datetime updated_at

¿Cuáles son tus pensamientos? ¿Lo estoy pensando bien?



Nota: la columna "votos" de la tabla poll_answers no es necesaria. Los votos se pueden determinar consultando la tabla Poll_voting_history.