我有3张 table ,
users(id),userproduct(user_id,product_id)和product(id) .
当用户添加产品时,他们的user_id和product_id保存在USERPRODUCT表中 .
现在,同时另一个用户可以保存产品(有点像“设置为收藏”),我需要保存保存它的用户的user_id和产品的product_id . 这将创建另一个表(称之为收藏夹),但是此表也是对“users”表和“product”表之间的多对多关系的解析 .
问题:是否可能有2个表解决多对多的关系,或者有其他方法可以解决我的问题 .
如果可能的话,将如何在ER图中绘制它
2 回答
这取决于你想要什么 . 您可以只使用一个表并设计与布尔字段的关系USERS(id)PRODUCTS(id)USERPROD(userid,productid,isbought,isfavorite,isowned)
或者您可以使用一个多对多的支持表,因为每个关系都取决于您
也许你想在PRODUCTS表中另一个字段“owner”来存储用户id . 这是一对一的关系
你想要做的是实际描述用户和产品之间的关系:最喜欢的,或者他是'owns'它 .
只需在定义关系的
userproduct
-table中添加另一个字段:favorite
或owned