1、商品类别表设计
采用树状结构保存商品所有了类别信息,见下图1
其中上层的是类别树结构,加上方框的项目,代表类别的根节点,例如“贴膜”,贴膜下方的两层树结构式是“贴膜”类别商品的筛选树(一般2层),用来产生商品的筛选项目,图2
图1 树状结构图
图2 商品筛选图
图3 子类别图
2、商品表设计
首先创建一个商品信息的通用表,用来保存商品的共性信息
再根据商品类别表中,每个类别的叶子节点,例如”贴膜“,单独创建一个表,用来存放此类商品的筛选信息(每个筛选项可以做为此表的一列),列的值为筛选值(可同时保存多个值)
3、对应操作的数据处理方法
1)类别筛选商品:如果这个类别不是叶子节点,则列出此类别的子类别给用户选择,如图3,并采用递归方式获取此类别下所有子类别,属于子类别集合内的类别产品都显示出来,如果筛选的类别是类别的叶子节点,例如”贴膜“,则获取此类别下方的筛选树信息,并生成图2的筛选界面,让用户通过筛选项筛选商品。
2)筛选项筛选商品:当选择了某个筛选项目后,通过此筛选项在对应的类别表内查询产品,并与商品通用表关联获取商品其它相关信息,并展示,并根据查询的结果集,联动其它可以继续筛选的筛选项。
3)发布商品:发布商品时,首先选择商品所属类别中的叶子节点的类别,根据叶子节点类别生成筛选项列表,选择商品的筛选项信息,并存入到对应表内。
通过个人分析所得,不知淘宝是不是采用这样的解决方案。