Skip to content

数据库设计文档 ​

版本号修改修改时间备注
v1.0.0王小琱2024.06.22初次生成


1. 简介 ​

本文档描述了 exchange-notify-service-backend 项目中数据库的结构设计,包括核心表的定义、字段说明及表关系,旨在为开发、测试和运维人员提供参考。

2. 数据库概览 ​

  • 数据库名称:exchange_notify_service
  • 数据库类型:MySQL
  • 编码格式:utf8mb4
  • 存储引擎:InnoDB
  • 排序集:utf8mb4_0900_ai_ci

3. 命名规范 ​

  • 表名使用小写字母+下划线风格,例如:user_message
  • 字段名使用小写字母+下划线风格,例如:created_at
  • 主键统一使用 id
  • 时间字段统一使用:created_at、updated_at
  • 逻辑删除字段:is_deleted(软删)

4. 表结构设计 ​

4.1 表:message(消息表) ​

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64否是是-主键
senderVARCHAR255否否否-发送者
receiverLONGTEXT-否否否-接收者
titleLONGTEXT-否否否-标题
contentLONGTEXT-否否否-内容
sender_typeINT32否否否-消息类型:1-站内信,2-邮件,3-短信
sender_emailVARCHAR255否否否-发送者邮箱地址
operatorVARCHAR255否否否-操作人
is_deletedTINYINT4否否否0删除状态:0-正常,1-删除
statusTINYINT4否否否1状态:0-禁用,1-正常
created_atDATETIME-否否否-创建时间
updated_atDATETIME-否否否-更新时间

4.2 表:user_message(用户消息表) ​

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64否是是-主键
user_idVARCHAR255否否否-用户id
titleLONGTEXT-否否否-标题
contentLONGTEXT-否否否-内容
message_typeINT32否否否-消息类型:1-系统消息,2-成交消息,3-后台消息
template_typeINT32否否否-用户消息类型
is_readINT32否否否1是否已读:1-未读,2-已读
is_deletedTINYINT4否否否0删除状态:0-正常,1-删除
statusTINYINT4否否否1状态:0-禁用,1-正常
created_atDATETIME-否否否-创建时间
updated_atDATETIME-否否否-更新时间

4.3 表:sender(发送者表) ​

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64否是是-主键
nameVARCHAR255否否否-发送者名称
fromVARCHAR255否否否-发送者地址(站内信为system,邮件为邮箱地址,短信为手机号)
sender_typeINT32否否否-消息类型:1-站内信,2-邮件,3-短信
message_typeINT32否否否-消息类型:1-系统消息,2-成交消息,3-后台消息
is_deletedTINYINT4否否否0删除状态:0-正常,1-删除
statusTINYINT4否否否1状态:0-禁用,1-正常
created_atDATETIME-否否否-创建时间
updated_atDATETIME-否否否-更新时间

5. 表关系设计(ER 图) ​

  • 一条消息可对应多条用户消息(如群发)。
  • 一个发送者可发送多条消息。

6. 枚举定义 ​

6.1 消息类型(SenderType/MessageType) ​

NameNumberDescription
站内信1站内信
邮件2邮件
短信3短信

6.2 用户消息类型(TemplateType) ​

NameNumberDescription
系统消息1系统消息
成交消息2成交消息
后台消息3后台消息

6.3 是否已读(IsRead) ​

NameNumberDescription
未读1未读
已读2已读

7. 安全与审计字段 ​

所有表均建议包含以下字段:

  • created_at、updated_at:记录操作时间
  • is_deleted:逻辑删除字段
  • status:状态字段

🚀 构建现代化数字资产交易平台