【发布时间】:2015-10-23 01:39:37
【问题描述】:
我对为客户和产品之间的双向关系设计数据库感到有些困惑。
需要明确的是,双向关系可确保客户了解他的产品,并且产品了解其客户。
我有一个客户表和一个产品表。产品表有一个客户表的外键。
要创建双向关系,客户表还应该包含产品表的外键吗?我见过 ORM examples,其中只有一个 FK 引用就可以实现双向关系,但仍然有点困惑,有人能告诉我吗?
如果我将 Product 表的 FK 放在 Customer 表中会有什么不同?
【问题讨论】:
-
客户表中产品的 FK 会假定客户只能与(至多)一种产品相关联。就目前而言,一种产品只能与一个客户相关联。
-
谢谢草莓,我的疑问被清除了。 :)
-
所以这意味着单向和双向关系仅依赖于 orm 映射?请写一个答案,我会接受的。
-
...而不是...?
-
在实际环境中,客户和产品表之间不应该有任何关系,即使您应该按照 Gordon 的建议创建一个连接表,它应该与两个表关联意味着只有客户表中存在的客户和产品也一样。
标签: mysql database orm entity-relationship