首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >产品定制选项的数据库模型

产品定制选项的数据库模型
EN

Stack Overflow用户
提问于 2012-10-03 17:00:25
回答 2查看 1.9K关注 0票数 1

我正在设计一个电子商务的过程中,不同的项目将有不同的定制选项,每种产品,并正在考虑最好的方式来构造我的数据库。例如,我可能想出售一些红色或白色以及不同的大小,但另一件可能只出售绿色或红色,没有一个大小的选择。我有一堆天真的方法,我已经在下面概述了,但不知道是否有人有任何想法。我想保持这种关系,除非有充分的理由转到NoSQL。

  1. 选项1:为每种类型的选项提供了一个单独的表。例如,一个具有所有可能颜色的列表的表,另一个用颜色子集引用此表并与产品关联的表。然后将有另一个表来处理为添加到购物车中的实际产品选择的颜色。
  2. 选项2:,因为每个产品的选项数都是最小的,为什么不只是有一组列,其中包含每个可能选项的值。这基本上是一个产品表,它有一个名为"colors“的文本列,然后只列出可用的颜色选项。我个人不喜欢这一个,因为它太有限-如果我想联系一个图像与每种颜色或改变价格取决于选项?
  3. 选项3:前两种产品的组合,其中每个产品都有一组列,这些列将引用可用的自定义选项。例如,每个产品都将有一个“颜色选项”列,如果不是null,该列将对该产品可用,并指向一组结构良好的选项。
EN

回答 2

Stack Overflow用户

发布于 2012-10-03 17:55:21

备选方案4:

拥有一个处理多个选项的选项表。

代码语言:javascript
复制
Option
------
Option ID
Item ID
Category ID
Category Text

选项ID是一个自动递增的序列号。

item ID是指向项的整数。

类别ID是表示类别的整数。例如,颜色为1,大小为2。

类别文本是实际颜色或大小。

这个方法有意义的当且仅当你不想搜索所有的红色项目或所有的XL项目出售。

这种类型的数据设计称为实体/属性数据模型

票数 0
EN

Stack Overflow用户

发布于 2012-10-04 09:01:55

我将使用如下模式:

表“产品”

代码语言:javascript
复制
Product id
Product name
Product base price

表“尺寸”

代码语言:javascript
复制
Size ID
Size name
Additional price

表‘颜色’

代码语言:javascript
复制
Colour ID
Colour Name
Additional price

表'SaleItems'

代码语言:javascript
复制
SaleItem ID
Product ID
Size ID
Colour ID

顾客会购买“SaleItems”表中包含的物品。一个项目的例子是一件马球T恤,它有四种不同的尺寸和三种不同的颜色。这样,您将在“SaleItems”表中有12行,每个行具有不同的特性,但能够知道售出了多少件polo衬衫、多少件(各种类型的产品)、多少XL项目等等。

你可能不需要价格领域,但想法是,基本的马球T恤售价10件;小尺寸没有附加价格,而XL有10%的额外价格。大多数颜色的价格可能是相同的,但一些外来颜色的价格可能会高出10%。这种异国情调的XL马球T恤售价为10 * 1.1 * 1.1 = 12.1单位。

此架构假定所有产品都可以有各种大小和颜色。

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

https://stackoverflow.com/questions/12713281

复制
相关文章

相似问题

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