MySQL数据表设计
用户模块🌂
WARNING
sys_user:存储用户信息
sys_user(用户表)
♥ 字段设计
Field | Type | Description |
---|---|---|
user_id | INT | 用户ID,主键,自增 |
name | VARCHAR(255) | 姓名 |
age | VARCHAR(255) | 年龄 |
sex | INT | 用户性别 1男 2女 |
create_time | DATETIME | 创建时间 |
address | VARCHAR(255) | 用户的地址 |
state | TINYINT(0) | 用户状态 1 正常,0 或 2 禁用 |
phone | VARCHAR(255) | 用户手机号 |
username | VARCHAR(255) | 用户的登录账号 |
password | VARCHAR(255) | 用户的登录密码,默认值为 '123456' |
avatar | VARCHAR(255) | 用户头像地址 |
update_time | DATETIME | 更新时间 |
user_height | VARCHAR(255) | 用户身高 |
user_weight | VARCHAR(255) | 用户体重 |
disease | VARCHAR(255) | 用户健康状况,是否有疾病 |
♥数据库表结构
JS
CREATE TABLE `sys_user` (
`user_id` int(0) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '姓名',
`age` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '年龄',
`sex` int(0) NULL DEFAULT NULL COMMENT '用户性别 1男 2女 ',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '用户的地址',
`state` tinyint(0) NULL DEFAULT NULL COMMENT '1 正常 0 2 禁用',
`phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '手机号',
`username` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '用户的登录账号',
`password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '123456' COMMENT '用户的登录密码',
`avatar` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '头像地址',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`user_height` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '身高',
`user_weight` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '体重',
`disease` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '健康状况,是否有疾病',
PRIMARY KEY (`user_id`, `password`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 55 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
系统模块🌂
TIP
sys_notice:存储系统通告信息
sys_dict_type:存储字典类型信息
sys_dict_data:存储字典数据信息
sys_notice(通告表)
♥ 字段设计
Field | Type | Description |
---|---|---|
notice_id | INT | 公告ID,主键,自动递增 |
notice_title | VARCHAR(50) | 公告标题 |
notice_type | ENUM('success', 'chatmsg', 'info', , 'warn') | 公告类型,成功、聊天信息、通告、警告(备用:数据'data', 危险'danger') |
notice_content | TEXT | 公告内容 |
status | CHAR(1) | 公告状态,0表示正常,1表示关闭 |
create_by | VARCHAR(64) | 创建者 |
create_time | DATETIME | 创建时间 |
update_by | VARCHAR(64) | 更新者 |
update_time | DATETIME | 更新时间 |
remark | VARCHAR(255) | 备注信息 |
♥数据库表结构
JS
CREATE TABLE `sys_notice` (
`notice_id` int(0) NOT NULL AUTO_INCREMENT COMMENT '公告ID',
`notice_title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公告标题',
`notice_type` enum('success','data','chatmsg','info','danger','warn') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '\r\n| success | 系统连接成功提示\r\n| data | 欢迎连接聊天室 \r\n| chatmsg | 收到客户端消息 -- 普通聊天信息\r\n| info | 通知类型消息 -- 普通通告信息 \r\n| warn | 警告类型消息 -- 用户求助\r\n| danger | 危险类型 -- 最高级别警告信息',
`notice_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '公告内容',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '公告状态(0正常 1关闭)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`notice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 97 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '通知公告表' ROW_FORMAT = Dynamic;
sys_dict_type(字典类型表)
♥ 字段设计
Field | Type | Description |
---|---|---|
dict_id | BIGINT(0) | 字典主键,自动递增 |
dict_name | VARCHAR(100) | 字典名称 |
dict_type | VARCHAR(100) | 字典类型 |
status | CHAR(1) | 状态(0正常,1停用) |
create_by | VARCHAR(64) | 创建者 |
create_time | DATETIME(0) | 创建时间 |
update_by | VARCHAR(64) | 更新者 |
update_time | DATETIME(0) | 更新时间 |
remark | VARCHAR(500) | 备注 |
♥数据库表结构
JS
CREATE TABLE `sys_dict_type` (
`dict_id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '字典主键',
`dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典名称',
`dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_id`) USING BTREE,
UNIQUE INDEX `dict_type`(`dict_type`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 123 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic;
sys_dict_data(字典数据表)
♥ 字段设计
Field | Type | Description |
---|---|---|
dict_code | BIGINT(0) | 字典编码,主键,自动递增 |
dict_sort | INT(0) | 字典排序 |
dict_label | VARCHAR(100) | 字典标签 |
dict_value | VARCHAR(100) | 字典键值 |
dict_type | VARCHAR(100) | 字典类型 |
css_class | VARCHAR(100) | 样式属性(其他样式扩展) |
list_class | VARCHAR(100) | 表格回显样式 |
is_default | CHAR(1) | 是否默认(Y是,N否) |
status | CHAR(1) | 状态(0正常,1停用) |
create_by | VARCHAR(64) | 创建者 |
create_time | DATETIME(0) | 创建时间 |
update_by | VARCHAR(64) | 更新者 |
update_time | DATETIME(0) | 更新时间 |
remark | VARCHAR(500) | 备注 |
♥数据库表
JS
CREATE TABLE `sys_dict_data` (
`dict_code` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '字典编码',
`dict_sort` int(0) NULL DEFAULT 0 COMMENT '字典排序',
`dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典标签',
`dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典键值',
`dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型',
`css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '样式属性(其他样式扩展)',
`list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表格回显样式',
`is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 112 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic;
系统功能🌂
WARNING
sys_chat:存储聊天记录
sys_article:存储帖子信息
sys_chat(聊天表)
♥ 字段设计
Field | Type | Description |
---|---|---|
chat_id | INT(0) | 聊天记录ID,主键,自动递增 |
chat_name | VARCHAR(255) | 聊天名称 |
user_id | VARCHAR(255) | 用户ID |
user_name | VARCHAR(255) | 用户名 |
avatar | VARCHAR(255) | 用户头像 |
receiver_id | INT(0) | 接收方ID |
content | TEXT | 聊天内容 |
grade | INT(0) | 聊天评分 |
create_time | DATETIME(0) | 创建时间,默认当前时间 |
♥数据库表
JS
CREATE TABLE `sys_chat` (
`chat_id` int(0) NOT NULL AUTO_INCREMENT,
`chat_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`receiver_id` int(0) NULL DEFAULT NULL,
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`grade` int(0) NULL DEFAULT NULL,
`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
PRIMARY KEY (`chat_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 72 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
sys_article(帖子表)
♥ 字段设计
Field | Type | Description |
---|---|---|
article_id | INT(0) | 文章ID,主键,自动递增 |
title | VARCHAR(255) | 文章标题 |
author | VARCHAR(255) | 文章作者 |
type | VARCHAR(50) | 文章类型 |
articleclick | INT(0) | 文章点击数 |
status | INT(0) | 文章状态,0为暂存,1为发布 |
articlecollect | INT(0) | 文章收藏数 |
content | TEXT | 文章内容 |
thumburl | LONGTEXT | 文章缩略图URL |
articlepublishTime | DATETIME(0) | 文章发布时间 |
author_id | INT(0) | 作者ID |
create_time | DATETIME(0) | 创建时间,默认当前时间 |
update_time | DATETIME(0) | 更新时间,默认当前时间,更新时自动修改 |
uploadfile | LONGTEXT | 上传文件URL |
♥数据库表
JS
CREATE TABLE `sys_article` (
`article_id` int(0) NOT NULL AUTO_INCREMENT,
`title` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
`author` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`type` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`articleclick` int(0) NULL DEFAULT NULL,
`status` int(0) NULL DEFAULT NULL COMMENT '0 暂存 1 发布',
`articlecollect` int(0) NULL DEFAULT NULL,
`content` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL,
`thumburl` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL,
`articlepublishTime` datetime(0) NULL DEFAULT NULL,
`author_id` int(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`uploadfile` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL,
PRIMARY KEY (`article_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
服务模块🌂
js
//购物模块
helps:帮助模块。
feedbacks:反馈模块
comments:评论模块
applications:申请模块
activities:活动模块
helps(帮助表)
♥ 字段设计
Field | Type | Description |
---|---|---|
id | INT(0) | 帮助记录ID,主键,自动递增 |
title | VARCHAR(255) | 帮助标题 |
create_time | DATETIME(0) | 创建时间,默认当前时间 |
content | TEXT | 帮助内容 |
♥数据库表结构
SQL
CREATE TABLE `helps` (
`id` int(0) NOT NULL AUTO_INCREMENT,
`title` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`content` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
feedbacks(反馈表)
♥ 字段设计
Field | Type | Description |
---|---|---|
id | INT(0) | 反馈记录ID,主键,自动递增 |
name | VARCHAR(100) | 反馈人姓名 |
create_time | DATETIME(0) | 创建时间,默认当前时间 |
describe | TEXT | 反馈描述 |
phone | VARCHAR(20) | 反馈人电话 |
username | VARCHAR(100) | 用户名 |
userId | VARCHAR(255) | 用户ID |
feedinformation | VARCHAR(255) | 反馈信息 |
VARCHAR(255) | 反馈人电子邮件 |
♥数据库表结构
SQL
CREATE TABLE `feedbacks` (
`id` int(0) NOT NULL AUTO_INCREMENT,
`name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`describe` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL,
`phone` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`username` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`userId` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
`feedinformation` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
comments(评论模块)
♥ 字段设计
Field | Type | Description |
---|---|---|
id | INT(0) | 评论ID,主键,自动递增 |
article_id | INT(0) | 文章ID,外键,关联 sys_article 表的 article_id |
parent_id | INT(0) | 父评论ID,若为回复评论,则记录父评论ID |
content | TEXT | 评论内容 |
author | VARCHAR(255) | 评论作者 |
create_time | TIMESTAMP(0) | 创建时间,默认当前时间 |
update_time | TIMESTAMP(0) | 更新时间,默认当前时间,更新时自动修改 |
user_id | INT(0) | 用户ID |
avatar | VARCHAR(255) | 用户头像,若有的话 |
♥数据库表结构
SQL
CREATE TABLE `comments` (
`id` int(0) NOT NULL AUTO_INCREMENT,
`article_id` int(0) NOT NULL,
`parent_id` int(0) NULL DEFAULT NULL,
`content` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
`author` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
`create_time` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_time` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`user_id` int(0) NOT NULL,
`avatar` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `article_id`(`article_id`) USING BTREE,
INDEX `parent_id`(`parent_id`) USING BTREE,
CONSTRAINT `comments_ibfk_1` FOREIGN KEY (`article_id`) REFERENCES `sys_article` (`article_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
applications(申请模块)
♥ 字段设计
Field | Type | Description |
---|---|---|
id | INT(0) | 申请ID,主键,自动递增 |
user_id | INT(0) | 用户ID,申请人的ID |
activity_id | INT(0) | 活动ID,外键,关联 activities 表的 id |
status | ENUM('pending', 'approved', 'rejected') | 申请状态,默认为 pending ,可选值为 pending 、approved 、rejected |
applied_time | DATETIME(0) | 申请时间,默认当前时间 |
♥数据库表结构
SQL
CREATE TABLE `applications` (
`id` int(0) NOT NULL AUTO_INCREMENT,
`user_id` int(0) NOT NULL,
`activity_id` int(0) NULL DEFAULT NULL,
`status` enum('pending','approved','rejected') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'pending',
`applied_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
PRIMARY KEY (`id`) USING BTREE,
INDEX `activity_id`(`activity_id`) USING BTREE,
CONSTRAINT `applications_ibfk_1` FOREIGN KEY (`activity_id`) REFERENCES `activities` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 30 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
activities(活动模块)
♥ 字段设计
Field | Type | Description |
---|---|---|
id | INT(0) | 活动ID,主键,自动递增 |
title | VARCHAR(255) | 活动标题,不能为空 |
description | TEXT | 活动描述,内容可选 |
location | VARCHAR(255) | 活动地点,默认为 NULL |
start_time | DATETIME(0) | 活动开始时间,默认为 NULL |
end_time | DATETIME(0) | 活动结束时间,默认为 NULL |
create_time | DATETIME(0) | 活动创建时间,默认当前时间 |
update_time | DATETIME(0) | 活动更新时间,默认当前时间,每次更新时自动更新 |
activity_type | VARCHAR(255) | 活动类型,默认为 NULL |
♥数据库表结构
SQL
CREATE TABLE `activities` (
`id` int(0) NOT NULL AUTO_INCREMENT,
`title` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
`description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL,
`location` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`start_time` datetime(0) NULL DEFAULT NULL,
`end_time` datetime(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`activity_type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
购物模块🌂
js
//购物模块
Products:存储商品信息。
CartItems:存储每个用户购物车的商品及数量。
Orders:存储订单信息。
OrderItems:存储订单中的商品信息。
Payments:存储支付信息
Products(商品表)
♥ 字段设计
Field | Type | Description |
---|---|---|
product_id | INT | 商品ID,主键 |
name | VARCHAR(255) | 商品名称 |
description | TEXT | 商品描述 |
category_id | INT | 商品类别ID(外键,关联Categories表) |
price | DECIMAL(10,2) | 商品价格 |
stock | INT | 商品库存 |
sku | VARCHAR(255) | 商品SKU(库存单位) |
brand | VARCHAR(255) | 商品品牌 |
weight | DECIMAL(10,2) | 商品重量 |
dimensions | VARCHAR(255) | 商品尺寸(长、宽、高) |
color | VARCHAR(255) | 商品颜色 |
size | VARCHAR(255) | 商品尺码 |
status | VARCHAR(50) | 商品状态(如:available, out_of_stock等) |
is_active | BOOLEAN | 是否激活(是否对外展示销售) |
is_featured | BOOLEAN | 是否为特色商品(如首页推荐商品) |
is_on_sale | BOOLEAN | 是否参与促销活动 |
image_url | VARCHAR(255) | 商品主图URL |
additional_images | TEXT | 商品附加图像URL(可多图) |
video_url | VARCHAR(255) | 商品视频URL |
created_at | DATETIME | 商品创建时间 |
updated_at | DATETIME | 商品最后更新时间 |
deleted_at | DATETIME | 商品删除时间(软删除用) |
tags | TEXT | 商品标签,逗号分隔的字符串(如"新品,限时折扣") |
promotion_price | DECIMAL(10,2) | 促销价格 |
rating | DECIMAL(3,2) | 商品评分(可选,平均分) |
review_count | INT | 商品评论数 |
shipping_fee | DECIMAL(10,2) | 商品的运费 |
supplier_id | INT | 供应商ID(外键,关联供应商表) |
♥数据库表结构
SQL
CREATE TABLE Products (
product_id INT AUTO_INCREMENT PRIMARY KEY, -- 商品ID,主键,自增
name VARCHAR(255) NOT NULL, -- 商品名称
description TEXT, -- 商品描述
category_id INT, -- 商品类别ID(外键,关联Categories表)
price DECIMAL(10, 2) NOT NULL, -- 商品价格
stock INT DEFAULT 0, -- 商品库存
sku VARCHAR(255), -- 商品SKU(库存单位)
brand VARCHAR(255), -- 商品品牌
weight DECIMAL(10, 2), -- 商品重量
dimensions VARCHAR(255), -- 商品尺寸(长、宽、高)
color VARCHAR(255), -- 商品颜色
size VARCHAR(255), -- 商品尺码
status VARCHAR(50) DEFAULT 'available', -- 商品状态(如:available, out_of_stock等)
is_active BOOLEAN DEFAULT TRUE, -- 是否激活(是否对外展示销售)
is_featured BOOLEAN DEFAULT FALSE, -- 是否为特色商品(如首页推荐商品)
is_on_sale BOOLEAN DEFAULT FALSE, -- 是否参与促销活动
image_url VARCHAR(255), -- 商品主图URL
additional_images TEXT, -- 商品附加图像URL(可多图)
video_url VARCHAR(255), -- 商品视频URL
created_at DATETIME DEFAULT CURRENT_TIMESTAMP, -- 商品创建时间
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 商品最后更新时间
deleted_at DATETIME, -- 商品删除时间(软删除用)
tags TEXT, -- 商品标签,逗号分隔的字符串(如"新品,限时折扣")
promotion_price DECIMAL(10, 2), -- 促销价格
rating DECIMAL(3, 2), -- 商品评分(可选,平均分)
review_count INT DEFAULT 0, -- 商品评论数
shipping_fee DECIMAL(10, 2), -- 商品的运费
supplier_id INT, -- 供应商ID(外键,关联供应商表)
-- 外键约束
FOREIGN KEY (category_id) REFERENCES Categories(id), -- 外键:商品类别ID关联Categories表
FOREIGN KEY (supplier_id) REFERENCES Suppliers(id) -- 外键:供应商ID关联Suppliers表
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CartItems (购物车表)
♥ 字段设计
Field | Type | Description |
---|---|---|
cart_item_id | INT | 购物车项ID,主键,自增 |
user_id | INT | 用户ID(外键,关联 sys_user 表) |
product_id | INT | 商品ID(外键,关联 Products 表) |
quantity | INT | 商品数量,默认为 1 |
price | DECIMAL(10, 2) | 商品价格(记录当前加入购物车时的价格) |
added_at | DATETIME | 加入购物车的时间 |
updated_at | DATETIME | 最后更新时间 |
is_active | BOOLEAN | 是否仍在购物车中,标识购物车项是否有效 |
♥数据库表结构
SQL
CREATE TABLE CartItems (
cart_item_id INT AUTO_INCREMENT PRIMARY KEY, -- 购物车项ID,主键,自增
user_id INT, -- 用户ID(外键,关联sys_user表)
product_id INT, -- 商品ID(外键,关联Products表)
quantity INT DEFAULT 1, -- 商品数量
price DECIMAL(10, 2), -- 商品价格(记录当前加入购物车时的价格)
added_at DATETIME DEFAULT CURRENT_TIMESTAMP, -- 加入购物车的时间
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 最后更新时间
is_active BOOLEAN DEFAULT TRUE, -- 是否仍在购物车中(可以用来处理购物车清空等情况)
-- 外键约束
FOREIGN KEY (user_id) REFERENCES sys_user(user_id), -- 外键:用户ID关联sys_user表
FOREIGN KEY (product_id) REFERENCES Products(product_id) -- 外键:商品ID关联Products表
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Orders(订单表)
♥ 字段设计
Field | Type | Description |
---|---|---|
order_id | INT | 订单ID,主键,自增 |
user_id | INT | 用户ID(外键,关联 users 表) |
order_date | DATETIME | 订单创建时间 |
total_amount | DECIMAL(10, 2) | 订单总金额,保留两位小数 |
status | VARCHAR(50) | 订单状态(如:待支付、已支付、已发货、已完成等) |
shipping_address | VARCHAR(255) | 收货地址 |
payment_method | VARCHAR(50) | 支付方式(如:信用卡、支付宝、微信支付等) |
payment_status | VARCHAR(50) | 支付状态(如:未支付、已支付等) |
created_at | DATETIME | 记录创建时间,默认当前时间 |
updated_at | DATETIME | 记录最后更新时间,自动更新为当前时间 |
FOREIGN KEY | user_id | 外键约束,关联 sys_user 表的 user_id 字段,表示订单属于哪个用户 |
♥数据库表结构
js
CREATE TABLE Orders (
order_id INT AUTO_INCREMENT PRIMARY KEY, -- 订单ID,主键,自动增长
user_id INT NOT NULL, -- 用户ID,外键,关联到用户表
order_date DATETIME NOT NULL, -- 订单创建时间
total_amount DECIMAL(10, 2) NOT NULL, -- 订单总金额
status VARCHAR(50) NOT NULL, -- 订单状态(如:待支付、已支付、已发货、已完成)
shipping_address VARCHAR(255) NOT NULL, -- 收货地址
payment_method VARCHAR(50) NOT NULL, -- 支付方式(如:信用卡、支付宝、微信支付)
payment_status VARCHAR(50) NOT NULL, -- 支付状态(如:未支付、已支付)
created_at DATETIME DEFAULT CURRENT_TIMESTAMP, -- 记录创建时间
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 记录最后更新时间
FOREIGN KEY (user_id) REFERENCES sys_user(user_id) -- 外键约束,关联用户表的 user_id
);
OrderItems (订单商品)
♥ 字段设计
Field | Type | Description |
---|---|---|
order_item_id | INT | 订单项ID,主键,自增 |
order_id | INT | 关联的订单ID,外键,指向 Orders 表 |
product_id | INT | 关联的商品ID,外键,指向 Products 表 |
quantity | INT | 商品的数量 |
unit_price | DECIMAL(10, 2) | 商品的单价 |
total_price | DECIMAL(10, 2) | 商品的总价(自动计算:quantity * unit_price ) |
created_at | DATETIME | 记录的创建时间,默认当前时间 |
updated_at | DATETIME | 更新时间,默认当前时间,更新时自动修改 |
♥数据库表结构
js
CREATE TABLE OrderItems (
order_item_id INT AUTO_INCREMENT PRIMARY KEY, -- 订单项ID,主键,自增
order_id INT NOT NULL, -- 关联的订单ID,外键,指向 Orders 表
product_id INT NOT NULL, -- 关联的商品ID,外键,指向 Products 表
quantity INT NOT NULL, -- 商品的数量
unit_price DECIMAL(10, 2) NOT NULL, -- 商品的单价
total_price DECIMAL(10, 2) AS (quantity * unit_price), -- 商品的总价(自动计算)
created_at DATETIME DEFAULT CURRENT_TIMESTAMP, -- 记录的创建时间
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 更新时间
FOREIGN KEY (order_id) REFERENCES Orders(order_id), -- 外键,关联 Orders 表
FOREIGN KEY (product_id) REFERENCES Products(product_id) -- 外键,关联 Products 表
);
Payments(支付订单表)
♥ 字段设计
Field | Type | Description |
---|---|---|
payment_id | INT | 支付记录ID,主键,自增 |
order_id | INT | 订单ID(外键,关联 Orders 表的 order_id ) |
user_id | INT | 用户ID(外键,关联 Users 表的 user_id ) |
payment_date | DATETIME | 支付日期和时间,记录支付操作的时间 |
amount | DECIMAL(10, 2) | 支付金额,保留两位小数 |
payment_method | VARCHAR(50) | 支付方式(如:信用卡、支付宝、微信支付等) |
payment_status | VARCHAR(50) | 支付状态(如:已支付、未支付、支付失败等) |
transaction_id | VARCHAR(100) | 交易流水号,记录支付成功时的交易标识 |
created_at | DATETIME | 记录创建时间,自动设为当前时间 |
updated_at | DATETIME | 记录最后更新时间,自动更新为当前时间 |
FOREIGN KEY | order_id | 外键约束,关联 Orders 表的 order_id 字段,表示该支付记录对应的订单 |
FOREIGN KEY | user_id | 外键约束,关联 Users 表的 user_id 字段,表示该支付记录属于哪个用户 |
♥数据库表结构
js
CREATE TABLE Payments (
payment_id INT AUTO_INCREMENT PRIMARY KEY, -- 支付记录ID,主键,自动增长
order_id INT NOT NULL, -- 订单ID,外键,关联到 Orders 表
user_id INT NOT NULL, -- 用户ID,外键,关联到 sys_user 表
payment_date DATETIME NOT NULL, -- 支付日期和时间
amount DECIMAL(10, 2) NOT NULL, -- 支付金额,保留两位小数
payment_method VARCHAR(50) NOT NULL, -- 支付方式(如:信用卡、支付宝、微信支付等)
payment_status VARCHAR(50) NOT NULL, -- 支付状态(如:已支付、未支付、支付失败等)
transaction_id VARCHAR(100), -- 交易流水号,记录支付成功时的交易标识
created_at DATETIME DEFAULT CURRENT_TIMESTAMP, -- 记录创建时间
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 记录最后更新时间
FOREIGN KEY (order_id) REFERENCES Orders(order_id), -- 外键约束,关联到 Orders 表的 order_id
FOREIGN KEY (user_id) REFERENCES sys_user(user_id) -- 外键约束,关联到 sys_user 表的 user_id
);