测验项目的Postgresql DB设计

时间:2011-10-23 17:07:49

标签: database postgresql

我正在考虑如何为即将开展的项目设置数据库。该项目是一个单页内部公司测验应用程序。用户回答问题,输入他们的姓名和电子邮件,如果他们完全正确,他们就会进入奖品的“抽奖”。

每个月都会发布4组问题。我想跟踪所有用户的所有问题的所有答案,以便我可以在管理部分生成该数据。每个月有5个问题,每个问题都是多项选择。

我的第一个想法是为每个问题制作一个列,并将它们命名为:M1Q1,M1Q2,M1Q2,然后是第二个月M2Q1等。这是每个用户20列,似乎没必要。 我应该为每个月存储一系列答案吗?或者其他任何方式?

这里有一个类似的问题:MySql database design for a quiz但我不需要存储问题,我只需要保存每个用户的问题。我正在使用rails,所以我可以访问域逻辑等,而不是上面的问题。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用两个表格。一个有四列:

userid month question answer
1      1     1        A
1      1     2        C
1      1     3        B
etc...

主键是(用户,月份,问题)。

userid是用户表的外键,用户表中存储有关用户的信息。