PostgreSQL数据库架构:将共享对象映射到多个更高级别的对象

时间:2012-09-21 18:24:10

标签: database postgresql schema

背景:我正在创建一个允许用户对不同对象类型发表评论的应用程序。为简单起见,假设我有对象A 对象B ,两者都可以被评论。我想将这些注释存储在数据库表中。两个对象的注释的数据结构完全相同,最常见的数据库查询将是“获取特定对象A的所有注释”。

问题:以下哪种模式最有效:

  1. 单个表,评论,带有“类型”列
  2. 每个对象类型的多个表,Comments_ObjectA和Comments_ObjectB
  3. 我没有考虑的其他事情
  4. 使用示例

    1. 单表:“SELECT * FROM comment WHERE type =”ObjectA“和id_object = 123
    2. 多个表:“SELECT * FROM comment_objecta WHERE id_objecta = 123”
    3. 感谢您的帮助!

0 个答案:

没有答案