我需要创建一个调查,将答案存储在数据库中。我只是想知道什么是在数据库中实现此目的的最佳方法,特别是所需的表。调查包含不同类型的问题。例如:用于注释的文本字段,多项选择题以及可能包含多个答案的问题(即,选中所有适用的答案)。
我提出了两种可能的解决方案:
创建一个巨大的表,其中包含每个调查提交的答案。每列将对应于调查的答案。即SurveyID,Answer1,Answer2,Answer3
我不认为这是最好的方法,因为此调查中存在很多问题,并且如果要更改该调查似乎不太灵活。
我想到的另一件事是创建问题表和答案表。问题表将包含调查的所有问题。答案表将包含调查中的单个答案,每一行都链接到一个问题。
一个简单的例子:
tblSurvey:SurveyID
tblQuestion:QuestionID,SurveyID,QuestionType,问题
tblAnswer:AnswerID,UserID,QuestionID,Answer
tblUser:用户ID,用户名
我的问题是答案可能很多,这会使答案表非常庞大。我不确定性能方面是否如此出色。
我将不胜感激任何想法和建议。