-
Notifications
You must be signed in to change notification settings - Fork 0
数据库文档
cnarutox edited this page May 12, 2019
·
4 revisions
- id:用户表id,自增主键
- password_hash:密码
- name:用户名
- id_user_status:【来自user_status的外键】标识用户状态
- email:用户电子邮件
- id_gender:【来自gender的外键】标识用户性别
- id:学生表id,自增主键
- student_number:学生编号
- id_user:【来自user的外键】是哪个user的特化
- rank_score:标明积分
- room:寝室
- province:省份
- class:班级
区分主讲教师和助教
- id:课程表id,自增主键
- code:课程编号
- name:课程名称
- start_time:课程开始时间
- end_time:课程结束时间
- description:课程描述
- created_at:课程创建/复制时间
- modified_at:课程最近修改时间
- id:课程资源id,自增主键
- name:课程资源名
- path:课程资源存储路径
- size:课程资源大小
- created_at:课程资源创建时间
- modified_at:课程资源上次修改时间
- id:主讲课表id,自增主键
- id_course:【来自course的外键】属于哪个课程
- name:主讲课名称
- description:主讲课描述
- created_at:主讲课创建/复制时间
- modified_at:主讲课最近修改时间
- id:实验课id,自增主键
- id_course:【来自course的外键】属于哪个课程
- name:实验课名称
- description:实验课描述
- start_time:实验课开始时间
- end_time:实验课结束时间
- attachment_weight:实验报告占比成绩权重
- problem_weight:实验题目占比成绩权重
- created_at:课程创建/复制时间
- modified_at:课程最近修改时间
- report_required:是否需要提交实验报告
- id:题目id,自增主键
- code:题目编号
- name:题目名称
- description:题目描述
- runtime_limit:运行时长限制
- memory_limit:运行空间限制
- created_at:课程创建/复制时间
- modified_at:课程最近修改时间
- id_teacher:【来自teacher的外键】出题老师编号
- id:标签id,自增主键
- name:标签名
- type:标签类型【0代表题目标签,1代表测例标签】
存储题目和标签的一对多关系
- id:测例id,自增主键
- input:测例输入
- output:测例输出
- type:测例类型【0代表测试案例,1代表示例案例】
- id_problem:【来自problem的外键】测例所属问题
- weight:每个测例在问题计分中所占权重
存储测例和标签的一对多关系
注意此处在别的表中不会使用外键进行访问,而是用二进制掩码进行信息存储
- id:实验课题目id,自增主键
- id_lab:【来自lab的外键】属于哪个实验课
- id_problem:【来自problem的外键】标识哪道题目
- weight:该题目在当次实验课所占权重
- language:二进制掩码【10011(2)表示使用language表中编号为1,2,16的语言】标识使用语言
- id:练习题id,自增主键
- id_lecture:【来自lecture的外键】属于哪个主讲课
- id_problem:【来自problem的外键】标识哪个题目
- language:二进制掩码【10011(2)表示使用language表中编号为1,2,16的语言】标识使用语言
- id:提交id,自增主键
- id_problem:【来自problem的外键】提交属于哪个题目
- id_student:【来自student的外键】提交属于哪个学生
- code:提交代码
- created_at:提交时间
- runtime:运行用时
- memory:运行内存
- IP:提交地址
- id:未通过提交的未通过案例id,自增主键
- id_problem_submission:【来自problem_submission的外键】属于哪个提交
- id_case:【来自case的外键】属于哪个案例
- id_case_status:【来自case_status的外键】属于哪个错误状态
- output_info:对外报错信息
每个学生,每次实验提交只有一条记录,重复提交需修改数据库记录
- id:实验课提交id,自增主键
- id_student:【来自student的外键】标识哪个学生提交
- id_lab:【来自lab的外键】属于哪个实验
- submission_time:提交时间
- attachment_grade:实验报告成绩
- problem_grade:实验题成绩
- id:实验课题目提交id,自增主键
- id_lab_submission:【初始为空】【来自lab_submission的外键】标识本次题目提交最终纳入到哪次实验课提交中
- id_problem_submission:【来自problem_submission的外键】标识哪次题目提交
- id_lab:【来自lab的外键】属于哪个实验课【区分多个lab使用同一道题目】
包含来自实验课提交的外键和存储路径
- id:练习题提交id,自增主键
- id_lecture:【来自lecture的外键】属于哪个主讲课
- id_problem_submission:【来自problem_submission的外键】标识哪次提交
- id:考试id,自增主键
- id_course:【来自course的外键】属于哪个课程
- name:考试名称
- start_time:考试开始时间
- end_time:考试结束时间
- description:考试描述
- created_at:考试创建时间
- modified_at:考试上次修改时间
- id:学生考试id,自增主键
- id_student:【来自student的外键】标识哪个学生
- id_exam:【来自exam的外键】标识哪次考试
- type:标识AB卷
- grade:学生成绩
- password:学生登录密码
- finished:学生是否提前结束考试
- id:考试题目id,自增主键
- id_exam:【来自exam的外键】属于哪次考试
- id_problem:【来自problem的外键】包含哪个题目
- type:标识AB卷
- weight:计分权重
- language:二进制掩码【10011(2)表示使用language表中编号为1,2,16的语言】标识使用语言