产品表设计

产品表设计:

A类产品有:a

B类产品有:a,b

C类产品有:a,b,c

D类产品有:a,b,c,d

我早前也做这种功能,可能和你不尽相同,但是我是仿照淘宝做的:

三个表:
产品分类 ProductDir
产品表    ProductList: productId 、productName 、 productDirId
产品属性表 ProductProperty:
productId 、 PropertyType(属性类型:材质、适应对象等)  、PropertyValue 、PropertyName

还有一些特殊产品的属性,比如鞋子的颜色、尺码、库存、价格,要一一对应起来,我又建了一个表:
ProductShoeColorSize:
ProductId 、ColorValue(颜色)、SizeValue(尺码)、PriceValue(价格)、StockQuantity(库存)

保存这种产品属性的时候,是批量保存的,比如一个鞋子有3种颜色、每种颜色有3个尺码,这里的属性保存个数就是 3 X 3 = 9。

问题:

不同产品的属性不一样,特别是网站展示产品,需要从多个角度,多个分类来查询产品信息,类似目前大多数购物网站查询商品,有商品主分类为主线条,每一个主分类进去都会有一些相关分类及属性可供进一步的筛选

 

方案:

现设计几个表:产品表、产品分类表、属性组表、属性基础表、品类与属性组表

 

【产品表】:存放产品档案,字段有产品ID、产品名称、产品描述等

【产品分类表】:存放产品的所有分类,字段有分类ID、分类名称、上级分类、是否主分类

【属性组表】:需与属性基础表联合起来看,用来给属性基础表中的字段赋予不同的意义,字段有属性组ID、属性组名称、属性ID、属性名称

【属性基础表】:存放每个产品的所有属性值,该表中的同一字段针对不同产品不同属性组具有不同的意义,具体意义通过属性组表来定义,字段有产品ID、属性组ID、字符1~N、数字1~N、日期1~N……

【品类与属性组表】:该表定义主品类与属性组的关系,即前台展示时可根据该表的数据显示每个品类相关的属性及其内容,下级品类可继承其上级的所有属性组,字段有品类ID、属性组ID

 

1、  物理结构

2、  【属性基础表】与【属性组表】

【属性基础表】主要由各种数据类型的扩展字段组成,存放属性值用

【属性组表】的作用是将【属性基础表】中的字段分组并赋予意义

 

【属性组表】示例数据如下:

属性组ID

属性组名称

属性ID

属性NAME

G01

主体

字符1

品牌

G01

主体

字符2

型号

G01

主体

字符3

颜色

G01

主体

字符4

平台

G02

处理器

字符1

CPU类型

G02

处理器

字符2

CPU型号

G02

处理器

字符3

CPU速度

G02

处理器

字符4

系统总线

G02

处理器

字符5

三级缓存

G03

内存

字符1

内存容量

G03

内存

字符2

内存类型

G03

内存

字符3

插槽数量

G03

内存

字符4

最大支持容量

G04

音频参数

字符1

音频系统

G04

音频参数

字符2

音频模式

G04

音频参数

字符3

输出功率

G04

音频参数

字符4

扬声器数量

G05

原理参数

字符1

背光灯类型

G05

原理参数

字符2

LED背光源分类

 

【属性基础表】示例数据如下:

 

说明:通过【属性组表】将【属性基础表】中每个字段赋予不同的意义,通过【品类与属性组】关系表确定每个产品应该具有哪些属性,属性值保存到【属性基础表】中

 

3、  前台展示举例

见识尚拙劣,望大虾们指导

猜你喜欢

转载自tangguolong99.iteye.com/blog/1779310
今日推荐