允许管理员创建新列?

时间:2012-04-20 22:06:22

标签: c# asp.net-mvc-3 database-design

我要做的是允许管理员创建问卷。 每次用户为产品撰写评论时,他们还必须填写问卷。这是一个教育模拟。

我目前正在使用Visual Studio,正在使用C#开发ASP.NET MVC3网站。 我还使用/拥有SQL Server 2008和SQL Management Studio。

我在考虑最好的方法时遇到了麻烦。

现在,我的解决方案是说“你最多可以提出10个问题”,然后在我的数据库中有一个“问题”表,并在每个评论中存储所有答案,并且每次审核都有10个“答案”列。

如果我能以某种方式允许管理员根据需要提出尽可能多的问题并根据需要向我的数据库表添加更多列,那会更好。有没有办法做到这一点?

或者有更好的方法来设计我的数据库吗?

3 个答案:

答案 0 :(得分:2)

给自己一张具有[{1}}外键的子表Answers。然后,您可以根据需要获得尽可能多的答案。

答案 1 :(得分:2)

这不是很正常化。

您应该有一个表格,每个问题/答案对都有一条记录。

答案 2 :(得分:2)

您需要有一个表来存储Questions,还有一个单独的表来存储Answers。然后,Answers表可以在其正在回答的Questions中拥有记录的外键。

相关问题