外键mysql

时间:2017-04-18 15:03:14

标签: mysql foreign-keys

我有一张桌子(产品)

id->PK
product_name

我有另一张桌子(成分)

id->PK
ingredient_name

我有第三张表(purchase_order)

id->PK

此采购订单可以有多行产品或成分或两者兼而有之。

现在设计方面最好的方法是什么?我将在这些表中进行各种查询。我更喜欢方法1,即使有很多空值,但我也希望听到你的想法。没有选择让超级表作为产品和成分的母体。

方法1:

使用以下字段创建表purchase_order_line

purchase_order_id
product_id(nullable references products)
ingredient_id(nullable references ingredients)

方法2:

创建2个表:

purchase_order_products

purchase_order_id
product_id(references products)

purchase_order_ingredients

purchase_order_id
ingredient_id(references ingredients)

0 个答案:

没有答案