【问题标题】:Database structure based on post type基于帖子类型的数据库结构
【发布时间】:2011-06-08 04:23:20
【问题描述】:

我一直想知道使用不同字段的帖子类型的最佳方法是什么。消息的帖子类型(标题、正文)将具有与照片(标题、url 路径、描述)等不同的字段。

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

对解决此问题的最佳方法有什么建议吗?

谢谢

【问题讨论】:

    标签: database database-design


    【解决方案1】:

    我会推荐

    1. 具有帖子类型字段的通用帖子表。
    2. 一个帖子类型表
    3. 个别帖子类型的特定表格。

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

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

    所以你的通用帖子表看起来像

    |编号 |标题 |作者_id |正文 |

    您发布类型表将是

    |编号 | post_type |

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

    |编号 | post_id |日期 |

    【讨论】:

    • 如果 post_type 表只包含一个 post_type 字符串,它的意义何在?
    【解决方案2】:

    首先要做的事情。您是否必须能够在运行时添加新的“类型”?这个问题的答案可能会使其他可靠的解决方案失效。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      相关资源
      最近更新 更多