只为两个表创建两个关系是否正确?我所处的情况:我有一张供用户使用的桌子
另一个是书本
我有两个关系:
1- offer book
(一对多):提供您拥有并想出售的书
2- order book
(一对多):订购以前提供的书籍之一
只为两个表创建两个关系是否正确?我所处的情况:我有一张供用户使用的桌子
另一个是书本
我有两个关系:
1- offer book
(一对多):提供您拥有并想出售的书
2- order book
(一对多):订购以前提供的书籍之一
在您的情况下,我认为您还应该创建两个表:offers、orders,其列列表如下:
offer: id | id_user | 身份证 | 日期时间 | 价值 ..
订单:id | id_user | 身份证 | 日期时间 | value ..
然后在 4 个表之间创建关系
我会用 4 张桌子
用户,user_offer_book,user_buy_book,书
用户买书是多对多的,所以来了 user_buy_book(relashionship 表)
用户报价书也是多对多的,所以来了user_offer_book(relashionship表)
您还需要 user 和 book 表
干杯
我认为你在正确的轨道上,这两个关系应该用两个表来表示。
如果你有 2 张桌子,这意味着你可以代表一本书被几个人订购(可以生成延期交货或候补名单的想法),请参见下面的示例:
UserOffersBook表:bookId
可以是唯一的,因为不应有多个人提供同一本书
[[UserOffersBook]]
bookId | userId | ...
---------------------
100 | 1
101 | 1
200 | 2
201 | 2
每本书由一个用户提供。用户可以提供许多书籍。
UserOrdersBooks表:orderId
可以是代表用户订单的唯一标识符
[[UserOrdersBooks]]
orderId | bookId | userId | ...
-------------------------------
123 | 100 | 2
124 | 100 | 3
125 | 201 | 1
126 | 101 | 2
每个订单包含一本书和一个用户。一本书可以属于许多订单和不同的用户,因为这些用户可能希望将自己列入该书的候补名单。
但我认为您可能希望以book order表示一组书籍,因此:
[[UserOrdersBooks]] [[BasketsBooks]]
orderId | basketId | userId | ... basketId | bookId
--------------------------------- -----------------
123 | 500 | 2 500 | 100
124 | 501 | 1 500 | 101
125 | 502 | 3 501 | 201
502 | 100
所以这意味着: