Sería mejor almacenar las respuestas posibles en una tabla separada. Esto le permite tener cualquier cantidad de respuestas por pregunta en lugar de solo 4. También permite que las preguntas tengan un número diferente de respuestas. Si tiene más de una prueba, es posible que también desee una Tabla Quizes.
Quizes:
id
name
Questions:
id
quiz
prompt
Answers:
id
question
prompt
QuizResult (someone taking a quiz)
id
quiz
// other information about the quiz taker, possibly including the time
Ahora la respuesta correcta se vuelve mucho más complicada. Yo prefiero las implementaciones más altos aquí:
Cada pregunta tiene un valor y cada respuesta tiene un valor
Un sistema Recientemente trabajé con usted podría asignar un valor en puntos para cada pregunta y cada respuesta. Las respuestas incorrectas a menudo obtuvieron 0, las respuestas correctas obtuvieron el monto total. También podría tener respuestas parcialmente correctas utilizando este método. Este es el método con el que iría.
Se podía ir y decir que cada pregunta vale 10 puntos o podría asignar diferentes pesos a diferentes preguntas:
Questions:
id
quiz
prompt
value (you can make this question worth more or less)
Answers:
question
prompt
value (you can make this answer worth more or less)
almacenar la respuesta correcta en el Respuestas Tabla
Una más sencilla (pero menos robusto) solución es simplemente decir cuál respuesta es la correcta en la tabla de Respuestas.
Answers:
question
prompt
is_correct
tienda la respuesta correcta en la Tabla Preguntas
yo no lo recomendaría. Cuando crea una pregunta, no tendrá una respuesta correcta hasta que inserte una. Esto significa al menos 3 consultas para hacer una pregunta correctamente. Si usa dependencias de clave externa, esto se volverá molesto rápidamente.
+1 Pero para ser claros, uno debe marcar la respuesta correcta en una columna en la tabla 'Respuestas', no en la tabla' QuizResult'. –
+1 para una gran respuesta, buenas cosas. – Rog