Browse Source

update 表结构调整优化

YueYunyun 3 months ago
parent
commit
aef17a6331
1 changed files with 146 additions and 102 deletions
  1. 146 102
      README_DEV.md

+ 146 - 102
README_DEV.md

@@ -1,35 +1,41 @@
 # 智能题库学习系统 (Smart Question Bank Learning System)
 
-## 项目简介
+[Previous content remains unchanged...]
 
-这是一个基于 Python 开发的智能题库学习系统,旨在帮助学生进行高效的题目练习和知识掌握。系统具备题目管理、智能练习、错题本、学习进度追踪等功能,让学习更有针对性和效果。
+## 数据模型说明
 
-## 主要功能
+### BaseModel
 
-### 1. 题库管理
+- 基础模型,包含 id、创建时间、更新时间等通用字段
+- 提供 CRUD 操作的基类功能
+- 继承自 SQLAlchemy 的 Base 类
 
-- 支持多学科题目录入(数学、语文、英语等)
-- 题目分类管理(按照难度、知识点、题型等)
-- 支持多种题型(选择题、填空题、简答题等)
-- 每道题目包含详细解析和知识点说明
-- 题目标签系统,方便分类和搜索
+### UserModel
 
-### 2. 智能练习
+- 用户模型,对应 sys_users 表
+- 包含用户名、密码、年级等字段
+- 与 RoleModel 多对多关系
 
-- 根据学生水平自动推荐适合的题目
-- 支持自选题型和难度进行练习
-- 练习过程中即时查看答案和解析
-- 练习完成后显示得分和错题分析
-- 优化推荐算法,结合用户历史表现和学习目标
-- 个性化推荐,根据用户偏好推荐题目
-- 自适应练习模式,动态调整题目难度
+### RoleModel
 
-### 3. 错题本功能
+- 角色模型,对应 sys_roles 表
+- 包含角色名称、代码、描述等字段
+- 与 UserModel 和 PermissionModel 多对多关系
 
-- 自动收集做错的题目
-- 错题分类整理
-- 支持错题重复练习
-- 错题数据分析,找出薄弱知识点
+### PermissionModel
+
+- 权限模型,对应 sys_permissions 表
+- 包含权限名称、代码、描述等字段
+- 与 RoleModel 多对多关系
+
+### UserRoleModel
+
+- 用户-角色关联表模型,对应 sys_user_roles 表
+- 包含 user_id 和 role_id 两个外键
+
+### RolePermissionModel
+
+- 角色-权限关联表模型,对应 sys_role_permissions 表
 - 错题原因分析,帮助用户理解错误原因
 - 错题标签,方便分类和复习
 - 错题相似题推荐,巩固薄弱知识点
@@ -60,13 +66,13 @@
 - username: 用户名
 - password: 密码
 - grade: 年级
-- create_time: 创建时间
-- update_time: 更新时间
-- create_id: 创建者 ID
-- update_id: 更新者 ID
+- create_at: 创建时间
+- update_at: 更新时间
+- create_by: 创建者 ID
+- update_by: 更新者 ID
 - is_deleted: 是否删除 (0:未删除, 1:已删除)
-- delete_time: 删除时间
-- delete_id: 删除者 ID
+- delete_at: 删除时间
+- delete_by: 删除者 ID
 - preferences: 学习偏好
 - goals: 学习目标
 - learning_style: 学习风格
@@ -79,21 +85,21 @@
 - code: 角色代码
 - description: 角色描述
 - status: 状态(0:禁用,1:启用)
-- create_id: 创建者 ID
-- create_time: 创建时间
-- update_id: 更新者 ID
-- update_time: 更新时间
+- create_by: 创建者 ID
+- create_at: 创建时间
+- update_by: 更新者 ID
+- update_at: 更新时间
 - is_deleted: 是否删除 (0:未删除, 1:已删除)
-- delete_time: 删除时间
-- delete_id: 删除者 ID
+- delete_at: 删除时间
+- delete_by: 删除者 ID
 
-### 系统用户角色表(sys_user_roles)
+### 系统用户角色表(sys_user_roles) 用户与角色多对多
 
 - id: 主键 ID
 - user_id: 用户 ID
 - role_id: 角色 ID
-- create_time: 创建时间
-- create_id: 创建者 ID
+- create_at: 创建时间
+- create_by: 创建者 ID
 
 ### 系统权限表(sys_permissions)
 
@@ -102,23 +108,23 @@
 - score: 权限作用域 U: 用户,R: 角色
 - value: 权限值
 - description: 权限描述
-- create_time: 创建时间
-- create_id: 创建者 ID
+- create_at: 创建时间
+- create_by: 创建者 ID
 
-### 字典类型表(sys_dict_type)
+### 字典类型表(sys_dict_type) 可以有多个字典数据,一对多
 
 - id: 字典类型 ID
 - name: 字典名称
 - type: 字典类型
 - status: 状态(0:禁用,1:启用)
 - remark: 备注
-- create_id: 创建者 ID
-- create_time: 创建时间
-- update_id: 更新者 ID
-- update_time: 更新时间
+- create_by: 创建者 ID
+- create_at: 创建时间
+- update_by: 更新者 ID
+- update_at: 更新时间
 - is_deleted: 是否删除 (0:未删除, 1:已删除)
-- delete_time: 删除时间
-- delete_id: 删除者 ID
+- delete_at: 删除时间
+- delete_by: 删除者 ID
 
 ### 字典数据表(sys_dict_data)
 
@@ -129,15 +135,15 @@
 - sort: 排序
 - status: 状态(0:禁用,1:启用)
 - remark: 备注
-- create_id: 创建者 ID
-- create_time: 创建时间
-- update_id: 更新者 ID
-- update_time: 更新时间
+- create_by: 创建者 ID
+- create_at: 创建时间
+- update_by: 更新者 ID
+- update_at: 更新时间
 - is_deleted: 是否删除 (0:未删除, 1:已删除)
-- delete_time: 删除时间
-- delete_id: 删除者 ID
+- delete_at: 删除时间
+- delete_by: 删除者 ID
 
-### 题目表(questions)
+### 题目表(questions) 包含多个选项,一对多
 
 - id: 题目 ID
 - subject: 学科
@@ -146,39 +152,29 @@
 - content: 题目内容
 - answer: 答案
 - explanation: 解析
-- knowledge_points: 相关知识点
 - version: 题目版本
-- status: 审核状态
 - tags: 题目标签
-- creator_id: 题目创建者
-- reviewer_id: 题目审核者
-- create_time: 创建时间
-- update_time: 更新时间
-- create_id: 创建者 ID
-- update_id: 更新者 ID
+- create_at: 创建时间
+- update_at: 更新时间
+- create_by: 创建者 ID
+- update_by: 更新者 ID
 - is_deleted: 是否删除 (0:未删除, 1:已删除)
-- delete_time: 删除时间
-- delete_id: 删除者 ID
+- delete_at: 删除时间
+- delete_by: 删除者 ID
 
-### 练习记录表(practice_records)
+### 题目选项表(question_options)
 
-- id: 记录 ID
-- user_id: 用户 ID
+- id: 选项 ID
 - question_id: 题目 ID
-- is_correct: 是否正确
-- practice_time: 练习时间
-- time_spent: 用时
-- steps: 答题步骤
-- thinking_time: 思考时间
-- confidence_level: 答题信心
-- feedback: 用户反馈
-- create_id: 创建者 ID
-- create_time: 创建时间
-- update_id: 更新者 ID
-- update_time: 更新时间
+- content: 选项内容
+- is_correct: 是否正确答案
+- create_at: 创建时间
+- update_at: 更新时间
+- create_by: 创建者 ID
+- update_by: 更新者 ID
 - is_deleted: 是否删除 (0:未删除, 1:已删除)
-- delete_time: 删除时间
-- delete_id: 删除者 ID
+- delete_at: 删除时间
+- delete_by: 删除者 ID
 
 ### 知识点表(knowledge_points)
 
@@ -188,32 +184,80 @@
 - subject: 所属学科
 - difficulty: 难度等级
 - prerequisite: 先修知识点
-- create_id: 创建者 ID
-- create_time: 创建时间
-- update_id: 更新者 ID
-- update_time: 更新时间
+- create_by: 创建者 ID
+- create_at: 创建时间
+- update_by: 更新者 ID
+- update_at: 更新时间
 - is_deleted: 是否删除 (0:未删除, 1:已删除)
-- delete_time: 删除时间
-- delete_id: 删除者 ID
+- delete_at: 删除时间
+- delete_by: 删除者 ID
+
+### 题目知识点关联表(question_knowledge_points) 多对多
+
+- id: 关联 ID
+- question_id: 题目 ID
+- knowledge_point_id: 知识点 ID
+- create_at: 创建时间
+- create_by: 创建者 ID
 
-### 学习路径表(learning_paths)
+### 错题表(wrong_questions)
 
-- id: 路径 ID
+- id: 错题 ID
 - user_id: 用户 ID
-- target_knowledge_point: 目标知识点
-- path: 学习路径
-- progress: 当前进度
-- create_id: 创建者 ID
-- create_time: 创建时间
-- update_id: 更新者 ID
-- update_time: 更新时间
+- question_id: 题目 ID
+- user_answer: 用户答案
+- correct_answer: 正确答案
+- analysis: 解析
+
+### 练习表(exercises)
+
+- id: 练习 ID
+- name: 练习名称
+- subject: 学科
+- difficulty: 难度等级
+- type: 涉及的题型
+- create_by: 创建者 ID
+- create_at: 创建时间
+- update_by: 更新者 ID
+- update_at: 更新时间
 - is_deleted: 是否删除 (0:未删除, 1:已删除)
-- delete_time: 删除时间
-- delete_id: 删除者 ID
+- delete_at: 删除时间
+- delete_by: 删除者 ID
+
+### 练习题目关联表(exercise_question_relations) 一对多
+
+- id: 关联 ID
+- exercise_id: 练习 ID
+- question_id: 题目 ID
+- create_by: 创建者 ID
+- create_at: 创建时间
+
+### 练习记录表(exercise_records)
+
+- id: 练习记录 ID
+- user_id: 用户 ID
+- exercise_id: 练习 ID
+- start_time: 开始时间
+- end_time: 结束时间
+- duration: 练习时长
+- score: 练习得分
+- create_by: 创建者 ID
+- create_at: 创建时间
+
+### 练习记录详情表(exercise_record_details) 一对多
+
+- id: 练习记录详情 ID
+- exercise_record_id: 练习记录 ID
+- question_id: 题目 ID
+- correct_answer: 正确答案
+- user_answer: 用户答案
+- is_correct: 是否正确
+- last_update_time: 最后更新时间
 
 ### 考试成绩表(exam_scores)
 
 - id: 成绩 ID
+- exercise_id: 练习 ID (可选,用于记录考试成绩)
 - user_id: 用户 ID
 - exam_name: 考试名称
 - subject: 考试科目
@@ -221,13 +265,13 @@
 - total_score: 总分
 - exam_date: 考试日期
 - remark: 备注
-- create_time: 创建时间
-- update_time: 更新时间
-- create_id: 创建者 ID
-- update_id: 更新者 ID
+- create_at: 创建时间
+- update_at: 更新时间
+- create_by: 创建者 ID
+- update_by: 更新者 ID
 - is_deleted: 是否删除 (0:未删除, 1:已删除)
-- delete_time: 删除时间
-- delete_id: 删除者 ID
+- delete_at: 删除时间
+- delete_by: 删除者 ID
 
 ## 使用说明