Je fais un quiz en ligne avec PHP et MySQL et j'ai besoin d'un peu d'aide pour décider comment concevoir la base de données pour une insertion optimale de questions / réponses et de sélectionner des questions pour le quiz. La table contiendra 80 questions avec 4 options possibles, plus la réponse correcte.
Lorsque vous récupérez les questions et options de la base de données, je choisirai au hasard 25 questions et leurs options. P>
est-il préférable de faire Une seule colonne pour toutes les questions, options et réponses correctes? Par exemple: p> ou serait-il préférable de faire une colonne pour chaque question, option et réponse correcte? Par exemple: p>
3 Réponses :
aller avec l'option 1 où vous avez une ligne pour chaque question / options / réponse. p>
L'option 2 n'a aucun sens. Chaque fois que vous souhaitez ajouter / supprimer une question, vous modifiez le schéma de la base de données !! Et vous aurez juste une ligne toujours !! p>
aller pour votre première option. C'est l'option la plus normalisée, mais ce n'est pas nécessairement un argument de relief. Mais les vertus de la conception normalisée sont multiples: p>
Il serait préférable de stocker les réponses possibles dans une table séparée. Cela vous permet d'avoir n'importe quelle quantité de réponses par question au lieu de seulement 4. Cela permet également aux questions d'avoir un nombre différent de réponses. Si vous avez plus d'un quiz, vous pouvez également vouloir une table de suivi.
Answers:
question
prompt
is_correct
+1 Mais pour être clair, il faut marquer la réponse correcte dans une colonne dans la table code> anse code>, pas la table QuizResult code> Tableau.