1. 关于此项目
此项目是一个自营性质电商类型的项目。
当前目标是设计后台管理相关功能。
2. 关于项目的开发流程
开发项目的标准流程应该有:需求分析、可行性分析、总体设计、详细设计等。
建议课后学习《软件工程》。
在具体开发时,应该先创建数据库、数据表,然后创建项目进行开发。
3. 创建数据库与数据表
创建mall_pms
数据库:
CREATE DATABASE mall_pms;
在此数据库中创建数据表:
-- 数据库:mall_pms
-- 相册表:创建数据表
drop table if exists pms_album;
create table pms_album
(
id bigint unsigned auto_increment comment '记录id',
name varchar(50) default null comment '相册名称',
description varchar(255) default null comment '相册简介',
sort tinyint unsigned default 0 comment '自定义排序序号',
gmt_create datetime default null comment '数据创建时间',
gmt_modified datetime default null comment '数据最后修改时间',
primary key (id)
) comment '相册' charset utf8mb4;
-- 相册表:为相册名称字段添加索引
create index idx_album_name on pms_album (name);
-- 图片表:创建数据表
drop table if exists pms_picture;
create table pms_picture
(
id bigint unsigned auto_increment comment '记录id',
album_id bigint unsigned default null comment '相册id',
url varchar(255) default null comment '图片url',
description varchar(255) default null comment '图片简介',
width smallint unsigned default null comment '图片宽度,单位:px',
height smallint unsigned default null comment '图片高度,单位:px',
is_cover tinyint unsigned default 0 comment '是否为封面图片,1=是,0=否',
sort tinyint unsigned default 0 comment '自定义排序序号',
gmt_create datetime default null comment '数据创建时间',
gmt_modified datetime default null comment '数据最后修改时间',
primary key (id)
) comment '图片' charset utf8mb4;
-- 品牌表:创建数据表
drop table if exists pms_brand;
create table pms_brand
(
id bigint unsigned auto_increment comment '记录id',
name varchar(50) default null comment '品牌名称',
pinyin varchar(50) default null comment '品牌名称的拼音',
logo varchar(255) default null comment '品牌logo的URL',
description varchar(255) default null comment '品牌简介',
keywords varchar(255) default null comment '关键词列表,各关键词使用英文的逗号分隔',
sort tinyint unsigned default 0 comment '自定义排序序号',
sales int unsigned default 0 comment '销量(冗余)',
product_count int unsigned default 0 comment '商品种类数量总和(冗余)',
comment_count int unsigned default 0 comment '买家评论数量总和(冗余)',
positive_comment_count int unsigned default 0 comment '买家好评数量总和(冗余)',
enable tinyint unsigned default 0 comment '是否启用,1=启用,0=未启用',
gmt_create datetime default null comment '数据创建时间',
gmt_modified datetime default null comment '数据最后修改时间',
primary key (id)
) comment '品牌' charset utf8mb4;
-- 品牌表:为品牌名称字段添加索引
create index idx_brand_name on pms_brand (name);
-- 类别表:创建数据表
drop table if exists pms_category;
create table pms_category
(
id bigint unsigned auto_increment comment '记录id',
name varchar(50) default null comment '类别名称',
parent_id bigint unsigned default 0 comment '父级类别id,如果无父级,则为0',
depth tinyint unsigned default 1 comment '深度,最顶级类别的深度为1,次级为2,以此类推',
keywords varchar(255) default null comment '关键词列表,各关键词使用英文的逗号分隔',
sort tinyint unsigned default 0 comment '自定义排序序号',
icon varchar(255) default null comment '图标图片的URL',
enable tinyint unsigned default 0 comment '是否启用,1=启用,0=未启用',
is_parent tinyint unsigned default 0 comment '是否为父级(是否包含子级),1=是父级,0=不是父级',
is_display tinyint unsigned default 0 comment '是否显示在导航栏中,1=启用,0=未启用',
gmt_create datetime default null comment '数据创建时间',
gmt_modified datetime default null comment '数据最后修改时间',
primary key (id)
) comment '类别' charset utf8mb4;
-- 类别表:为类别名称字段添加索引
create index idx_category_name on pms_category (name);
-- 品牌类别关联表:创建数据表
drop table if exists pms_brand_category;
create table pms_brand_category
(
id bigint unsigned auto_increment comment '记录id',
brand_id bigint unsigned default null comment '品牌id',
category_id bigint unsigned default null comment '类别id',
gmt_create datetime default null comment '数据创建时间',
gmt_modified datetime default null comment '数据最后修改时间',
primary key (id)
) comment '品牌与类别关联' charset utf8mb4;
-- 属性表:创建数据表
drop table if exists pms_attribute;
create table pms_attribute
(
id bigint unsigned auto_increment comment '记录id',
template_id bigint unsigned default null comment '所属属性模版id',
name varchar(50) default null comment '属性名称',
description varchar(255) default null comment '简介(某些属性名称可能相同,通过简介补充描述)',
type tinyint unsigned default 0 comment '属性类型,1=销售属性,0=非销售属性',
input_type tinyint unsigned default 0 comment '输入类型,0=手动录入,1=单选,2=多选,3=单选(下拉列表),4=多选(下拉列表)',
value_list varchar(255) default null comment '备选值列表',
unit varchar(50) default null comment '计量单位',
sort tinyint unsigned default 0 comment '自定义排序序号',
is_allow_customize tinyint unsigned default 0 comment '是否允许自定义,1=允许,0=禁止',
gmt_create datetime default null comment '数据创建时间',
gmt_modified datetime default null comment '数据最后修改时间',
primary key (id)
) comment '属性' charset utf8mb4;
-- 属性模版表:创建数据表
drop table if exists pms_attribute_template;
create table pms_attribute_template
(
id bigint unsigned auto_increment comment '记录id',
name varchar(50) default null comment '属性模版名称',
pinyin varchar(50) default null comment '属性模版名称的拼音',
keywords varchar(255) default null comment '关键词列表,各关键词使用英文的逗号分隔',
sort tinyint unsigned default 0 comment '自定义排序序号',
gmt_create datetime default null comment '数据创建时间',
gmt_modified datetime default null comment '数据最后修改时间',
primary key (id)
) comment '属性模版' charset utf8mb4;
-- 属性模版表:为属性模版名称字段添加索引
create index idx_attribute_template_name on pms_attribute_template (name);
-- 类别与属性模版关联表:创建数据表
drop table if exists pms_category_attribute_template;
create table pms_category_attribute_template
(
id bigint unsigned auto_increment comment '记录id',
category_id bigint unsigned default null comment '类别id',
attribute_template_id bigint unsigned default null comment '属性模版id',
gmt_create datetime default null comment '数据创建时间',
gmt_modified datetime default null comment '数据最后修改时间',
primary key (id)
) comment '类别与属性模版关联' charset utf8mb4;
-- SPU(Standard Product Unit)表:创建数据表
drop table if exists pms_spu;
create table pms_spu
(
id bigint unsigned not null comment '记录id',
name varchar(50) default null comment 'SPU名称',
type_number varchar(50) default null comment 'SPU编号',
title varchar(255) default null comment '标题',
description varchar(255) default null comment '简介',
list_price decimal(10, 2) default null comment '价格&