【问题标题】:Postgresql DB Design for Quiz Project用于测验项目的 Postgresql 数据库设计
【发布时间】:2011-12-13 15:21:28
【问题描述】:

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

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

我的第一个想法是为每个问题创建一个列,并将它们命名为:M1Q1、M1Q2、M1Q2,然后是第二个月的 M2Q1 等。每个用户有 20 列,似乎没有必要。 我应该为每个月存储一个“数组”答案吗?还是其他方式?

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

谢谢。

【问题讨论】:

    标签: database postgresql


    【解决方案1】:

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

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

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

    userid 是存储用户信息的用户表的外键。

    【讨论】:

    • 这会是最佳设计吗?
    猜你喜欢
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    相关资源
    最近更新 更多