为什么数据字典中不能显示多对多的关系?

时间:2012-05-27 01:03:07

标签: database-design

我已经阅读并看到ER图中的多对多关系可以通过添加另一个表来显示,该表包括两个表的主键作为参考键。这里payment_party_idpayment_party表的主键,receipt_party_idreceipt_party表的主键。这背后的逻辑原因是什么:

  field                  key
  ---------------------  -----------------------       
  payment_party_id       reference key
  receipt_party_id       reference key

任何人都可以解释为什么只使用引用键添加此附加表吗?

1 个答案:

答案 0 :(得分:2)

可以直接在 逻辑实体关系图纸上显示多对多关系。某些建模工具不描述逻辑ERD。它们仅描绘 物理 ERD 。在物理ERD中,使用交集表实现多对多关系。

任何交集表都需要外键(OP:“引用键”)到作为关系一部分的每个表。如果交集表实现了简单的多对多关系,那么两个外键的组合也会形成交集表的复合主键

换句话说,问题的例子实际上是这样的:

field                  key
---------------------  -------------------------------------
payment_party_id       primary key, foreign (reference) key
receipt_party_id       primary key, foreign (reference) key