【发布时间】:2016-06-30 13:21:47
【问题描述】:
假设User 可以请求Service,并且许多Providers 可以生成Offer。然后User 将选择一个Offer 并为其创建一个Transaction。
这是表格:
User:
-id
-name
-address
Service:
-id
-userId
-name
-description
Provider:
-id
-name
-url
Offer:
-id
-serviceId
-providerId
-price
-details
-transactionId
Transaction:
-id
-date
-status (completed, pending etc)
-method (paypal, direct credit card etc)
好的,所有表格都有链接,我们可以加入以查找任何内容。但我的问题是:即使我可以加入表格来获取buyerId和sellerId,在交易中存储buyerId(用户)和sellerId(提供者)是否有意义?
【问题讨论】:
-
如果 Transaction 不包含他们的 ID,你将通过哪些字段加入 Provider 和 User?
-
用户链接到服务,提供者链接到报价,服务链接到报价,报价链接到交易
-
我认为服务具有 UserId 是没有意义的 - 服务可以存在而不与任何用户相关。 Offer 和 Transaction 之间的关系似乎倒退了:如果没有 Transaction,Offer 上的
transactionId将为 NULL。 -
由于表中存储了多个用户,因此我将其称为
users而不是用户。 (还有services、providers等)
标签: mysql sql database-design relational-database database-schema