首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL关系:与产品和用户竞价

MySQL关系:与产品和用户竞价
EN

Stack Overflow用户
提问于 2012-02-26 04:00:58
回答 3查看 1.1K关注 0票数 2

我有一个简单的网站,用户可以出价的产品。该模型如下所示:

显然不同的用户可以出价,那么我如何绘制缺失的链接到‘用户’表?

我有点困惑是使用识别关系还是非识别关系。更新:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-26 04:26:48

你可以说:"... 用户可以对产品进行竞价。__“

这表明在用户和产品之间存在一种关系(出价)。您可以将其命名为user_bids_on_product或直接命名为bid

我会删除userproduct之间的关系(除非它意味着其他东西,如产品的所有者),并将您的bidsbids_has_product统一到一个表中:

代码语言:javascript
复制
user_bids_on_product
--------------------
product_id  FK to product
user_id     FK to user
price

(product_id, user_id)应该而不是作为这个表的主键,因为我们假设一个用户可以多次竞价一个产品。

您可以添加一个代理id并将其设置为PK,或者添加一个bid_number列并将复合(product_id, user_id, bid_number)设置为PK。您也可以将(product_id, bid_number)设置为PK ( bid_number可以标记每个产品的出价顺序,就像本例中的拍卖一样)。我想这是由你决定的。

确定关系:

非识别关系:

票数 1
EN

Stack Overflow用户

发布于 2012-02-26 04:05:16

用户可以对一个产品进行一次竞价;用户可以对多个产品进行竞价;一个产品可以有多个竞价;一个竞价只与一个产品关联。

我认为你需要有一个用户和他们的出价之间的关系。这是一对多。

关于您更新的图表的另一个问题:用户是否会以与出价相同的方式为产品分配评级?这值得追踪吗?如果是,我会有一个用户和评分之间的关系。

票数 1
EN

Stack Overflow用户

发布于 2012-02-26 04:05:54

一个简单的用户和出价识别关系是有意义的,没有用户,出价就不能存在。

这是一个简单的一对多的关系,因为用户"has_many“出价。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9447557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档