- 此问题在此处已有答案**:
Many-to-many relationships examples(4个答案)
昨天关门了。
我有以下表格
tb_orders:
> id - PK
> name
...
> product_id - FK
tb_product:
> id - PK
> components
> color
...
在一个订单中,我可以有多个产品,但是外键列只有一个对tb_product的引用
我可以使用两种方法:
1.创建一个关联表,其中每个订购的产品对应一行
tb_orders:
> id - PK
> name
...
> order - FK
tb_order_products:
> id - PK
> product_id - FK
> order_id - FK
tb_product:
> id - PK
> components
> color
...
1.我可以用列表/数组格式创建一个products_id列,在一行中包含所有订购的产品ID:"[1,5,7]"。在插入之前,我可以手动检查产品是否存在于数据库中。
我认为M:M在大多数情况下是好的,但我不认为这有什么问题...老实说,我从来没有看到过这一点,但似乎比M:M关系更简单。顺便说一句,在插入之前检查数据库中是否存在该行没有看到大问题,我没有很多产品。
那么,你觉得第二种方法怎么样?
1条答案
按热度按时间e4yzc0pl1#
两种方法都很好......但最终取决于具体情况。如果您需要一个订单,包括一个被多次选择的产品,m:m关联表将是一个更好的解决方案。例如,产品是“T恤”,但尺寸不同。