首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(数据库设计)。产品属性

(数据库设计)。产品属性
EN

Stack Overflow用户
提问于 2015-06-16 11:55:17
回答 2查看 1.4K关注 0票数 1

当我设计我的电子商务项目时,产品可以有多个属性(颜色、大小),我通常创建通用的Product实体,它保存关于产品的一般信息,ProductVariant实体包含属性,FK实体保存产品。

示例(这些只是简单的示例,通常将属性(或库存等)存储为FK):

代码语言:javascript
复制
**Product table**
Id     Name       SKU  
1      T-Shirt    sku_1 

**ProductVariant**
Id   ProductID   Name (Optional)      Color      Size     Stock      Barcode
1    1            First               black      XL       50         bar_1
2    1            Second              white      XXL      35         bar_2
3    1            Third               yellow     S        60         bar_3

但是有些开发人员创建这个功能的方式不同,:他们创建单个实体Product,它保存关于产品的所有信息(具有所有属性),并在显示产品时按sku分组,如下所示:

代码语言:javascript
复制
Id    Name      SKU      Color      Size     Stock      Barcode
1     T-Shirt   sku_1    black      XL       50         bar_1
2     T-Shirt   sku_1    white      XXL      35         bar_2
3     T-Shirt   sku_1    yellow     S        60         bar_3

为什么第二种方法比变体更好?将所有值存储到单个表中可能有一些优点吗?

PS://我知道这是一个“低质量”的问题,还有太多关于产品属性关系的问题,但是我找不到这些设计的优缺点。

EN

回答 2

Stack Overflow用户

发布于 2015-06-16 16:49:26

我不会说这样更好。

不同的设计有不同的优点和缺点。

你应该选择最适合你需要的东西。

根据经验,查找表可以节省存储空间并允许更好的规范化,而平面表则允许更简单(但并非总是更快)。搜索查询。

需要存储的数据越多,就越有理由保持其规范化和索引正确。对于大量的数据,我将比您更进一步,并保留一个颜色表和一个大小表。

票数 3
EN

Stack Overflow用户

发布于 2015-06-16 18:59:10

SKU必须是独特的,所有的购物源都使用它,所以它必须在那里。我们在Magento与Magmi和许多可配置产品(ProductVariants)一起工作。每个SKU都有自己的产品信息和与ProductVariants的关系(如果适用的话)。

它是一个更干净、更方便的表,可以导入/导出,而导入和导出是您真正想要的电子商务。

从这个角度看,有两个女人是很有趣的,但是维持一个就足够了。

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

https://stackoverflow.com/questions/30866859

复制
相关文章

相似问题

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