04 金融系统数据库设计
大约 1 分钟
04 金融系统数据库设计
目标
设计金融系统的核心数据库,满足以下要求:
- 支持高并发查询
- 完整的审计日志
- 资金安全和数据一致性
- 易于扩展(分库分表预留)
核心表设计
用户表(user)
CREATE TABLE user (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) UNIQUE NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
phone VARCHAR(20),
status TINYINT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
账户表(account)
资金账户核心表,支持多币种...
订单表(order)
订单生命周期管理...
支付记录表(payment)
第三方支付对接...
设计原则
版本管理
使用 Flyway 管理数据库迁移:
db/migration/
├── V1.0__init_user_tables.sql
├── V1.1__add_account_tables.sql
└── V1.2__add_payment_tables.sql