php – 产品结构表,用于存储各个领域的产品详细信息

我正在构建一个应用程序,需要支持各种类别的产品领域(如时尚,电子,汽车,杂货等产品),显然,对于每个领域的产品(甚至是他们的子类别),产品属性因类别而异.

例:

时尚领域的产品,如牛仔裤,衬衫等,具有大小,颜色,类型,材料类型等属性,而电子产品,可以像手机,笔记本电脑等,可以有产品属性喜欢,处理器,内存,存储,大小,颜色等

我的问题是关于,如何在大多数广义的&有效的方式可能?

我想到了一个解决方案:

我想过要创建三个表来维护这些信息.

>产品表:

此表将包含所有产品和它们以嵌套集形式存在的类别,这样每个父类都可以作为一个类别,每个叶子都可以作为产品.

除此之外,该表还包含有关产品的元信息(如名称,购买价格,销售价格,sku等,这些信息对于任何类型的产品都是通用的).该表的可能表结构如下:

id(PK), 
client_fk(FK to clients), 
parent_id(for nested-sets), 
lft(for nested-sets), 
rgt(for nested-sets), 
depth(for nested-sets), 
name(meta), 
sku(meta), 
purchasing_price(meta), 
selling_price(meta), 
created_at, 
updated_at

>其他两个表将有点像EAV模型结构.

products_propstable:

此表将所有可能的属性存储到任何产品(来自任何类别),如大小,颜色,处理器,内存,存储等,其元数据详细信息,如描述,输入类型详细信息等.此表的结构可以是

id(PK),name,label,description,input_type,input_details,created_at,updated_at

> products_props_data表:

此表将包含产品具有的所有属性的值.该表的表结构可以是:

id(PK),product_prop_fk(FK到products_props),product_fk(FK到产品),value,created_at,updated_at

读取此信息不仅仅是插入,更新或删除.

问题:

>我是否遵循了正确的方法?
>有效吗?
>还有另外一种方法吗?
>为实现我的目标提供建议/建议.
>知名电子商务如何做到这一点?像亚马逊,Flipkart,eBay?

最佳答案 >似乎没问题

>暂时不要担心

>可能

>如果使用EAV,我喜欢为不同类型的属性类型构建不同的表 – 所以,我将有一个表用于整数属性,一个表用于十进制属性,一个表用于字符串

点赞