代码之家  ›  专栏  ›  技术社区  ›  tvanfosson

用于收集可配置人口统计数据的数据库设计是什么?

  •  0
  • tvanfosson  · 技术社区  · 17 年前

    到目前为止,我已经想出了两种不同的方法在数据库中存储人口统计信息。我可以假设,大多数大学都喜欢收集(并有信息来源)类似的人口统计信息。在这种情况下,我可以在registrations表中的列中保留人口统计信息的适当部分(每年变化的内容),在participants表中保留其余部分(对于个人来说是恒定的内容)。或者,我考虑保留一个人口统计表,其中包含注册id、属性、每个注册的三重值以及所需的属性。我认为第一个选项更容易查询报告,而第二个选项更灵活。

    我想知道是否还有其他我没有考虑过的选择。或者,如果你遇到过类似的问题,你是如何处理的(你对结果有多满意)?

    2 回复  |  直到 17 年前
        1
  •  1
  •   Andrew not the Saint    17 年前

    以下是我的想法:

    • 不同的学术机构可能有完全不同的人口统计需求。为了减少自定义,您可能希望对配置表中的所有定义进行软编码,例如人口统计(DemographicsID,DemographicsDesc),并在学生和人口统计(例如StudentDemographics,StudentID…)之间保留一个关系表。上述解决方案的唯一诀窍是,您可能希望在某些报表上使用数据透视。
        2
  •  0
  •   Greg    17 年前

    如果您编写代码的方式使添加列不会破坏它(或者很容易更新),例如小心选择*并在INSERT中指定列,那么从您的描述来看,您似乎不需要属性值的超灵活性,因此我坚持使用选项1。