# 03 Genotyping - reference_bases 表录入说明

来源：`docs/architecture/03-genotyping-data-flow.md`

## 录入目标

`reference_bases` 保存 reference 的序列片段或分页内容。它是参考序列的明细表，通常通过导入或后端任务写入。

## 上下游关系

| 类型 | 内容 |
| --- | --- |
| 表 | `reference_bases` |
| Java 实体 | `ReferenceBasesPageEntity` |
| 前置依赖 | `reference` |
| 下游引用 | 无 |

## 字段录入

| 字段 | 业务意义 | 录入方式 | 校验规则 |
| --- | --- | --- | --- |
| `id` | reference bases 主键 | 系统生成；导入时可指定 | 必填、唯一 |
| `auth_user_id` | 数据所属用户 | 登录上下文自动写入 | 不允许前端手填 |
| `reference_id` | 所属 reference | Reference 选择器/导入 | 必选，必须存在 |
| `page_number` | 分页序号 | 数字输入/导入 | 同一 reference 内建议唯一 |
| `bases` | 碱基序列片段 | 文本/文件导入 | 最大 2048 字符；建议仅允许 A/C/G/T/N 等字符 |

## 页面与交互

- 一般不单独提供复杂 CRUD，可在 Reference 详情页查看或导入。
- 长序列建议走文件导入或异步任务，不建议手工逐页录入。

## 关键校验

1. `reference_id` 必须存在。
2. `bases` 长度不能超过数据库字段限制。
3. 同一 reference 下 `page_number` 不应重复。
