我需要创建一个调查表,其中答案将存储在数据库中。我想知道在数据库中实现这个的最佳方式是什么,特别是需要哪些表格。该调查包含不同类型的问题。例如:用于评论的文本字段、多项选择题以及可能包含多个答案的问题(即“全选”)。
我想到了两种可能的解决方案:
创建一个巨大的表,其中包含每个调查提交的答案。每列都对应于来自调查的一个答案。例如 SurveyID,Answer1,Answer2,Answer3
我认为这不是最好的方法,因为在此调查中有很多问题,如果调查发生变化,则似乎不太灵活。
我想到的另一件事是创建一个Question表和一个Answer表。 问题表将包含调查的所有问题。 答案表将包含调查的单个答案,每行链接到一个问题。
以下是简单示例:
tblSurvey: SurveyID
tblQuestion: QuestionID,SurveyID,QuestionType,Question
tblAnswer: AnswerID,UserID,QuestionID,Answer
tblUser: UserID,UserName
我的问题是可能会有大量答案,这将使Answer表格非常庞大。 当涉及到性能时,我不确定这是否太好了。
我希望得到任何想法和建议。