gpt4 book ai didi

mysql - Cakephp电子商务数据库设计

转载 作者:行者123 更新时间:2023-11-29 13:31:07 25 4
gpt4 key购买 nike

我正在开发一个电子商务网站,但我对数据库设计很熟悉。

我有 3 个表:

  1. 产品(id、category_id、subcategory_id、名称)
  2. 类别(ID、名称)
  3. 子类别(id、category_id、名称)

例如:产品(条纹 T 恤)属于类别(时尚)和子类别(T 恤)

如果我想增加该产品的尺寸怎么办?我应该在产品表中创建另一个表名称“Sizes”和 size_id 吗?

但是,对于另一个类别(例如小工具/手机)则没有尺寸。设计这个数据库的最佳选择是什么?

最佳答案

首先,我的产品上没有类别 ID 和子类别 ID。它只属于一个子类别。如果需要,您可以通过子类别找到父类别。

products (id, subcategory_id, name)

categories (id, name)

subcategories (id, category_id, name)

对于所有产品可能不同的属性,您可以这样做:

attribute_types (id, name)

attributes (id, attribute_type_id, value)

products_attributes (id, product_id, attribute_id)

因此,在您的 attribute_types 表中,您可能有:

id | name
-----------------------------
1 | T-Shirt Size
2 | Shoe Size (US)
3 | Colour
4 | Batteries Included

在您的属性表中:

id | attribute_type_id | value
------------------------------
1 | 1 | Small
2 | 1 | Medium
3 | 1 | Large
4 | 2 | 9
5 | 2 | 9.5
6 | 2 | 10
7 | 2 | 10.5
8 | 2 | 11
9 | 3 | Red
10 | 3 | Blue
11 | 3 | Green
12 | 3 | Yellow
13 | 3 | Black
14 | 4 | Yes
15 | 4 | No

然后在您的 products_attributes 表中,您只需添加产品具有的任何属性:

id | product_id | attribute_id
------------------------------
1 | 456 | 6
2 | 456 | 13

对于该产品来说,它是一款 10 号鞋,黑色。

关于mysql - Cakephp电子商务数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19446997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com