我被指派在ASP.NET MVC3上创建一个基于Web的调查应用程序。 我有三个不同的调查。我必须以最佳方式将调查答案存储在数据库中。我只提出了一个解决方案:为每种调查类型制作答案表。
你能提出更好的解决方案吗?
答案 0 :(得分:0)
您可以为Answers设置单个表格,其中调查类型为列。
答案 1 :(得分:0)
也许是这样的?
table survey_answers
id(这是pk):qid(问题ID):answer(varchar MAX):pid(person id)
你可以用这个做一个问题表,一个人表。在问题表中,输入qid,问题和它所属的问题组(调查ID)。人员表是显而易见的,你把一个pid(人id)和关于这个人的信息(如姓名,年龄,性别等)。
三表方法不好的原因是因为假设您的调查数量增加了。让我们看看它变成了100种不同类型的调查或者更多 - 根据你的工作地点,这是一个明确的可能性 - 你会有100个不同的表吗? 1000?没办法。