J'ai besoin de créer une enquête dans laquelle les réponses sont stockées dans une base de données. Je me demande simplement quelle serait la meilleure façon de l'implémenter dans la base de données, en particulier les tables requises. L'enquête contient différents types de questions. Par exemple: des champs de texte pour les commentaires, des questions à choix multiples et éventuellement des questions pouvant contenir plus d'une réponse (cochez tout ce qui s'applique).
J'ai proposé deux solutions possibles:
Créez un tableau géant contenant les réponses pour chaque soumission d'enquête. Chaque colonne correspondrait à une réponse de l'enquête. ie SurveyID, Answer1, Answer2, Answer3
Je ne pense pas que ce soit la meilleure façon car il y a beaucoup de questions dans cette enquête et ne semble pas très flexible si l'enquête doit changer.
L'autre chose à laquelle j'ai pensé était de créer une table de questions et une table de réponses. Le tableau de questions contiendrait toutes les questions de l'enquête. Le tableau des réponses contiendrait les réponses individuelles de l'enquête, chaque ligne étant liée à une question.
Un exemple simple:
tblSurvey : SurveyID
tblQuestion : QuestionID, SurveyID , QuestionType, Question
tblAnswer : AnswerID, UserID , QuestionID , réponse
tblUser : UserID , UserName
Mon problème avec ceci est qu'il pourrait y avoir des tonnes de réponses qui rendraient la table de réponse assez énorme. Je ne suis pas sûr que ce soit si génial en termes de performances.
J'apprécierais toutes les idées et suggestions.