- 创建普拉提分类和动作数据的SQL导入脚本,支持垫上普拉提和器械普拉提的分类管理 - 实现数据库结构迁移脚本,添加新字段以支持普拉提类型和器械名称 - 更新数据库升级总结文档,详细说明数据库结构变更和数据导入步骤 - 创建训练会话相关表,支持每日训练实例功能 - 引入训练会话管理模块,整合训练计划与实际训练会话的关系
136 lines
4.4 KiB
Markdown
136 lines
4.4 KiB
Markdown
# 普拉提数据库设计升级总结
|
|
|
|
## 概述
|
|
|
|
根据完整的普拉提训练资料,对现有的训练分类和动作数据库设计进行了全面升级,以更好地支持垫上普拉提和器械普拉提的管理。
|
|
|
|
## 数据库结构变更
|
|
|
|
### 1. 分类表 (t_exercise_categories) 新增字段
|
|
|
|
| 字段名 | 类型 | 说明 |
|
|
|--------|------|------|
|
|
| `pilates_type` | ENUM('mat_pilates', 'equipment_pilates') | 普拉提类型:垫上普拉提或器械普拉提 |
|
|
| `equipment_name` | VARCHAR(255) | 器械名称(仅器械普拉提需要) |
|
|
|
|
### 2. 动作表 (t_exercises) 新增字段
|
|
|
|
| 字段名 | 类型 | 说明 |
|
|
|--------|------|------|
|
|
| `target_muscle_groups` | TEXT | 主要锻炼肌肉群 |
|
|
| `equipment_name` | VARCHAR(255) | 器械名称(器械普拉提专用) |
|
|
| `beginner_reps` | INTEGER | 入门级别建议练习次数 |
|
|
| `beginner_sets` | INTEGER | 入门级别建议组数 |
|
|
| `breathing_cycles` | INTEGER | 呼吸循环次数(替代普通次数) |
|
|
| `hold_duration` | INTEGER | 保持时间(秒) |
|
|
| `special_instructions` | VARCHAR(255) | 特殊说明(如每侧、前后各等) |
|
|
|
|
## 数据分类架构
|
|
|
|
### 垫上普拉提 (Mat Pilates)
|
|
- **分类**: 垫上普拉提
|
|
- **动作数量**: 10个经典动作
|
|
- **特点**: 无需器械,专注基础动作和呼吸控制
|
|
|
|
### 器械普拉提 (Equipment Pilates)
|
|
|
|
#### 1. 核心床 (Reformer)
|
|
- **动作数量**: 6个
|
|
- **主要功能**: 脚部练习、核心强化、全身协调
|
|
|
|
#### 2. 凯迪拉克 (Cadillac)
|
|
- **动作数量**: 4个
|
|
- **主要功能**: 弹簧阻力训练、上下肢力量、脊柱控制
|
|
|
|
#### 3. 普拉提椅 (Chair)
|
|
- **动作数量**: 5个
|
|
- **主要功能**: 坐姿训练、平衡挑战、功能性动作
|
|
|
|
#### 4. 普拉提桶 (Barrel)
|
|
- **动作数量**: 5个
|
|
- **主要功能**: 脊柱伸展、侧向柔韧性、平衡训练
|
|
|
|
## 数据导入内容
|
|
|
|
### 完整动作列表 (共30个动作)
|
|
|
|
#### 垫上普拉提动作
|
|
1. 百次拍打 - 核心肌群、呼吸肌群、肩部稳定性
|
|
2. 卷起 - 核心肌群、脊柱灵活性、腘绳肌柔韧性
|
|
3. 单腿画圈 - 核心稳定性、髋关节灵活性
|
|
4. 滚球 - 核心肌群、脊柱柔韧性、平衡感
|
|
5. 单腿伸展 - 核心肌群、髋屈肌、股四头肌
|
|
6. 双腿伸展 - 核心肌群、髋屈肌、股四头肌、肩部稳定性
|
|
7. 脊柱伸展 - 脊柱柔韧性、腘绳肌伸展、核心控制
|
|
8. 锯式 - 腹斜肌、背部伸肌、脊柱旋转灵活性
|
|
9. 天鹅式 - 背部伸肌、臀肌、腘绳肌
|
|
10. 肩桥 - 臀肌、腘绳肌、下背部、脊柱灵活性
|
|
|
|
#### 器械普拉提动作 (20个)
|
|
涵盖核心床、凯迪拉克、普拉提椅、普拉提桶四种器械的专业动作
|
|
|
|
## 数据特点
|
|
|
|
### 精准的训练参数
|
|
- **次数建议**: 针对入门级别的具体练习次数
|
|
- **组数设置**: 部分动作包含多组训练
|
|
- **呼吸循环**: 特殊动作使用呼吸循环替代次数
|
|
- **保持时间**: 静态动作的保持时长
|
|
- **特殊说明**: 详细的练习要求和注意事项
|
|
|
|
### 肌肉群定位
|
|
每个动作都明确标注主要锻炼的肌肉群,便于:
|
|
- 训练计划制定
|
|
- 肌肉群平衡分析
|
|
- 个性化推荐算法
|
|
|
|
## 文件清单
|
|
|
|
1. **pilates-database-migration.sql** - 数据库结构迁移脚本
|
|
2. **pilates-data-import.sql** - 完整数据导入脚本
|
|
3. **pilates-database-upgrade-summary.md** - 本总结文档
|
|
|
|
## 使用说明
|
|
|
|
### 1. 数据库升级步骤
|
|
```sql
|
|
-- 1. 执行结构迁移
|
|
source docs/pilates-database-migration.sql;
|
|
|
|
-- 2. 导入数据
|
|
source docs/pilates-data-import.sql;
|
|
```
|
|
|
|
### 2. 验证导入结果
|
|
```sql
|
|
-- 查看分类统计
|
|
SELECT
|
|
ec.name as category_name,
|
|
ec.pilates_type,
|
|
ec.equipment_name,
|
|
COUNT(e.key) as exercise_count
|
|
FROM t_exercise_categories ec
|
|
LEFT JOIN t_exercises e ON ec.key = e.category_key
|
|
GROUP BY ec.key, ec.name, ec.pilates_type, ec.equipment_name
|
|
ORDER BY ec.sort_order;
|
|
```
|
|
|
|
## 技术改进
|
|
|
|
### 1. 模型层更新
|
|
- 更新了 `ExerciseCategory` 和 `Exercise` 模型
|
|
- 添加新字段的 TypeScript 类型定义
|
|
- 保持向后兼容性
|
|
|
|
### 2. 服务层增强
|
|
- 更新 `ExercisesService` 以支持新字段
|
|
- 添加普拉提类型和器械名称的辅助方法
|
|
- 完善数据导入功能
|
|
|
|
### 3. DTO接口扩展
|
|
- 扩展 `ExerciseDto` 和 `ExerciseCategoryDto` 接口
|
|
- 添加训练参数相关字段
|
|
- 支持完整的普拉提训练信息
|
|
|
|
这次升级使数据库能够完整支持专业的普拉提训练管理,为后续的训练计划制定、进度跟踪和个性化推荐提供了坚实的数据基础。
|