Skip to content

MySQL数据表设计

用户模块🌂

WARNING

sys_user:存储用户信息

sys_user(用户表)

♥ 字段设计

FieldTypeDescription
user_idINT用户ID,主键,自增
nameVARCHAR(255)姓名
ageVARCHAR(255)年龄
sexINT用户性别 1男 2女
create_timeDATETIME创建时间
addressVARCHAR(255)用户的地址
stateTINYINT(0)用户状态 1 正常,0 或 2 禁用
phoneVARCHAR(255)用户手机号
usernameVARCHAR(255)用户的登录账号
passwordVARCHAR(255)用户的登录密码,默认值为 '123456'
avatarVARCHAR(255)用户头像地址
update_timeDATETIME更新时间
user_heightVARCHAR(255)用户身高
user_weightVARCHAR(255)用户体重
diseaseVARCHAR(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(通告表)

♥ 字段设计

FieldTypeDescription
notice_idINT公告ID,主键,自动递增
notice_titleVARCHAR(50)公告标题
notice_typeENUM('success', 'chatmsg', 'info', , 'warn')公告类型,成功、聊天信息、通告、警告(备用:数据'data', 危险'danger')
notice_contentTEXT公告内容
statusCHAR(1)公告状态,0表示正常,1表示关闭
create_byVARCHAR(64)创建者
create_timeDATETIME创建时间
update_byVARCHAR(64)更新者
update_timeDATETIME更新时间
remarkVARCHAR(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(字典类型表)

♥ 字段设计

FieldTypeDescription
dict_idBIGINT(0)字典主键,自动递增
dict_nameVARCHAR(100)字典名称
dict_typeVARCHAR(100)字典类型
statusCHAR(1)状态(0正常,1停用)
create_byVARCHAR(64)创建者
create_timeDATETIME(0)创建时间
update_byVARCHAR(64)更新者
update_timeDATETIME(0)更新时间
remarkVARCHAR(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(字典数据表)

♥ 字段设计

FieldTypeDescription
dict_codeBIGINT(0)字典编码,主键,自动递增
dict_sortINT(0)字典排序
dict_labelVARCHAR(100)字典标签
dict_valueVARCHAR(100)字典键值
dict_typeVARCHAR(100)字典类型
css_classVARCHAR(100)样式属性(其他样式扩展)
list_classVARCHAR(100)表格回显样式
is_defaultCHAR(1)是否默认(Y是,N否)
statusCHAR(1)状态(0正常,1停用)
create_byVARCHAR(64)创建者
create_timeDATETIME(0)创建时间
update_byVARCHAR(64)更新者
update_timeDATETIME(0)更新时间
remarkVARCHAR(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(聊天表)

♥ 字段设计

FieldTypeDescription
chat_idINT(0)聊天记录ID,主键,自动递增
chat_nameVARCHAR(255)聊天名称
user_idVARCHAR(255)用户ID
user_nameVARCHAR(255)用户名
avatarVARCHAR(255)用户头像
receiver_idINT(0)接收方ID
contentTEXT聊天内容
gradeINT(0)聊天评分
create_timeDATETIME(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(帖子表)

♥ 字段设计

FieldTypeDescription
article_idINT(0)文章ID,主键,自动递增
titleVARCHAR(255)文章标题
authorVARCHAR(255)文章作者
typeVARCHAR(50)文章类型
articleclickINT(0)文章点击数
statusINT(0)文章状态,0为暂存,1为发布
articlecollectINT(0)文章收藏数
contentTEXT文章内容
thumburlLONGTEXT文章缩略图URL
articlepublishTimeDATETIME(0)文章发布时间
author_idINT(0)作者ID
create_timeDATETIME(0)创建时间,默认当前时间
update_timeDATETIME(0)更新时间,默认当前时间,更新时自动修改
uploadfileLONGTEXT上传文件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(帮助表)

♥ 字段设计

FieldTypeDescription
idINT(0)帮助记录ID,主键,自动递增
titleVARCHAR(255)帮助标题
create_timeDATETIME(0)创建时间,默认当前时间
contentTEXT帮助内容

♥数据库表结构

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(反馈表)

♥ 字段设计

FieldTypeDescription
idINT(0)反馈记录ID,主键,自动递增
nameVARCHAR(100)反馈人姓名
create_timeDATETIME(0)创建时间,默认当前时间
describeTEXT反馈描述
phoneVARCHAR(20)反馈人电话
usernameVARCHAR(100)用户名
userIdVARCHAR(255)用户ID
feedinformationVARCHAR(255)反馈信息
emailVARCHAR(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(评论模块)

♥ 字段设计

FieldTypeDescription
idINT(0)评论ID,主键,自动递增
article_idINT(0)文章ID,外键,关联 sys_article 表的 article_id
parent_idINT(0)父评论ID,若为回复评论,则记录父评论ID
contentTEXT评论内容
authorVARCHAR(255)评论作者
create_timeTIMESTAMP(0)创建时间,默认当前时间
update_timeTIMESTAMP(0)更新时间,默认当前时间,更新时自动修改
user_idINT(0)用户ID
avatarVARCHAR(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(申请模块)

♥ 字段设计

FieldTypeDescription
idINT(0)申请ID,主键,自动递增
user_idINT(0)用户ID,申请人的ID
activity_idINT(0)活动ID,外键,关联 activities 表的 id
statusENUM('pending', 'approved', 'rejected')申请状态,默认为 pending,可选值为 pendingapprovedrejected
applied_timeDATETIME(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(活动模块)

♥ 字段设计

FieldTypeDescription
idINT(0)活动ID,主键,自动递增
titleVARCHAR(255)活动标题,不能为空
descriptionTEXT活动描述,内容可选
locationVARCHAR(255)活动地点,默认为 NULL
start_timeDATETIME(0)活动开始时间,默认为 NULL
end_timeDATETIME(0)活动结束时间,默认为 NULL
create_timeDATETIME(0)活动创建时间,默认当前时间
update_timeDATETIME(0)活动更新时间,默认当前时间,每次更新时自动更新
activity_typeVARCHAR(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(商品表)

♥ 字段设计

FieldTypeDescription
product_idINT商品ID,主键
nameVARCHAR(255)商品名称
descriptionTEXT商品描述
category_idINT商品类别ID(外键,关联Categories表)
priceDECIMAL(10,2)商品价格
stockINT商品库存
skuVARCHAR(255)商品SKU(库存单位)
brandVARCHAR(255)商品品牌
weightDECIMAL(10,2)商品重量
dimensionsVARCHAR(255)商品尺寸(长、宽、高)
colorVARCHAR(255)商品颜色
sizeVARCHAR(255)商品尺码
statusVARCHAR(50)商品状态(如:available, out_of_stock等)
is_activeBOOLEAN是否激活(是否对外展示销售)
is_featuredBOOLEAN是否为特色商品(如首页推荐商品)
is_on_saleBOOLEAN是否参与促销活动
image_urlVARCHAR(255)商品主图URL
additional_imagesTEXT商品附加图像URL(可多图)
video_urlVARCHAR(255)商品视频URL
created_atDATETIME商品创建时间
updated_atDATETIME商品最后更新时间
deleted_atDATETIME商品删除时间(软删除用)
tagsTEXT商品标签,逗号分隔的字符串(如"新品,限时折扣")
promotion_priceDECIMAL(10,2)促销价格
ratingDECIMAL(3,2)商品评分(可选,平均分)
review_countINT商品评论数
shipping_feeDECIMAL(10,2)商品的运费
supplier_idINT供应商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 (购物车表)

♥ 字段设计

FieldTypeDescription
cart_item_idINT购物车项ID,主键,自增
user_idINT用户ID(外键,关联 sys_user 表)
product_idINT商品ID(外键,关联 Products 表)
quantityINT商品数量,默认为 1
priceDECIMAL(10, 2)商品价格(记录当前加入购物车时的价格)
added_atDATETIME加入购物车的时间
updated_atDATETIME最后更新时间
is_activeBOOLEAN是否仍在购物车中,标识购物车项是否有效

♥数据库表结构

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(订单表)

♥ 字段设计

FieldTypeDescription
order_idINT订单ID,主键,自增
user_idINT用户ID(外键,关联 users 表)
order_dateDATETIME订单创建时间
total_amountDECIMAL(10, 2)订单总金额,保留两位小数
statusVARCHAR(50)订单状态(如:待支付、已支付、已发货、已完成等)
shipping_addressVARCHAR(255)收货地址
payment_methodVARCHAR(50)支付方式(如:信用卡、支付宝、微信支付等)
payment_statusVARCHAR(50)支付状态(如:未支付、已支付等)
created_atDATETIME记录创建时间,默认当前时间
updated_atDATETIME记录最后更新时间,自动更新为当前时间
FOREIGN KEYuser_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 (订单商品)

♥ 字段设计

FieldTypeDescription
order_item_idINT订单项ID,主键,自增
order_idINT关联的订单ID,外键,指向 Orders
product_idINT关联的商品ID,外键,指向 Products
quantityINT商品的数量
unit_priceDECIMAL(10, 2)商品的单价
total_priceDECIMAL(10, 2)商品的总价(自动计算:quantity * unit_price
created_atDATETIME记录的创建时间,默认当前时间
updated_atDATETIME更新时间,默认当前时间,更新时自动修改

♥数据库表结构

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(支付订单表)

♥ 字段设计

FieldTypeDescription
payment_idINT支付记录ID,主键,自增
order_idINT订单ID(外键,关联 Orders 表的 order_id
user_idINT用户ID(外键,关联 Users 表的 user_id
payment_dateDATETIME支付日期和时间,记录支付操作的时间
amountDECIMAL(10, 2)支付金额,保留两位小数
payment_methodVARCHAR(50)支付方式(如:信用卡、支付宝、微信支付等)
payment_statusVARCHAR(50)支付状态(如:已支付、未支付、支付失败等)
transaction_idVARCHAR(100)交易流水号,记录支付成功时的交易标识
created_atDATETIME记录创建时间,自动设为当前时间
updated_atDATETIME记录最后更新时间,自动更新为当前时间
FOREIGN KEYorder_id外键约束,关联 Orders 表的 order_id 字段,表示该支付记录对应的订单
FOREIGN KEYuser_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
);

Released under the MIT License.