Skip to content

数据库设计文档 ​

版本号修改修改时间备注
v1.0.0王小琱2024.12.20初次修订

1. 简介 ​

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

2. 数据库概览 ​

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

3. 命名规范 ​

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

4. 表结构设计 ​

4.1 symbol_info(交易对信息表) ​

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64否是是-主键
symbolVARCHAR255否否否-交易对
symbol_iconLONGTEXT-是否否-交易对图标
symbol_nameVARCHAR255是否否-交易对名称
pairVARCHAR255是否否-标的交易对
contract_typeVARCHAR255是否否-合约类型: SPOT/OTC/FIAT/DIGITAL
delivery_dateBIGINT64是否否-交割日期
onboard_dateBIGINT64是否否-上线日期
base_assetVARCHAR255是否否-标的资产
quote_assetVARCHAR255是否否-计价资产
symbol_statusVARCHAR255是否否-交易对状态:DISABLE/TRADING
symbol_flagVARCHAR255是否否-SHOW/HIDDEN
symbol_type_idBIGINT64是否否-交易对类型
descriptionLONGTEXT-是否否-交易对描述
is_use_default_fee_rateVARCHAR64是否否-是否使用默认费率:DISABLE/ENABLE
is_stablecoinVARCHAR64是否否-是否是稳定币:true/false
is_deletedTINYINT4否否否0删除状态
statusTINYINT4否否否1状态
created_atDATETIME-否否否-创建时间
updated_atDATETIME-否否否-更新时间

4.2 symbol_rules(交易对费率规则表) ​

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64否是是-主键
symbol_idBIGINT64否否否0交易对
level_idBIGINT64是否否null交易对等级
maker_fee_rateVARCHAR255是否否null做市手续费率
taker_fee_rateVARCHAR255是否否null吃单手续费率
symbol_type_idBIGINT64是否否null交易对类型
remarkVARCHAR255是否否null备注
is_deletedTINYINT4否否否0删除状态
statusTINYINT4否否否1状态
created_atDATETIME-否否否-创建时间
updated_atDATETIME-否否否-更新时间

4.3 symbol_global_settings(全局设置表) ​

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64否是是-主键
symbol_type_idBIGINT64是否否null类型id
settings_keyVARCHAR255是否否null键
settings_valueVARCHAR255是否否null值
is_deletedTINYINT4否否否0删除状态
statusTINYINT4否否否1状态
created_atDATETIME-否否否-创建时间
updated_atDATETIME-否否否-更新时间

4.4 symbol_filters(交易对风控参数表) ​

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64否是是-主键
symbol_idBIGINT64是否否null交易对
max_notional_valueVARCHAR255是否否null最大名义价值
max_leverageVARCHAR255是否否null最大杠杆
maint_margin_ratioVARCHAR255是否否null维持保证金率
is_deletedTINYINT4否否否0删除状态
statusTINYINT4否否否1状态
created_atDATETIME-否否否-创建时间
updated_atDATETIME-否否否-更新时间

4.5 symbol_settings(交易对自定义设置表) ​

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64否是是-主键
symbol_idBIGINT64是否否null交易对id
settings_keyVARCHAR255是否否null键
settings_valueVARCHAR255是否否null值
is_deletedTINYINT4否否否0删除状态
statusTINYINT4否否否1状态
created_atDATETIME-否否否-创建时间
updated_atDATETIME-否否否-更新时间

4.6 symbol_type(交易对类型表) ​

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64否是是-主键
type_nameVARCHAR255否否否-类型名称
descriptionLONGTEXT-是否否-类型描述
is_deletedTINYINT4否否否0删除状态
statusTINYINT4否否否1状态
created_atDATETIME-否否否-创建时间
updated_atDATETIME-否否否-更新时间

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

6. 安全与审计字段 ​

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

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

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