我们在访问电商网站的时候,相对于某一个商品,他可能存在多种种类,类似于下图这样:

那么,我们要怎么样才能够构建一个足够灵活的商品分类系统呢?

首先分析以下这种分类的系统,他应该可以被横向和纵向的拆封。在设计这些属性的时候,可以先设计几个大的类别,然后在大的类别下再添加小类别,这通常可以表现为一种树型的结构:

先以商品的大类别做主键来构建一张表,接着再以小类别构建一张表,小类别的数据表应该与父类数据表相关联,这样就够建好了基本的类别表,并且可以在商品页进行展示。

以上是在构建页面的时候,如果之前的这种构建方式可以称之为纵向构建,那么在用户选购商品的时候,用户的选择方式就是一种横向构建。可以得知,用户共有 4 种选择方式,即黑16、黑32、银16以及银32,这正好是商品种类的笛卡尔积。这四种记录中每一条记录都是对应了一种具体的商品:

根据以上这种方式,可以很灵活的来设置商品的种类,以下附上数据库的设计: