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_atupdated_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_deletedTINYINT40删除状态
statusTINYINT41状态
created_atDATETIME--创建时间
updated_atDATETIME--更新时间

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

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64-主键
symbol_idBIGINT640交易对
level_idBIGINT64null交易对等级
maker_fee_rateVARCHAR255null做市手续费率
taker_fee_rateVARCHAR255null吃单手续费率
symbol_type_idBIGINT64null交易对类型
remarkVARCHAR255null备注
is_deletedTINYINT40删除状态
statusTINYINT41状态
created_atDATETIME--创建时间
updated_atDATETIME--更新时间

4.3 symbol_global_settings(全局设置表)

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64-主键
symbol_type_idBIGINT64null类型id
settings_keyVARCHAR255null
settings_valueVARCHAR255null
is_deletedTINYINT40删除状态
statusTINYINT41状态
created_atDATETIME--创建时间
updated_atDATETIME--更新时间

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

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64-主键
symbol_idBIGINT64null交易对
max_notional_valueVARCHAR255null最大名义价值
max_leverageVARCHAR255null最大杠杆
maint_margin_ratioVARCHAR255null维持保证金率
is_deletedTINYINT40删除状态
statusTINYINT41状态
created_atDATETIME--创建时间
updated_atDATETIME--更新时间

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

字段名类型长度是否为NULL是否自增是否主键默认值说明
idBIGINT64-主键
symbol_idBIGINT64null交易对id
settings_keyVARCHAR255null
settings_valueVARCHAR255null
is_deletedTINYINT40删除状态
statusTINYINT41状态
created_atDATETIME--创建时间
updated_atDATETIME--更新时间

4.6 symbol_type(交易对类型表)

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

5. 表关系设计(ER 图)

6. 安全与审计字段

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

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

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