【问题标题】:Many-to-many without join table多对多无连接表
【发布时间】:2013-06-18 09:25:58
【问题描述】:

我有一个模板和注释表。

模板有两个字段IDKEY,我可以有多个版本的模板具有相同的KEY 但不同的ID。例如:

ID   1  2  3
KEY  1  1  1

还有一个带有ID 列的评论表:

ID             1  2  3
TEMPLATE_KEY   1  1  1

是否可以在模板和评论之间进行多对多操作,例如 Template(key) <-> Comment(ID) 而无需连接表?

【问题讨论】:

  • 多对多没有额外的连接表:不,不是。但是这个问题不是很容易理解,所以也许改写一下——看起来你实际上是在寻找与版本化数据或类似的东西的一对多关系。

标签: postgresql orm doctrine-orm foreign-keys relational-database


【解决方案1】:

如果没有关系数据库中的附加表,ManyToMany 永远不可能实现。为什么要完全避免使用这样一张桌子?

【讨论】:

    【解决方案2】:

    可以这样做,但连接表将使参照完整性合理地强制执行。你可以在两边存储外键数组,用代码触发器来管理它们,等等,如果你做一个删除,你会有很多问题.....

    现在,有可能在 9.4 中,这将得到本机支持,但还没有,补丁仍在讨论中。但总的来说,通常最好只通过连接表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-26
      相关资源
      最近更新 更多