首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >化妆品电子商务品牌数据库设计

化妆品电子商务品牌数据库设计
EN

Database Administration用户
提问于 2021-11-21 14:12:05
回答 1查看 158关注 0票数 0

我正在开发一家电子商务商店,里面有化妆品.现在我面临的挑战是,卖家有一套指甲油/口红盒等,里面的物品可以作为单一产品单独出售。没有问题,创建一个单一的产品表,并将所有的东西放在那里,但我不希望卖方不断增加相同类型的产品一次又一次,这只是不同的颜色。我试图通过创建一个包含产品名称、类别、品牌的产品表,并将单个产品作为一个包含价格、sku、属性和所有内容的product_variants表来对它们进行分组,但即使对我来说,这也造成了很大的混乱,因为我在主站点上调用变体并将它们显示为单个产品,甚至在管理面板上查看产品列表时,实际的产品都在产品列表中显示。我的问题是,我如何使这对我和卖方更简单。还有其他方法来简化这种关系吗?或者我应该创建一个父表/组并将所有产品链接回它们以便于阅读。谢谢

EN

回答 1

Database Administration用户

发布于 2021-11-21 15:01:39

实际上,有些人认为不同颜色的产品是两种不同的产品,并在他们的Products表中用两个不同的唯一标识符(如D1S)存储它们。但是,如果您的业务规则通过SKU将两个不同颜色的产品视为相同的产品,那么您可以有一个单独的Dimensions表,其中包含有关Product的属性,如颜色、大小等。

根据您提供的示例模式,您似乎试图将所有属性压缩到ProductName中,这是一种非规范化的存储数据的方法。相反,您应该将属性拆分为单独的列(即使您将这些列存储在Products表本身中)。例如,您可以有一个ProductName列,它重复名称Some Fancy Nail Polish,并有一个值为RedGreen等的Color列,甚至还有一个名为Shade的列,其值为Shade-01Shade-02等,当然还有SKU列,以唯一地区分每个Product

将数据构造成类似的相关列有助于规范存储数据的方式,并使整个应用程序更易于维护甚至利用。当您在应用程序中显示它时,您有更多的控制和粒度来显示跨不同字段的数据,并执行一些操作,例如让用户从ProductNames的不同列表中选择(比Products表中的记录数更小的列表),然后只显示共享该ProductNameProducts的一个较小的子集。

这是解释这一概念的基本实现,但是如果您的数据库必须对除指甲油之外的其他产品进行编目,那么您将需要考虑进一步规范您的表,并且可能有一个特定于指甲油产品的表和一个用于假发产品等的表,每个表都有各自的相关列。您仍然可以有一个Products父表,它实质上存储适用于所有产品类型的SKU和任何泛型列。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/302958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档