如何将不同的调查保存到数据库

时间:2012-08-27 12:40:05

标签: asp.net-mvc-3 relational-database database-schema

我被指派在ASP.NET MVC3上创建一个基于Web的调查应用程序。 我有三个不同的调查。我必须以最佳方式将调查答案存储在数据库中。我只提出了一个解决方案:为每种调查类型制作答案表。

你能提出更好的解决方案吗?

2 个答案:

答案 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?没办法。