-- 设备表
-- 技能表
-- 资料表
-- 题目表
-- 试卷表
-- 考试记录表
-- 学习记录表

-- 技能表 设备表 多对多
-- 技能表 资料表 一对多
-- 技能表 题目表 一对多
-- 技能表 试卷表 一对多
-- 技能表 考试记录表 一对多
-- 技能表 学习记录表 一对多
-- 资料表 学习记录表 一对多
-- 题目表 试卷表 多对多
-- 试卷表 考试记录表 一对多

CREATE TABLE `learning_skill` (
  `Id` int NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `Name` varchar(255) NOT NULL COMMENT '技能名称',
  `CreatedAt` datetime COMMENT '创建时间',
  `UpdatedAt` datetime COMMENT '更新时间',
  `DeletedAt` datetime COMMENT '删除时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';


CREATE TABLE `learning_skill_instrument` (
  `Id` int NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `SkillId` int NOT NULL COMMENT '技能 Id',
  `InstrumentId` int NOT NULL COMMENT '设备 Id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='技能设备绑定表';


CREATE TABLE `learning_material` (
  `Id` int NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `SkillId` int NOT NULL COMMENT '技能 Id',
  `Name` varchar(255) NOT NULL COMMENT '资料名称',
  `Type` int NOT NULL COMMENT '资料类型 1 资料 2 视频',
  `SortNo` int NOT NULL COMMENT '排序',
  `Enable` tinyint(1) NOT NULL COMMENT '是否启用',
  `Content` text COMMENT '资料内容',
  `OperateBy` varchar(255) COMMENT '操作人',
  `CreatedAt` datetime COMMENT '创建时间',
  `UpdatedAt` datetime COMMENT '更新时间',
  `DeletedAt` datetime COMMENT '删除时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='资料表';


CREATE TABLE `learning_material_file` (
  `Id` int NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `MaterialId` int NOT NULL COMMENT '资料 Id',
  `Name` varchar(255) NOT NULL COMMENT '文件名',
  `Url` varchar(255) NOT NULL COMMENT '文件地址',
  `Size` varchar(255) NOT NULL COMMENT '文件大小',
  `Extend` varchar(255) NOT NULL COMMENT '文件扩展名',
  `OperateBy` varchar(255) COMMENT '操作人',
  `CreatedAt` datetime COMMENT '创建时间',
  `UpdatedAt` datetime COMMENT '更新时间',
  `DeletedAt` datetime COMMENT '删除时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='资料文件表';


CREATE TABLE `learning_question` (
  `Id` int NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `SkillId` int NOT NULL COMMENT '技能 Id',
  `Name` varchar(512) NOT NULL COMMENT '题目',
  `NameImage` varchar(512) NOT NULL COMMENT '题目图片',
  `Type` int NOT NULL COMMENT '题型 1 单选 2 多选 3 判断',
  `Enable` tinyint(1) NOT NULL COMMENT '是否启用',
  `Content` text COMMENT '题目内容',
  `Explanation` text COMMENT '题目解析',
  `ExplanationImage` text COMMENT '题目解析图片',
  `OperateBy` varchar(255) COMMENT '操作人',
  `CreatedAt` datetime COMMENT '创建时间',
  `UpdatedAt` datetime COMMENT '更新时间',
  `DeletedAt` datetime COMMENT '删除时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='题目表';


CREATE TABLE `learning_testpaper` (
  `Id` int NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `SkillId` int NOT NULL COMMENT '技能 Id',
  `Name` varchar(255) NOT NULL COMMENT '试卷名称',
  `Enable` tinyint(1) NOT NULL COMMENT '是否启用',
  `TimeLimit` int COMMENT '答题时间/分钟',
  `PassLimit` int COMMENT '合格标准/题数',
  `OperateBy` varchar(255) COMMENT '操作人',
  `CreatedAt` datetime COMMENT '创建时间',
  `UpdatedAt` datetime COMMENT '更新时间',
  `DeletedAt` datetime COMMENT '删除时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='试卷表';


CREATE TABLE `learning_question_testpaper` (
  `Id` int NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `QuestionId` int NOT NULL COMMENT '题目 Id',
  `TestpaperId` int NOT NULL COMMENT '试卷 Id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='题目试卷绑定表';


CREATE TABLE `learning_exam_record` (
  `Id` int NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `UserId` int NOT NULL COMMENT '用户 Id',
  `SkillId` int NOT NULL COMMENT '技能 Id',
  `TestpaperId` int NOT NULL COMMENT '试卷 Id',
  `QuestionCount` int NOT NULL COMMENT '试卷问题数',
  `CorrectCount` int NOT NULL COMMENT '答对问题数',
  `Status` int NOT NULL COMMENT '状态 1 通过 2 未通过',
  `CreatedAt` datetime COMMENT '创建时间',
  `UpdatedAt` datetime COMMENT '更新时间',
  `DeletedAt` datetime COMMENT '删除时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考试记录表';


CREATE TABLE `learning_learning_record` (
  `Id` int NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `UserId` int NOT NULL COMMENT '用户 Id',
  `MaterialId` int NOT NULL COMMENT '资料 Id',
  `Status` int NOT NULL COMMENT '状态 1 已学习',
  `CreatedAt` datetime COMMENT '创建时间',
  `UpdatedAt` datetime COMMENT '更新时间',
  `DeletedAt` datetime COMMENT '删除时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学习记录表';


CREATE TABLE `learning_material_publish_record` (
  `Id` int NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `MaterialId` int NOT NULL COMMENT '资料 Id',
  `OperateBy` varchar(255) COMMENT '操作人',
  `CreatedAt` datetime COMMENT '创建时间',
  `UpdatedAt` datetime COMMENT '更新时间',
  `DeletedAt` datetime COMMENT '删除时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='资料发布记录表';

