《果然新鲜》电商项目(43)- 商品搜索服务数据库设计

Posted IT刘老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《果然新鲜》电商项目(43)- 商品搜索服务数据库设计相关的知识,希望对你有一定的参考价值。

文章目录

引言

在上一篇主要讲解了在docker下安装ES和Kibana,作为商品搜索功能的搜索引擎。本文开始讲解商品搜索数据库的设计。

1.数据库表设计

商品搜索服务涉及到的表一共五张表:

  • category - 「商品分类信息表」
  • attribute_key - 「商品规格Key表」
  • attribute_value - 「商品规格值表」
  • product - 「商品信息表」
  • product_specs - 「商品规格表」

2.商品分类信息表(category)

表设计如下:

建表SQL:

CREATE TABLE `category` (
  `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `PARENT_ID` int(11) DEFAULT NULL COMMENT '父ID',
  `NAME` varchar(128) DEFAULT NULL COMMENT '名称',
  `STATUS` int(11) DEFAULT NULL COMMENT '状态',
  `SORT_ORDER` int(11) DEFAULT NULL COMMENT '分类顺序',
  `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁',
  `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人',
  `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间',
  `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人',
  `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='商品分类 商品分类信息表';

3. 商品规格Key表(attribute_key)

表设计如下

建表SQL:

CREATE TABLE `attribute_key` (
  `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `CATEGORY_ID` int(11) DEFAULT NULL COMMENT '分类ID',
  `ATTRIBUTE_NAME` varchar(32) DEFAULT NULL COMMENT '属性名称',
  `NAME_SORT` varchar(32) DEFAULT NULL COMMENT '名称排序',
  `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁',
  `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人',
  `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间',
  `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人',
  `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='商品规格Key表 ';

4. 商品规格值表(attribute_value)

表设计如下:

建表SQL:

CREATE TABLE `attribute_value` (
  `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `ATTRIBUTE_ID` varchar(32) DEFAULT NULL COMMENT '属性ID',
  `ATTRIBUTE_VALUE` varchar(32) DEFAULT NULL COMMENT '属性值',
  `VALUE_SORT` varchar(32) DEFAULT NULL COMMENT '值排序',
  `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁',
  `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人',
  `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间',
  `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人',
  `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='商品规格值表 ';

5. 商品信息表(product)

表设计如下:

建表SQL:

CREATE TABLE `product` (
  `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `CATEGORY_ID` int(11) DEFAULT NULL COMMENT '类型ID',
  `NAME` varchar(128) DEFAULT NULL COMMENT '名称',
  `SUBTITLE` varchar(128) DEFAULT NULL COMMENT '小标题',
  `MAIN_IMAGE` varchar(128) DEFAULT NULL COMMENT '主图像',
  `SUB_IMAGES` text COMMENT '小标题图像',
  `DETAIL` text COMMENT '描述',
  `ATTRIBUTE_LIST` varchar(128) DEFAULT NULL COMMENT '商品规格',
  `PRICE` decimal(32,8) DEFAULT NULL COMMENT '价格',
  `STOCK` int(11) DEFAULT NULL COMMENT '库存',
  `STATUS` int(11) DEFAULT NULL COMMENT '状态',
  `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁',
  `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人',
  `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间',
  `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人',
  `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='商品信息表';

6.商品规格表(product_specs)

表设计如下:

建表SQL:

CREATE TABLE `product_specs` (
  `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `PRODUCT_ID` int(11) DEFAULT NULL COMMENT '商品ID',
  `PRODUCT_SPECS` text COMMENT '商品规格',
  `SPECS_SEQ` int(11) DEFAULT NULL COMMENT '规格顺序',
  `PRODUCT_STOCK` int(11) DEFAULT NULL COMMENT '商品库存',
  `PRODUCT_PRICE` decimal(32,8) DEFAULT NULL COMMENT '商品价格',
  `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁',
  `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人',
  `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间',
  `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人',
  `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='商品规格表 ';

7.总结

本文主要讲解了数据库工具PDMan的介绍以及商品搜索服务数据库表设计。

以上是关于《果然新鲜》电商项目(43)- 商品搜索服务数据库设计的主要内容,如果未能解决你的问题,请参考以下文章

《果然新鲜》电商项目(37)-SSO单点登录(改造SSO认证服务登录界面)

《果然新鲜》电商项目(26)- Redis如何与数据库状态保持一致?

《果然新鲜》电商项目(21)- 会员注册功能

《果然新鲜》电商项目(22)- DTO接口细分

《果然新鲜》电商项目(29)- 门户注册功能

《果然新鲜》电商项目(25)- 会员唯一登录