0

我知道如何创建多对多关系,但我专门寻找一元多对多关系。我可以查看任何想法或教程吗?还是真的很好的解释?

4

2 回答 2

1

真正做多对多一元关系与二元多对多关系并没有太大区别。您仍然需要一个连接表来表达多对多关系,但是这个连接表的列都将与单个主题表相关联。

一个典型的例子可能是电子商务环境中的产品捆绑包,其中产品捆绑包可能有自己的产品 ID,但也与该捆绑包中包含的一组产品相关。当然,任何产品都可以以任何方式捆绑(因此是多对多关系)。表结构可能如下所示:

product
---------
product_id (primary_key)
product_name
...other product attributes

bundle
---------
product_id (foreign key to product table)
product_component (also a foreign key to product table)
....any bundle specific attributes not derivable from component attributes

类似地,应用程序中用户之间的关系(即“朋友”、“喜欢”等)也可以以类似的方式表达。

于 2013-02-05T19:18:39.443 回答
0

就像多对多一样,您将需要连接表。例如:

您有 5 个表:TblA、TblB、TblC、TblD、TblE

他们每个人都有 id 作为 PK。

您创建带有字段的连接表:

援助、出价、Cid、Did、Eid

于 2013-02-05T19:11:53.007 回答