# 01 Core - study_season 表录入说明

来源：`docs/requirements/01-core-data-entry-requirements.md`

## 录入目标

`study_season` 是给 study 绑定 season 的关系表。一个 study 可以关联多个 season，用于多季节筛选、统计和 Study 工作台上下文展示。

## 前置依赖和下游引用

| 类型 | 内容 |
| --- | --- |
| 表 | `study_season` |
| 前置依赖 | `study`、`season` |
| 下游引用 | Study 工作台季节展示、多季节筛选和统计 |

## 页面入口

| 页面 | 录入要求 |
| --- | --- |
| Study 新增/编辑页 | 季节区域多选 season |
| Study 工作台 | 展示 study 关联 season |
| 批量导入 | 支持通过 Core 导入流程导入 study 与 season 关系 |

## 字段录入

| 字段 | 类型 | 控件 | 录入说明 | 校验/来源 |
| --- | --- | --- | --- | --- |
| `study_db_id` | varchar(255) | Study 选择器 | 所属 study | 必选，来源 `study.id` |
| `season_db_id` | varchar(255) | Season 选择器 | 关联季节 | 必选，来源 `season.id` |

## 校验规则

1. `study_db_id` 必选，且必须引用已存在的 `study.id`。
2. `season_db_id` 必选，且必须引用已存在的 `season.id`。
3. 同一 study 下不建议重复绑定同一个 season。

## 接口能力

| 接口 | 用途 |
| --- | --- |
| `GET /studies/{id}/seasons` | study 季节，返回 season 列表 |

本文档原始需求未强制限定 study_season 的写入 URL。实现时可以随 study 新增/编辑一起保存，也可以提供 study season 子资源接口；前端需要具备新增、删除、查询 study season 的能力。

## 导入导出

1. 支持通过 Core 导入流程导入 `study_season`。
2. 外键列支持填写 ID；可额外支持名称匹配，但名称重复时必须报错。
3. 导入时需要校验 study 和 season 是否存在。
4. 错误报告返回行号、字段名、错误原因、建议修正方式。

## 删除/停用

`study_season` 是关系记录，可在 Study 新增/编辑页或工作台移除。删除关系不应删除 `study` 或 `season` 主数据。

## 验收点

1. Study 新增/编辑页可多选 season。
2. Study 工作台能展示关联 season。
3. 删除 study_season 后，season 主数据仍保留。
