t在sql中表示相互引用的数据的最佳方式是什么



所以我正在制作一个网站,在这个网站上我有两种相互引用的产品。

这更容易用一个例子来说明。

Apples sold in StoreA, StoreB, StoreD, StoreF
Oranges sold in StoreA, StoreC, StoreD, StoreE, StoreF
Lemons Sold in StoreA, StoreD
Grapes sold in StoreD, StoreE, StoreF
Peaches sold in StoreB, StoreC, StoreF
Limes sold in StoreC, StoreE, StoreF
StoreA sells Apples, Oranges, Lemons
StoreB sells Apples, Peaches
StoreC sells Oranges, Peaches, Limes
StoreD sells Apples, Oranges, Lemons, Grapes
StoreE sells Oranges, Grapes, Limes
StoreF sells Apples, Oranges, Grapes, Peaches, Limes

在sql表中表示这一点的最佳方式是什么?

我可能会创建三个表,一个用于商店,另一个用于水果,这三个表都带有作为主键的ID列。创建第三个表,其中ID列是主键,另外两个列FruitId和StoreId与这些表具有外键关系。这样,如果水果或商店不存在,你就不能在第三张桌子上添加它们。

最新更新