safety-eval-service/safety-cedu-service/src/班级管理.sql

241 lines
16 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

create table class_course
(
id bigint not null comment '主键ID由程序生成不自增'
primary key,
class_id bigint not null comment '所属班级ID关联training_class.id',
course_name varchar(200) not null comment '课程名称',
course_id bigint not null comment '课程id',
required_total_hours decimal(10, 2) null comment '要求完成总学时(小时)',
video_duration decimal(10, 2) null comment '视频累计时长(小时)',
delete_enum varchar(32) null comment '删除标识true false',
remarks varchar(255) null comment '备注',
create_name varchar(50) null comment '创建人姓名',
update_name varchar(50) null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) null comment '环境',
courseware_id text null comment '课件id集合'
)
comment '课程管理表' charset = utf8mb4;
create index idx_class_id
on class_course (class_id);
create table class_management
(
id bigint unsigned zerofill not null comment '主键ID由程序生成不自增'
primary key,
class_code varchar(50) null comment '班级编码(唯一)',
class_name varchar(100) null comment '班级名称',
training_type varchar(50) null comment '培训类型',
unit_type int null comment '参训单位类型1本企业2相关方',
unit_name varchar(100) null comment '参训单位名称',
recorder varchar(50) null comment '记录人员姓名或ID',
assessor varchar(50) null comment '考核人员姓名或ID',
safety_manager varchar(50) null comment '安全管理部门负责人姓名或ID',
start_date datetime null comment '培训开始日期',
end_date datetime null comment '培训结束日期',
open_exam tinyint(1) default 0 null comment '是否开启考试0-否1-是)',
exam_face_recognition tinyint(1) default 0 null comment '考试前人脸识别0-否1-是)',
exam_count int null comment '考试次数',
face_recognition tinyint(1) default 0 null comment '是否人脸识别0-否1-是)',
face_recognition_time int null comment '人脸识别时间分钟可选5/10/20/30',
shuffle_questions tinyint(1) default 0 null comment '是否打乱试题顺序0-否1-是)',
status int default 0 null comment '班级状态0-未申请1-待开班2-培训中3-培训结束',
delete_enum varchar(32) null comment '删除标识true false',
remarks varchar(255) null comment '备注',
create_name varchar(50) null comment '创建人姓名',
update_name varchar(50) null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) null comment '环境',
delay_time datetime null comment '延期时间',
paper_type int null comment '试卷类型1自动生成试卷、2平台组卷等',
exam_minutes int null comment '考试时长(分钟)',
paper_id bigint null comment '试卷id'
)
comment '班级管理表' charset = utf8mb4;
create table class_student
(
id bigint not null comment '主键ID由程序生成不自增'
primary key,
class_id bigint not null comment '关联班级IDtraining_class.id',
student_name varchar(50) null comment '姓名',
unit_name varchar(100) null comment '参训单位',
department varchar(100) null comment '部门',
phone varchar(20) null comment '手机号',
file_number varchar(50) null comment '档案编号',
face_auth tinyint(1) default 0 null comment '人脸认证0-未认证1-已认证)',
required_hours decimal(10, 2) null comment '要求学时(小时)',
completed_hours decimal(10, 2) default 0.00 null comment '已完成学时(小时)',
study_status int default 0 null comment '学习状态0-未学习1-学习中2-已学完3-已完成',
exam_status int default 0 null comment '考试状态0-不考试1-待考试2-考试未通过3-考试通过4-未参加',
entry_time datetime null comment '入班时间',
student_id varchar(20) null comment '学员(来源id)',
delete_enum varchar(32) null comment '删除标识true false',
remarks varchar(255) null comment '备注',
create_name varchar(50) null comment '创建人姓名',
update_name varchar(50) null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) null comment '环境'
)
comment '班级学员学习记录表' charset = utf8mb4;
create index idx_class_id
on class_student (class_id);
create table class_student_exam_record
(
id bigint not null comment '主键ID由程序生成不自增'
primary key,
student_id bigint not null comment '学员ID关联class_student.id',
student_name varchar(20) not null comment '学员名称',
class_id bigint not null comment '所属班级ID关联training_class.id',
paper_name varchar(200) not null comment '试卷名称',
paper_id bigint not null comment '试卷id',
score decimal(10, 2) null comment '得分',
passed tinyint(1) default 0 null comment '是否通过0-未通过1-通过)',
wrong_count int default 0 null comment '错误题数',
accuracy decimal(5, 2) null comment '正确率(百分比,如 96.66',
start_time datetime null comment '考试开始时间',
end_time datetime null comment '考试结束时间',
delete_enum varchar(32) null comment '删除标识true false',
remarks varchar(255) null comment '备注',
create_name varchar(50) null comment '创建人姓名',
update_name varchar(50) null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) null comment '环境'
)
comment '学员考试记录表' charset = utf8mb4;
create index idx_student_id
on class_student_exam_record (student_id);
create table class_student_learning_record
(
id bigint not null comment '主键ID由程序生成不自增'
primary key,
student_id bigint not null comment '学员ID关联class_student.id',
class_id bigint not null comment '所属班级ID关联training_class.id',
course_id bigint not null comment '课程ID关联training_course.id',
course_name varchar(200) not null comment '课程名称',
courseware_name varchar(200) null comment '小节点名称(如章节名、视频文件名)',
study_status int default 0 null comment '学习状态0-未学习1-学习中2-已完成',
learning_progress varchar(50) null comment '学习情况(如进度百分比或简要描述,冗余字段便于展示)',
start_time datetime null comment '开始学习时间(第一次开始观看/学习的时间)',
end_time datetime null comment '完成时间(标记为“已学完”或“已完成”的时间)',
last_watch_time datetime null comment '最近观看时间(最后一条学习行为的时间戳)',
delete_enum varchar(32) null comment '删除标识true false',
remarks varchar(255) null comment '备注',
create_name varchar(50) null comment '创建人姓名',
update_name varchar(50) null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) null comment '环境'
)
comment '学员学习记录表(节点级)' charset = utf8mb4;
create index idx_course_id
on class_student_learning_record (course_id);
create index idx_student_id
on class_student_learning_record (student_id);
create index idx_study_status
on class_student_learning_record (study_status);
create table course_management
(
delete_enum varchar(32) charset utf8mb4 null comment '删除标识true false',
remarks varchar(255) charset utf8mb4 null comment '备注',
create_name varchar(50) charset utf8mb4 null comment '创建人姓名',
update_name varchar(50) charset utf8mb4 null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) charset utf8mb4 null comment '环境',
id bigint not null comment '主键'
primary key,
course_name varchar(200) null comment '课程名称',
training_type varchar(100) null comment '培训类型',
course_description varchar(512) null comment '课称描述',
course_cover varchar(255) null comment '课程封面',
class_hour_duration decimal(5, 1) unsigned default 0.0 null comment '课时时长(小时)',
upload_unit varchar(200) null comment '上传单位',
status int default 0 null comment '状态1启用/0禁用',
used int default 0 null comment '是否已被使用0-未使用1-已使用)',
exam_type int null comment '试卷类型1自动生成试卷、2平台组卷等',
exam_minutes int null comment '考试时长(分钟)',
exam_id bigint not null comment '试卷id'
)
comment '课程管理';
create table course_rel_courseware
(
id bigint not null comment '主键'
primary key,
courseware_name varchar(200) null comment '课件名称',
courseware_document varchar(512) null comment '课件文档(文件名或路径)',
courseware_id bigint null comment '课件id',
course_id bigint null comment '课程id',
sort int null comment '排序',
class_hour_duration_unit varchar(10) default '小时' null comment '课时时长单位',
credit_hours decimal(5, 1) unsigned default 0.0 null comment '学时'
)
comment '课程关联课件表';
create table courseware_management
(
delete_enum varchar(32) charset utf8mb4 null comment '删除标识true false',
remarks varchar(255) charset utf8mb4 null comment '备注',
create_name varchar(50) charset utf8mb4 null comment '创建人姓名',
update_name varchar(50) charset utf8mb4 null comment '更新人姓名',
tenant_id bigint null comment '租户id',
version int null comment '版本',
create_time datetime null comment '创建时间',
update_time datetime null comment '修改时间',
create_id bigint null comment '创建人id',
update_id bigint null comment '修改人id',
env varchar(50) charset utf8mb4 null comment '环境',
id bigint not null comment '主键'
primary key,
courseware_name varchar(200) null comment '课件名称',
training_type varchar(100) null comment '培训类型',
lecturer_name varchar(100) null comment '讲师名称',
credit_hours decimal(5, 1) unsigned default 0.0 null comment '学时',
class_hour_duration decimal(5, 1) unsigned default 0.0 null comment '课时时长(小时)',
upload_unit varchar(200) null comment '上传单位',
status int default 0 null comment '状态1启用/0禁用',
courseware_type int null comment '课件类型1视频课件/2文档课件',
courseware_document varchar(512) null comment '课件文档(文件名或路径)',
courseware_description varchar(512) null comment '课件描述'
)
comment '课件表';