fischerX/docs/design/database/schema.md

85 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 数据库 Schema 设计
> **文档版本**: v1.0.0
> **创建日期**: 2026-05-25
> **最后更新**: 2026-05-25
> **文档作者**: 后端开发
> **文档状态**: 草稿
> **适用范围**: 后端开发、DBA
## 目录
- [一、数据库选型](#一数据库选型)
- [二、核心表结构](#二核心表结构)
- [三、ER 图](#三er-图)
---
## 一、数据库选型
使用 PostgreSQL 15+ 作为主数据库。
---
## 二、核心表结构
### 2.1 用户表 (users)
| 字段名 | 类型 | 说明 | 约束 |
|--------|------|------|------|
| id | UUID | 用户 ID | PK |
| phone | VARCHAR(20) | 手机号 | UNIQUE |
| email | VARCHAR(100) | 邮箱 | UNIQUE |
| nickname | VARCHAR(50) | 昵称 | |
| avatar | VARCHAR(255) | 头像 URL | |
| status | SMALLINT | 状态 | |
| created_at | TIMESTAMP | 创建时间 | |
| updated_at | TIMESTAMP | 更新时间 | |
### 2.2 订单表 (orders)
| 字段名 | 类型 | 说明 | 约束 |
|--------|------|------|------|
| id | UUID | 订单 ID | PK |
| user_id | UUID | 用户 ID | FK |
| order_no | VARCHAR(50) | 订单号 | UNIQUE |
| amount | DECIMAL(10,2) | 订单金额 | |
| status | SMALLINT | 订单状态 | |
| created_at | TIMESTAMP | 创建时间 | |
| updated_at | TIMESTAMP | 更新时间 | |
---
## 三、ER 图
```mermaid
erDiagram
users ||--o{ orders : "拥有"
users {
uuid id PK
varchar phone
varchar email
varchar nickname
varchar avatar
smallint status
timestamp created_at
timestamp updated_at
}
orders {
uuid id PK
uuid user_id FK
varchar order_no
decimal amount
smallint status
timestamp created_at
timestamp updated_at
}
```
---
> **文档维护**: 本文档由后端开发维护Schema 变更时更新
> **反馈渠道**: 如有问题,请联系后端负责人
> **最后更新**: 2026-05-25
> **文档状态**: 草稿