我有一个相对简单的数据库设计,为了简洁起见,我将在此处进行简化。
我有 4 张桌子 => Products, Product_Sizes, Stores, Catalogs
。
有 6 家商店,每家商店都有自己独特的定制目录,从Products
和Product_Sizes
表中选择各种不同的产品和尺寸。
我想知道如何最好地设计Catalogs
桌子。我的想法是:
id store_id product_id product_size
1 1 53522 1
2 1 40299 1
3 2 43326 1
4 2 43326 2
或者
id store_id product_id product_sizes
1 1 53522 1
2 1 40299 1
3 2 43326 1,2
每个商店都有自己独特的(并且只有一个)目录,因此通过 store_id 获取所有条目的查询将生成该商店的目录。
另一种方法是创建另一个组合 products 和 product_size 的表到它自己的唯一表中,我们称之为Products
。
id product_id product_size
1 1 1
2 1 2
3 1 3
4 1 4
这个单独的表格为我提供了所有可能的产品及其尺寸变体的唯一 ID。这将导致每个Catalogs
条目的每个产品都有一个 id。
我很想听听一些批评和更好的建议,因为我觉得这不正确,也无法说明如何更好地设计它。此外,如果我们要为每家商店实施超过 1 个目录,我知道当前的设计会让我很伤心。任何反馈将不胜感激!