一、背景
这里是我的电商数据库设计及优化学习笔记中商品模块设计的内容。主要是分析、设计了商品模块所设计的各种表。
二、商品实体设计
商品实体中包含的属性:
商品名称,过条码,分类,供应商,品牌名称,介个,成本,上下架状态,颜色,重量,长宽高,有效期,生产时间,描述,图片信息
品牌信息表
CREATE TABLE brand_info(
brand_id SMALLINT UNSIGNED auto_increment NOT NULL COMMENT '品牌id',
brand_name VARCHAR(50) NOT NULL COMMENT '品牌名称',
telephone VARCHAR(50) NOT NULL COMMENT'品牌电话',
brand_web VARCHAR(100)COMMENT'品牌网站',
brand_logo VARCHAR(100)COMMENT'品牌logo url',
brand_des VARCHAR(150) COMMENT'品牌描述',
brand_status TINYINT NOT NULL DEFAULT 0 COMMENT'品牌状态,0禁用 1 启用',
brand_order TINYINT NOT NULL DEFAULT 0 COMMENT'排序',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY pk_brandid(brand_id)
)ENGINE =INNODB COMMENT'品牌信息表';
分类信息表
CREATE TABLE product_category(
category_id SMALLINT UNSIGNED auto_increment NOT NULL COMMENT '分类id',
category_name VARCHAR(50) NOT NULL COMMENT '分类名称',
category_code VARCHAR(50) NOT NULL COMMENT '分类编码',
parent_id SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '父分类id',
category_level TINYINT NOT NULL DEFAULT 1 COMMENT'分类级层',
category_status TINYINT NOT NULL DEFAULT 1 COMMENT'分类状态',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY pk_categoryid(category_id)
)ENGINE =INNODB COMMENT'分类信息表';
供应商信息表
CREATE TABLE supplier_info(
supplier_id INT UNSIGNED auto_increment NOT NULL COMMENT '供应商id',
supplier_code VARCHAR(50) NOT NULL COMMENT '供应商编码',
supplier_name VARCHAR(8) NOT NULL COMMENT '供应商名称',
supplier_type TINYINT NOT NULL COMMENT'供应商类型:1 自营 2 平台',
link_man VARCHAR(10) NOT NULL COMMENT '供应商联系人',
phone_number VARCHAR(50) NOT NULL COMMENT '联系电话',
bank_name VARCHAR(50) NOT NULL COMMENT '供应商开户银行名称',
bank_account VARCHAR(50) NOT NULL COMMENT '银行账号',
address VARCHAR(200) NOT NULL COMMENT '供应商地址',
supplier_status TINYINT NOT NULL DEFAULT '0' COMMENT '状态:0禁用 1启用',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY pk_supplierid(supplier_id)
)ENGINE =INNODB COMMENT'供应商信息表';
商品信息表
CREATE TABLE product_info(
product_id INT UNSIGNED auto_increment NOT NULL COMMENT '商品id',
product_code CHAR(16) NOT NULL COMMENT '商品编码',
product_name VARCHAR(20) NOT NULL COMMENT '商品名称',
br_code VARCHAR(20) NOT NULL COMMENT '国条码',
brand_id INT UNSIGNED NOT NULL COMMENT '品牌表id',
one_category_id SMALLINT UNSIGNED NOT NULL COMMENT '一级分类id',
two_category_id SMALLINT UNSIGNED NOT NULL COMMENT '二级分类id',
three_category_id SMALLINT UNSIGNED NOT NULL COMMENT '三级分类id',
supplier_id INT UNSIGNED NOT NULL COMMENT '供应商id',
price DECIMAL(18,2) NOT NULL COMMENT '商品售价',
average_cost DECIMAL(18,2) NOT NULL COMMENT '商品加权平均成本',
publish_status TINYINT NOT NULL DEFAULT '0' COMMENT '上下架状态:0下架 1上架',
audit_status TINYINT NOT NULL DEFAULT '0' COMMENT '审核状态:0未审核 1已审核',
weight float COMMENT '重量',
length float COMMENT '长',
height float COMMENT '高',
width float COMMENT '宽',
color_type enum('红','黄','蓝','黑'),
production_date DATETIME NOT NULL COMMENT '生产日期',
shelf_life INT NOT NULL COMMENT '有效期',
descripe text NOT NULL COMMENT '描述',
indate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '商品录入时间',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY pk_productid(product_id)
)ENGINE =INNODB COMMENT'商品信息表';
商品图片表
CREATE TABLE product_pic_info(
product_pic_id INT UNSIGNED auto_increment NOT NULL COMMENT '供应商id',
product_id INT UNSIGNED NOT NULL COMMENT '商品id',
pic_desc VARCHAR(50) COMMENT'图片描述',
pic_url VARCHAR(50) not NULL COMMENT'图片地址',
is_master TINYINT NOT NULL DEFAULT 0 COMMENT'是否主图:0 否 1 是',
pic_order TINYINT NOT NULL DEFAULT 0 COMMENT'图片排序',
pic_status TINYINT NOT NULL DEFAULT 1 COMMENT'图片是否有效:0 无效 1 有效',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY pk_picid(product_pic_id)
)ENGINE =INNODB COMMENT'商品图片信息表';
商品评论表
CREATE TABLE product_comment(
comment_id INT UNSIGNED auto_increment NOT NULL COMMENT '供应商id',
product_id INT UNSIGNED NOT NULL COMMENT '商品id',
order_id VARCHAR(50) COMMENT'图片描述',
customer_id VARCHAR(50) not NULL COMMENT'图片地址',
title VARCHAR(50) not NULL COMMENT'评论标题',
content VARCHAR(50) not NULL COMMENT'评论内容',
audit_status TINYINT NOT NULL COMMENT'审核状态:0 未审核 1 审核',
audit_time TIMESTAMP not NULL COMMENT'评论时间',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY pk_commentid(comment_id)
)ENGINE =INNODB COMMENT'商品评论表';
三、小结
本模块包含了以下表:
品牌信息表、
分类信息表、
供应商信息表、
商品信息表、
商品图片表、
商品评论表。