query-database/docs/PRD-MySQL查询练习网站.md
2026-03-25 15:46:20 +08:00

52 lines
4.4 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.

## 1. Product Overview
面向初学者到进阶用户的 MySQL 查询练习网站,提供分级题目、可运行的在线 SQL 练习环境与学习引导。
支持使用内置模拟数据库或导入你的自定义数据库,在真实数据结构上练习查询。
新增:通过“模块(电商/人事)”把题库与推荐数据库强绑定,降低新手决策成本。
## 2. Core Features
### 2.1 Feature Module
本产品由以下核心页面构成:
1. **登录/注册页**:账号登录注册、找回入口、登录后跳转。
2. **首页(题目与引导)**:新手引导入口/首次引导、模块与题目分级筛选、继续上次练习、当前数据库提示。
3. **练习页SQL 编辑与判题)**题目描述、SQL 编辑器、运行与结果展示、答案校验与提示、进度保存。
4. **数据库管理页**:选择模拟数据库、导入自定义数据库(上传初始化脚本/数据)、查看当前激活数据库。
### 2.2 Page Details
| Page Name | Module Name | Feature description |
|-----------|-------------|---------------------|
| 登录/注册页 | 登录注册 | 支持邮箱/密码注册与登录;登录成功后进入首页;展示基础校验与错误提示。 |
| 首页(题目与引导) | 新手引导 | 首次登录自动触发分步引导:如何选库、如何选题、如何运行 SQL支持“跳过/下次再看/重新查看”。 |
| 首页(题目与引导) | 题目分级与列表 | 按**新手/一般/进阶**分级展示;支持按关键词搜索与按状态(未做/已做)筛选;点击进入练习页。 |
| 首页(题目与引导) | 模块-题库强关联 | 题目默认只展示你选择的模块;切换模块(可选能力)会同步影响题库与推荐模拟库。 |
| 首页(题目与引导) | 继续练习 | 展示你最近一次练习的题目与当前激活数据库,支持一键继续。 |
| 练习页SQL 编辑与判题) | 题目内容 | 展示题目描述、目标输出说明(字段/排序/过滤要求)、关联的数据库/表信息入口。 |
| 练习页SQL 编辑与判题) | SQL 编辑与运行 | 提供 SQL 编辑器;运行当前 SQL展示运行耗时与错误信息支持重置为上次保存草稿。 |
| 练习页SQL 编辑与判题) | 结果与校验 | 展示查询结果表格;将结果与标准答案进行对比判定(通过/未通过);未通过时展示最小必要提示(如缺字段/行数不一致)。 |
| 练习页SQL 编辑与判题) | 进度保存 | 自动保存你的 SQL 草稿与通过状态;返回首页后可按状态筛选。 |
| 数据库管理页 | 模拟数据库选择 | 列出内置模拟数据库(名称、简介、表数量);选择后设为当前激活数据库并影响做题环境。 |
| 数据库管理页 | 导入自定义数据库 | 上传你的初始化 SQL建表+插入数据);显示导入进度与成功/失败原因;导入成功后可设为激活数据库。 |
| 数据库管理页 | 当前库概览 | 展示当前激活数据库的基本信息(名称、导入时间、表列表入口/只读预览)。 |
### 2.3 Module Rules模块规则
- 模块:`电商(shop)`、`人事(hr)`。
- 题目:每道题绑定一个 `databaseKey`(例如 `shop` 题只能在电商模拟库中判题)。
- 推荐库:当你完成首次引导且未激活任何数据库时,系统会自动激活与你模块匹配的模拟库(电商→电商库;人事→人事库)。
- 防误操作:当你在练习页运行 SQL 时,如果当前激活库与本题不匹配,系统提示“一键切换到推荐库”。
## 3. Core Process
- 账号流程:你在登录/注册页完成注册或登录后进入首页;首次登录会弹出新手引导,帮助你完成“选数据库 → 选题 → 运行 SQL → 查看结果”的最短路径。
- 练习流程:你在首页按新手/一般/进阶选择题目进入练习页;在编辑器输入 SQL 并运行;系统展示结果并进行校验;通过后记录进度,未通过给出必要提示;你可随时返回首页继续下一题。
- 数据库流程:你在数据库管理页选择一个模拟数据库作为当前练习环境,或上传初始化 SQL 导入自定义数据库;导入成功后可将其设为激活数据库,之后做题运行都基于该数据库。
```mermaid
graph TD
A["登录/注册页"] --> B["首页(题目与引导)"]
B --> C["练习页SQL 编辑与判题)"]
B --> D["数据库管理页"]
D --> B
C --> B
```