0

我有3张桌子,

users(id) 、 userproduct (user_id,product_id) 和 product (id)。

当用户添加产品时,他们的 user_id 和 product_id 保存在 USERPRODUCT 表中。

现在同时另一个用户可以保存一个产品(有点像“设置为收藏”),我需要保存保存它的用户的 user_id 和产品的 product_id。这将创建另一个表(称为收藏夹),但是该表也是对“用户”表和“产品”表之间的多对多关系的解析。

问题:是否有可能让 2 个表解决多对多关系,或者有没有其他方法可以解决我的问题。

如果可能的话,如何在 ER 图中绘制它

4

2 回答 2

0

这取决于你想要什么。您只能使用一个表并设计与布尔字段 USERS(id) PRODUCTS(id) USERPROD(userid, productid, isbought, isfavorite, isowned) 的关系

或者您可以为每个关系使用一个多对多支持表,这取决于您

也许您希望 PRODUCTS 表中的另一个字段“所有者”来存储用户 ID。这是一对一的关系

于 2013-04-02T13:32:03.390 回答
0

你想要做的实际上是描述用户和产品之间的关系:最喜欢的,或者他“拥有”它。
只需在userproduct定义关系的 -table 中添加另一个字段:favoriteowned

于 2013-04-02T13:41:30.403 回答