MySQL数据库:如何存储不同大小的产品?

时间:2017-10-18 10:47:52

标签: mysql sql database web product

我有一个项目,我正在为分类项目创建一个网站。网站上的用户将添加要销售的商品并为其提供规格。

但问题是:在这个网站上,单个产品可以被视为不同的产品。例如,我可以出售两种尺码的T恤:

  • 尺寸:S
  • 滑雪(尺寸:150厘米,所以二进制值)

设计表格以有效保存这些属性和产品的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

你应该有一个产品的基本表格,然后你应该有基本的细节,如产品的名称和相同的东西,例如,类型,它是衬衫等。你应该有一个具有产品ID和属性的属性表。您必须使用该产品ID进行推荐。

这样的事情:

MySQL中相同的SQL如下:

CREATE TABLE `Products` (
    `Product_ID` bigint NOT NULL AUTO_INCREMENT,
    `Product_Name` varchar NOT NULL,
    `Product_Type` varchar NOT NULL,
    `TimeStamp` TIMESTAMP NOT NULL,
    PRIMARY KEY (`Product_ID`)
);

CREATE TABLE `Product_Attributes` (
    `Product_SKU` bigint NOT NULL AUTO_INCREMENT,
    `Product_ID` bigint NOT NULL,
    `Product_Size` bigint NOT NULL,
    `Product_Price` bigint NOT NULL,
    PRIMARY KEY (`Product_SKU`)
);

ALTER TABLE `Product_Attributes` ADD CONSTRAINT `Product_Attributes_FK`
FOREIGN KEY (`Product_ID`)
REFERENCES `Products`(`Product_ID`);

此处Product_SKU是库存单位,是每件产品的真品ID - 尺码为S的T恤和尺码为150厘米的T恤。 Product_ID是产品的父ID - T恤。

<强>产品

  • T恤 - 产品ID - 1
  • 牛仔裤 - 产品ID - 2

产品SKU 人们可以购买这些

  • T恤(尺码S) - SKU - 1 可以考虑像2.1
  • T恤(尺寸150厘米) - SKU - 2 可以考虑像2.2

希望这听起来很清楚。

答案 1 :(得分:0)

你的意思是事实/维度或数据类型吗?

您可以轻松地将不同尺寸存储为varchar。但我建议你有一个事实/维度结构,你可以在你可以参考的单独的表中存储所有细节,如大小等。