J'ai besoin de créer un sondage dans lequel les réponses sont stockées dans une base de données. Je me demande quelle serait la meilleure façon de mettre en œuvre la présente dans la base de données, spécifiquement les tables nécessaires. L'enquête contient différents types de questions. Par exemple: les champs de texte pour les commentaires, questions à choix multiples, et, éventuellement, des questions qui pourraient contenir plus d'une réponse (c'est à dire cocher toutes les cases qui s'appliquent).
Je suis venu avec deux solutions possibles:
-
Créer un géant de la table qui contient les réponses pour chaque enquête de soumission. Chaque colonne correspondent à une réponse de la de l'enquête. c'est à dire SurveyID, Answer1, Answer2, Answer3
Je ne pense pas que c'est la meilleure façon puisqu'il y a beaucoup de questions dans cette enquête, et il ne semble pas très flexible si l'enquête est à changer.
-
L'autre chose que j'ai pensé de a été la création d'une table Question et Réponse table. La question table contiennent toutes les questions pour le de l'enquête. La table de réponse devrait contenir les réponses individuelles de l'enquête, chaque ligne lié à une question.
Un exemple simple:
tblSurvey: SurveyID
tblQuestion: QuestionID, SurveyID, QuestionType, Question
tblAnswer: AnswerID, UserID, QuestionID, Réponse
tblUser: nom d'utilisateur, nom d'utilisateur
Mon problème, c'est qu'il n'y peut être des tonnes de réponses qui seraient faire la table de Réponse assez énorme. Je ne suis pas sûr que ce soit si grand quand il s'agit de la performance.
Je te remercie de toutes les idées et suggestions.