This repository has been archived on 2024-06-23. You can view files and clone it, but cannot push or open issues or pull requests.
mathdeptv2/文档/数据库结构及内容.md

159 lines
4.1 KiB
Markdown

# 题目数据库
## 文件名: ``Problems.json``
## 内容
题库
## 文件结构:
每一道题是一个字典, 字典以题目id为键值, 字典内容如下
### ``id``
六位字符串. 题目id, 即题号, 每道题目唯一对应一个题号
### ``content``
字符串. 题目内容, 含图, 表等. 是题目的$\LaTeX$源代码
### ``objs``
数组. 题目对应的课时学习目标代码, 若无对应目标则数组中包含唯一字符串"KNONE"(大写)
### ``tags``
数组. 题目标签, 包含但不限于与题目有关的单元等信息, 便于用字符串进行搜索
### ``genre``
字符串. 题目类型, 目前有
- 填空题
- 选择题
- 解答题
这三种选择
### ``ans``
字符串. 简要答案
### ``solution``
字符串. 详细解答
### ``duration``
浮点数. 正数表示预计解答该题所需时间, -1表示暂无预计.
### ``usages``
数组. 每一个元素表示一条使用记录, 一般分为多个用\t分隔的子字符串, 从前至后分别为:
- 日期(yyyymmdd)
- 班级(20xx届高xxx班, 班号为两位数字, 如03班, 11班等)
- (一个或多个)难度([0,1]之间的数值字符串, 保留3位小数)
以下为两个实例:
- "20220908\t2023届高三02班\t0.879"
- "20220907\t2023届高三02班\t1.000\t0.750"
### ``origin``
字符串. 题目出处, 尽可能详细
### ``edit``
数组. 编辑历史, 一般每一个元素为两个用\t分隔的子字符串, 从前至后分别为:
- 日期(yyyymmdd)
- 编辑人姓名
### ``same``
数组. 相同题目的id列表
### ``related``
数组. 相关题目的id列表, 此处"相关"表示其中一题是另一题的明显变式, 解题方式基本完全一致, 或者某一题是另一题的一部分, 比如少了一小题等.
### ``remark``
字符串. 注释, 一般包含使用后的主观感受及常见错误原因等
### ``space``
字符串. 编入讲义时的预留空间, 一般为"数值ex"格式等, 例如"24ex", 在$\LaTeX$文件中直接用"\vspace{}"命令添加竖直空白时大括号内的内容
### ``unrelated``
数组. 无关题目的id列表
# 单元名数据库
## 文件名: ``UnitNames.json``
## 内容:
单元名称
## 文件结构:
字典. 每条记录的内容为"单元序号":"单元名". 目前一共有9个单元
# 单元目标数据库
## 文件名: ``UnitObj.json``
## 内容:
单元学习目标
## 文件结构:
每一条单元目标是一个字典, 字典以目标id为键值, 字典内容如下
### ``id``
字符串. 规则为"D"+<单元序号2位>+<目标序号3位>+"B"或"X"(必修或选择性必修), 共7位的字符串, 中间5位数字不重复
### ``content``
字符串. 单元学习目标的内容
### ``editor``
数组. 编辑历史, 一般每一个元素为两个用\t分隔的子字符串, 从前至后分别为:
- 编辑(修订)人姓名
- 日期(yyyymmdd)
# 课时划分数据库
## 文件名: ``LessonsCut.json``
## 内容:
课时划分列表
## 文件结构:
每一条记录是一个字典, 字典以课时id为键值, 规则是"K"+<单元序号2位>+<当前单元课时序号2位>, 与课时学习目标的前五位完全相同. 字典内容如下
### ``unit``
字符串. 规则为"D"+<单元序号2位>
### ``lesson``
字符串. 与课时id一致, "K"+<单元序号2位>+<当前单元课时序号2位>
### ``start``
字符串. 教材分册及该课时对应教材内容起始页码, 如果分为多段, 多个起始页码之间用"半角逗号加一个空格"分隔
### ``end``
字符串. 教材分册及该课时对应教材内容终止页码, 如果分为多段, 多个终止页码之间用"半角逗号加一个空格"分隔
# 课时目标数据库
## 文件名: ``LessonsObj.json``
## 内容:
课时学习目标
## 文件结构:
每一条课时目标是一个字典, 字典以目标id为键值, 字典内容如下
### ``id``
字符串. 规则为"K"+<单元序号2位>+<当前单元课时序号2位>+<当前课时目标序号3位>+"B"或"X"(必修或选择性必修). 共9位的字符串, 中间7位数字不重复
### ``unit_obj``
字符串. 该课时学习目标从属的单元学习目标id, 需符合单元学习目标id的命名规则
### ``content``
字符串. 课时学习目标的内容