52 lines
4.4 KiB
Markdown
52 lines
4.4 KiB
Markdown
## 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
|
||
```
|
||
|