2012-04-20 48 views
0

我想要做的是让管理员创建问卷。 每当用户为产品写评论时,他们也必须填写问卷。这是一个教育模拟。允许管理员创建一个新列?

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

我很难想出最好的方法来做到这一点。

现在我的解决方案是说“您最多可以询问10个问题”,然后在我的数据库中有一个“问题”表,并在每次检查时存储所有答案,每个检查有10个“答案”列。

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

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

回答

2

这是不是很规范化。

对于每个问题/答案对,您应该有一张表格,其中包含一条记录。

+0

你会建议另一个表来解答问题吗?然后,当用户离开审阅时将每个问题与文本框一起显示,然后当他们提交时,将问题及其答案保存在问题/答案表中,该表中还包含一个指向该评论的ID? – Johannes 2012-04-20 22:15:35

2

只要给自己一张子表Answers即可拥有一个外键Questions。然后,您可以根据需要获得尽可能多的答案。

2

您将需要一个表来存储Questions,并使用单独的表来存储Answers。然后Answers表可以在它正在回答的Questions中有记录的外键。

相关问题