2018-10-25 V1.0 初始版本 无涯
目录 1、属性设计
本文讲述电商系统构建中,商品中心属性模块的相关知识和数据存储设计。
1.1、属性知识属性就是人类对于一个对象的抽象方面的刻画 。
一个具体事物,总是有许许多多的性质与关系,我们把一个事物的性质与关系,都叫作事物的属性。
事物与属性是不可分的,事物都是有属性的事物,属性也都是事物的属性。
一个事物与另一个事物的相同或相异,也就是一个事物的属性与另一事物的属性的相同或相异。
由于事物属性的相同或相异,客观世界中就形成了许多不同的事物类。具有相同属性的事物就形成一类,具有不同属性的事物就分别地形成不同的类。
商品中属性一般包括两个部分:属性值和属性名。
应用场景:
1.为商品设置属性。
2.通过属性搜索商品。
3.商品明细中展示属性信息。
如京东商品详情中属性信息展示界面:
属性包括属性名、属性值,一般都是挂在具体类目下,设置为必填或非必填,同时根据实际业务发展,将某些属性可归为同一组属性。在设置属性值时,须保留一定的扩展性,部分允许自定义属性。商品属性管理要求强大的类目运营能力,在中小型电商平台一般会提供基础属性值,再开放自定义属性编辑,让用户来完善属性库数据。 1.3、应用模块示例
属性信息列表:
属性与属性值关系管理:
属性作为基础数据存储在属性表,属性分组表,属性值表中。其中一个或多个属性可属于一个属性分组,一个或多个属性值属于一个属性。属性一般分为枚举类型和文本类型。枚举类型的属性值是可列举展示的,如口味(鸡肉味,牛肉味,羊肉味),文本类型如重量(2.5kg)。
字段说明:
attr_input_type:属性输入类型(文本/枚举)
属性值表(tg_tag)独立为一张数据表,由于属性值和标签存在许多数据方面的重合性,故将属性值存储在标签数据表中。
展示部分属性与属性值关系:
属性数据表设计原则:
1.基础信息字段细分独立。
2.业务归类。
3.属性值利用标签的基础数据表做信息管理。一个标签可属于不同的属性。在属性值与属性的关系中,设计时应该明确独立两个基础数据表和添加一张单独的属性与属性值关系表。这样做的好处是减少数据冗余,方便基础数据统一管理。一个属性值属于两个属性或多个属性的例子如:幼猫属于适合年龄属性,也可属于适合动物属性。