仅为两个表创建两个关系是正确的吗? 我所处的情况:我有 用户
的表格另一个 图书
和我有两个关系:
1- offer book
(一对多):提供您想要出售的书籍
2- order book
(一对多):订购之前提供的其中一本书
答案 0 :(得分:0)
在你的情况下,我认为你应该创建两个表:offer,orders,列表如下:
offer:id | id_user | id_book | datetime |价值..
顺序:id | id_user | id_book | datetime |价值..
然后在4个表之间创建关系
答案 1 :(得分:0)
我会使用4个表
用户, user_offer_book, user_buy_book, 书强>
用户购买书籍的次数是多少,所以来自user_buy_book(关系表)
用户提供的书籍也很多,所以来自user_offer_book(relashionship表)
您还需要用户和书籍表
欢呼声
答案 2 :(得分:0)
我认为你走在正确的轨道上,两个关系应该用两个表来表示。
如果您有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
每个订单都包含一本书和一个用户。一本书可以属于许多订单和不同的用户,因为这些用户可能想要将自己置于该书的等候名单。
但我认为你可能希望用书籍订单来代表一系列书籍,所以:
[[UserOrdersBooks]] [[BasketsBooks]]
orderId | basketId | userId | ... basketId | bookId
--------------------------------- -----------------
123 | 500 | 2 500 | 100
124 | 501 | 1 500 | 101
125 | 502 | 3 501 | 201
502 | 100
所以这意味着: