2011-01-12 67 views
0

我一直想知道什么是最好的方式来处理与不同领域的职位类型。邮件类型(标题,正文)与照片(标题,网址路径,说明)等有不同的字段。基于帖子类型的数据库结构

理想情况下,我希望将它放在一张表下,因为它更容易在视图中聚合。它可以使用jQuery显示和隐藏字段,但会在数据库中留下冗余字段。

对此有何建议?

感谢

回答

1

我建议

  1. 一个普通的职位表后类型字段。
  2. 帖子类型表
  3. 个别帖子类型的具体表格。

因此,对于适用于所有帖子类型的字段,它们存储在通用帖子表中。

然后,您可以使用帖子类型ID来查找其他字段,并根据帖子类型ID检索这些字段的数据。

因此,你的通用邮政表看起来像

| id |标题| author_id |文字|

您发布类型的表将是

| id | post_type | < - post_type是一个字符串

假设您有一个需要日期字段的“日历”发布类型。我们将其称为照片帖子类型。该表将被称为“calendar_post_fields”,并且帖子类型将是“日历”。

| id | post_id |日期|

+0

有道理,感谢庞大。我会放弃它。 – Goldy 2011-01-13 11:08:35

0

第一件事是第一件事。你是否有能力在运行时添加新的“类型”?这个问题的答案可能会使其他固体解决方案失效。

如果问题的答案是“否”,那么请使用gargantuan的解决方案。为通用字段提供基表,并为特定字段提供单独的表。特定的表具有基表的外键。这样可以避免动态sql,避免冗余字段,并提供良好的查询性能。

还有其他解决方案,但我宁愿不提及它们,除非上述解决方案不能满足您的需求。