数据库设计文档
| 版本号 | 修改 | 修改时间 | 备注 |
|---|---|---|---|
| v1.0.0 | 王小琱 | 2024.12.20 | 初次修订 |
1. 简介
本文档描述了 exchange-market-agg-backend 项目中 Kline(市场K线数据)表的结构设计,包括字段说明及表关系,旨在为开发、测试和运维人员提供参考。
2. 数据库概览
- 数据库名称:
exchange_market_agg - 数据库类型:MySQL
- 编码格式:utf8mb4
- 存储引擎:InnoDB
- 排序集:utf8mb4_0900_ai_ci
3. 命名规范
- 表名使用小写字母+下划线风格,例如:
kline - 字段名使用小写字母+下划线风格,例如:
open_time - 主键统一使用
id或业务唯一主键 - 外键统一用
xxx_id格式 - 时间字段统一使用:
created_at、updated_at - 逻辑删除字段:
deleted_at(如使用软删)
4. 表结构设计
4.1 表:kline(市场K线数据表)
| 字段名 | 类型 | 长度 | 是否为NULL | 是否自增 | 是否主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|
| symbol | VARCHAR | 255 | 否 | 否 | 否 | - | 货币对符号 |
| period | VARCHAR | 255 | 否 | 否 | 否 | - | 周期 s->秒 m->分 h->小时等 |
| event_time | BIGINT | 64 | 否 | 否 | 否 | - | 事件时间 |
| open | DECIMAL(32,16) | 255 | 否 | 否 | 否 | - | 周期内开盘价 |
| close | DECIMAL(32,16) | 255 | 否 | 否 | 否 | - | 周期内收盘价 |
| high | DECIMAL(32,16) | 255 | 否 | 否 | 否 | - | 周期内最高成交价 |
| low | DECIMAL(32,16) | 255 | 否 | 否 | 否 | - | 周期内最低成交价 |
| open_time | BIGINT | 64 | 否 | 是 | 是 | - | 开盘时间(主键,自增) |
| close_time | BIGINT | 64 | 否 | 否 | 否 | - | 收盘时间 |
| quote_volume | DECIMAL(32,16) | 255 | 否 | 否 | 否 | - | 成交额 |
| volume | DECIMAL(32,16) | 255 | 否 | 否 | 否 | - | 成交量 |
| count | BIGINT | 64 | 否 | 否 | 否 | - | 周期内总交易笔数 |
| checked | TINYINT | 8 | 否 | 否 | 否 | 0 | 是否已验证:1->已验证;0->未验证 |
kline表用于记录市场K线数据,支持多种周期和币对。
5. 表关系设计(ER 图)
6. 安全与审计字段
建议每张表都增加以下字段(如适用):
created_at、updated_at:记录操作时间deleted_at:逻辑删除字段
