yzexam/doc/3.建表语句-mysql.sql

754 lines
26 KiB
SQL
Raw Permalink 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.

-- MySQL建表语句从Oracle转换
-- 系统管理表
-- 部门表
CREATE TABLE sys_dept (
dept_id INT NOT NULL AUTO_INCREMENT,
parent_id INT NULL,
ancestors VARCHAR(50) NULL,
dept_code VARCHAR(50) NULL,
dept_name VARCHAR(600) NOT NULL,
order_num INT NULL,
leader VARCHAR(30) NULL,
phone VARCHAR(20) NULL,
email VARCHAR(50) NULL,
status CHAR(1) NULL,
del_flag CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
PRIMARY KEY (dept_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';
-- 用户表
CREATE TABLE sys_user (
user_id INT NOT NULL AUTO_INCREMENT,
user_code VARCHAR(100) NULL,
dept_id INT NULL,
user_name VARCHAR(100) NULL,
nick_name VARCHAR(30) NOT NULL,
user_type CHAR(2) NULL,
email VARCHAR(50) NULL,
phonenumber VARCHAR(20) NULL,
sex CHAR(1) NULL,
avatar VARCHAR(300) NULL,
password VARCHAR(100) NULL,
status CHAR(1) NULL,
del_flag CHAR(1) NULL,
login_ip VARCHAR(128) NULL,
login_date DATETIME NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
-- 岗位表
CREATE TABLE sys_post (
post_id INT NOT NULL AUTO_INCREMENT,
post_code VARCHAR(64) NULL,
post_name VARCHAR(50) NOT NULL,
post_sort INT NULL,
status CHAR(1) NULL,
del_flag CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (post_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='岗位表';
-- 角色表
CREATE TABLE sys_role (
role_id INT NOT NULL AUTO_INCREMENT,
role_name VARCHAR(90) NOT NULL,
role_key VARCHAR(200) NULL,
role_sort INT NULL,
data_scope CHAR(1) NULL,
menu_check_strictly INT NULL,
dept_check_strictly INT NULL,
status CHAR(1) NULL,
del_flag CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (role_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';
-- 菜单表
CREATE TABLE sys_menu (
menu_id INT NOT NULL AUTO_INCREMENT,
menu_name VARCHAR(120) NOT NULL,
parent_id INT NULL,
order_num INT NULL,
path VARCHAR(200) NULL,
component VARCHAR(300) NULL,
is_frame INT NULL,
is_cache INT NULL,
menu_type CHAR(1) NULL,
visible CHAR(1) NULL,
status CHAR(1) NULL,
del_flag CHAR(1) NULL,
perms VARCHAR(100) NULL,
icon VARCHAR(100) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (menu_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单表';
-- 用户角色关联表
CREATE TABLE sys_user_role (
user_id INT NOT NULL,
role_id INT NOT NULL,
PRIMARY KEY (user_id, role_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关联表';
-- 角色菜单关联表
CREATE TABLE sys_role_menu (
role_id INT NOT NULL,
menu_id INT NOT NULL,
PRIMARY KEY (role_id, menu_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色菜单关联表';
-- 角色部门关联表
CREATE TABLE sys_role_dept (
role_id INT NOT NULL,
dept_id INT NOT NULL,
PRIMARY KEY (role_id, dept_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色部门关联表';
-- 用户岗位关联表
CREATE TABLE sys_user_post (
user_id INT NOT NULL,
post_id INT NOT NULL,
PRIMARY KEY (user_id, post_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户岗位关联表';
-- 操作日志表
CREATE TABLE sys_oper_log (
oper_id INT NOT NULL AUTO_INCREMENT,
title VARCHAR(120) NOT NULL,
business_type INT NULL,
method VARCHAR(120) NULL,
request_method VARCHAR(120) NULL,
operator_type INT NULL,
oper_name VARCHAR(50) NULL,
dept_name VARCHAR(120) NULL,
oper_url VARCHAR(300) NULL,
oper_ip VARCHAR(128) NULL,
oper_location VARCHAR(300) NULL,
oper_param TEXT NULL,
json_result TEXT NULL,
status CHAR(1) NULL,
error_msg TEXT NULL,
oper_time DATETIME NULL,
PRIMARY KEY (oper_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志表';
-- 字典类型表
CREATE TABLE sys_dict_type (
dict_id INT NOT NULL AUTO_INCREMENT,
dict_name VARCHAR(200) NOT NULL,
dict_type VARCHAR(50) NULL,
status CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (dict_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典类型表';
-- 字典数据表
CREATE TABLE sys_dict_data (
dict_code INT NOT NULL AUTO_INCREMENT,
dict_sort INT NULL,
dict_label VARCHAR(100) NOT NULL,
dict_value VARCHAR(100) NOT NULL,
dict_type VARCHAR(100) NULL,
css_class VARCHAR(100) NULL,
list_class VARCHAR(100) NULL,
is_default CHAR(1) NULL,
status CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (dict_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典数据表';
-- 参数配置表
CREATE TABLE sys_config (
config_id INT NOT NULL AUTO_INCREMENT,
config_name VARCHAR(100) NOT NULL,
config_key VARCHAR(100) NULL,
config_value VARCHAR(100) NULL,
config_type CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (config_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='参数配置表';
-- 登录日志表
CREATE TABLE sys_logininfor (
info_id INT NOT NULL AUTO_INCREMENT,
user_name VARCHAR(50) NOT NULL,
ipaddr VARCHAR(128) NULL,
login_location VARCHAR(300) NULL,
browser VARCHAR(50) NULL,
os VARCHAR(50) NULL,
status CHAR(1) NULL,
msg VARCHAR(600) NULL,
login_time DATETIME NULL,
PRIMARY KEY (info_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='登录日志表';
-- 定时任务表
CREATE TABLE sys_job (
job_id INT NOT NULL AUTO_INCREMENT,
job_name VARCHAR(120) NOT NULL,
job_group VARCHAR(120) NULL,
invoke_target VARCHAR(500) NULL,
cron_expression VARCHAR(300) NULL,
misfire_policy VARCHAR(20) NULL,
concurrent CHAR(1) NULL,
status CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (job_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='定时任务表';
-- 定时任务日志表
CREATE TABLE sys_job_log (
job_log_id INT NOT NULL AUTO_INCREMENT,
job_name VARCHAR(120) NOT NULL,
job_group VARCHAR(120) NULL,
invoke_target VARCHAR(500) NULL,
job_message VARCHAR(500) NULL,
status CHAR(1) NULL,
exception_info TEXT NULL,
create_time DATETIME NULL,
PRIMARY KEY (job_log_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='定时任务日志表';
-- 通知公告表
CREATE TABLE sys_notice (
notice_id INT NOT NULL AUTO_INCREMENT,
notice_title VARCHAR(120) NOT NULL,
notice_type CHAR(1) NULL,
notice_content TEXT NULL,
status CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (notice_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通知公告表';
-- 用户组表
CREATE TABLE sys_group (
group_id INT NOT NULL AUTO_INCREMENT,
group_code VARCHAR(50) NOT NULL,
group_name VARCHAR(120) NOT NULL,
group_describe VARCHAR(200) NOT NULL,
status CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
PRIMARY KEY (group_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户组表';
-- 用户组成员表
CREATE TABLE sys_group_person (
group_code VARCHAR(50) NOT NULL,
person_code VARCHAR(120) NOT NULL,
order_id INT NULL,
PRIMARY KEY (group_code, person_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户组成员表';
-- 用户选择表
CREATE TABLE sys_user_choice (
id INT NOT NULL AUTO_INCREMENT,
choice_code VARCHAR(50) NOT NULL,
user_code VARCHAR(100) NULL,
order_id INT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户选择表';
-- 代码生成业务表
CREATE TABLE gen_table (
table_id INT NOT NULL AUTO_INCREMENT,
table_name VARCHAR(120) NOT NULL,
table_comment VARCHAR(500) NULL,
sub_table_name VARCHAR(120) NULL,
sub_table_fk_name VARCHAR(120) NULL,
class_name VARCHAR(100) NULL,
tpl_category VARCHAR(200) NULL,
package_name VARCHAR(100) NULL,
module_name VARCHAR(30) NULL,
business_name VARCHAR(30) NULL,
function_name VARCHAR(50) NULL,
function_author VARCHAR(50) NULL,
gen_type CHAR(1) NULL,
gen_path VARCHAR(200) NULL,
options VARCHAR(1000) NULL,
status CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (table_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='代码生成业务表';
-- 代码生成业务表字段
CREATE TABLE gen_table_column (
column_id INT NOT NULL AUTO_INCREMENT,
table_id INT NOT NULL,
column_name VARCHAR(200) NOT NULL,
column_comment VARCHAR(500) NOT NULL,
column_type VARCHAR(100) NULL,
java_type VARCHAR(500) NULL,
java_field VARCHAR(200) NULL,
is_pk CHAR(1) NULL,
is_increment CHAR(1) NULL,
is_required CHAR(1) NULL,
is_insert CHAR(1) NULL,
is_edit CHAR(1) NULL,
is_list CHAR(1) NULL,
is_query CHAR(1) NULL,
query_type VARCHAR(200) NULL,
html_type VARCHAR(200) NULL,
dict_type VARCHAR(200) NULL,
sort INT NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
remark VARCHAR(600) NULL,
PRIMARY KEY (column_id, table_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='代码生成业务表字段';
-- Quartz定时任务相关表
-- 存储每一个已配置的jobDetail的详细信息
CREATE TABLE qrtz_job_details (
sched_name VARCHAR(120) NOT NULL,
job_name VARCHAR(200) NOT NULL,
job_group VARCHAR(200) NOT NULL,
description VARCHAR(250) NULL,
job_class_name VARCHAR(250) NOT NULL,
is_durable VARCHAR(1) NOT NULL,
is_nonconcurrent VARCHAR(1) NOT NULL,
is_update_data VARCHAR(1) NOT NULL,
requests_recovery VARCHAR(1) NOT NULL,
job_data BLOB NULL,
PRIMARY KEY (sched_name, job_name, job_group)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz任务详情表';
-- 存储已配置的Trigger的信息
CREATE TABLE qrtz_triggers (
sched_name VARCHAR(120) NOT NULL,
trigger_name VARCHAR(200) NOT NULL,
trigger_group VARCHAR(200) NOT NULL,
job_name VARCHAR(200) NOT NULL,
job_group VARCHAR(200) NOT NULL,
description VARCHAR(250) NULL,
next_fire_time BIGINT NULL,
prev_fire_time BIGINT NULL,
priority BIGINT NULL,
trigger_state VARCHAR(16) NOT NULL,
trigger_type VARCHAR(8) NOT NULL,
start_time BIGINT NOT NULL,
end_time BIGINT NULL,
calendar_name VARCHAR(200) NULL,
misfire_instr SMALLINT NULL,
job_data BLOB NULL,
PRIMARY KEY (sched_name, trigger_name, trigger_group),
FOREIGN KEY (sched_name, job_name, job_group)
REFERENCES qrtz_job_details(sched_name, job_name, job_group)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz触发器表';
-- 存储简单的Trigger包括重复次数、间隔以及已触发的次数
CREATE TABLE qrtz_simple_triggers (
sched_name VARCHAR(120) NOT NULL,
trigger_name VARCHAR(200) NOT NULL,
trigger_group VARCHAR(200) NOT NULL,
repeat_count INT NOT NULL,
repeat_interval BIGINT NOT NULL,
times_triggered INT NOT NULL,
PRIMARY KEY (sched_name, trigger_name, trigger_group),
FOREIGN KEY (sched_name, trigger_name, trigger_group)
REFERENCES qrtz_triggers(sched_name, trigger_name, trigger_group)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz简单触发器表';
-- 存储Cron Trigger包括Cron表达式和时区信息
CREATE TABLE qrtz_cron_triggers (
sched_name VARCHAR(120) NOT NULL,
trigger_name VARCHAR(200) NOT NULL,
trigger_group VARCHAR(200) NOT NULL,
cron_expression VARCHAR(120) NOT NULL,
time_zone_id VARCHAR(80),
PRIMARY KEY (sched_name, trigger_name, trigger_group),
FOREIGN KEY (sched_name, trigger_name, trigger_group)
REFERENCES qrtz_triggers(sched_name, trigger_name, trigger_group)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz Cron触发器表';
-- 存储Trigger作为Blob类型存储(用于Quartz用户用JDBC创建他们自己定制的Trigger类型JobStore并不知道如何存储实例的时候)
CREATE TABLE qrtz_blob_triggers (
sched_name VARCHAR(120) NOT NULL,
trigger_name VARCHAR(200) NOT NULL,
trigger_group VARCHAR(200) NOT NULL,
blob_data BLOB NULL,
PRIMARY KEY (sched_name, trigger_name, trigger_group),
FOREIGN KEY (sched_name, trigger_name, trigger_group)
REFERENCES qrtz_triggers(sched_name, trigger_name, trigger_group)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz Blob触发器表';
-- 以Blob类型存储Quartz的日历信息quartz可配置一个日历来指定一个时间范围
CREATE TABLE qrtz_calendars (
sched_name VARCHAR(120) NOT NULL,
calendar_name VARCHAR(200) NOT NULL,
calendar BLOB NOT NULL,
PRIMARY KEY (sched_name, calendar_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz日历表';
-- 存储已暂停的Trigger组的信息
CREATE TABLE qrtz_paused_trigger_grps (
sched_name VARCHAR(120) NOT NULL,
trigger_group VARCHAR(200) NOT NULL,
PRIMARY KEY (sched_name, trigger_group)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz暂停触发器组表';
-- 存储已触发Trigger的相关状态信息以及相关联Job的执行信息
CREATE TABLE qrtz_fired_triggers (
sched_name VARCHAR(120) NOT NULL,
entry_id VARCHAR(95) NOT NULL,
trigger_name VARCHAR(200) NOT NULL,
trigger_group VARCHAR(200) NOT NULL,
instance_name VARCHAR(200) NOT NULL,
fired_time BIGINT NOT NULL,
sched_time BIGINT NOT NULL,
priority BIGINT NOT NULL,
state VARCHAR(16) NOT NULL,
job_name VARCHAR(200) NULL,
job_group VARCHAR(200) NULL,
is_nonconcurrent VARCHAR(1) NULL,
requests_recovery VARCHAR(1) NULL,
PRIMARY KEY (sched_name, entry_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz已触发触发器表';
-- 存储所有的Scheduler的状态信息假如是在集群中可以看到其他的Scheduler实例
CREATE TABLE qrtz_scheduler_state (
sched_name VARCHAR(120) NOT NULL,
instance_name VARCHAR(200) NOT NULL,
last_checkin_time BIGINT NOT NULL,
checkin_interval BIGINT NOT NULL,
PRIMARY KEY (sched_name, instance_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz调度器状态表';
-- 存储程序的悲观锁的信息(假如使用了悲观锁)
CREATE TABLE qrtz_locks (
sched_name VARCHAR(120) NOT NULL,
lock_name VARCHAR(40) NOT NULL,
PRIMARY KEY (sched_name, lock_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz锁表';
-- 存储Trigger的其他属性信息
CREATE TABLE qrtz_simprop_triggers (
sched_name VARCHAR(120) NOT NULL,
trigger_name VARCHAR(200) NOT NULL,
trigger_group VARCHAR(200) NOT NULL,
str_prop_1 VARCHAR(512) NULL,
str_prop_2 VARCHAR(512) NULL,
str_prop_3 VARCHAR(512) NULL,
int_prop_1 INT NULL,
int_prop_2 INT NULL,
long_prop_1 BIGINT NULL,
long_prop_2 BIGINT NULL,
dec_prop_1 DECIMAL(13,4) NULL,
dec_prop_2 DECIMAL(13,4) NULL,
bool_prop_1 VARCHAR(1) NULL,
bool_prop_2 VARCHAR(1) NULL,
PRIMARY KEY (sched_name, trigger_name, trigger_group),
FOREIGN KEY (sched_name, trigger_name, trigger_group)
REFERENCES qrtz_triggers(sched_name, trigger_name, trigger_group)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Quartz属性触发器表';
-- 创建Quartz相关索引
CREATE INDEX idx_qrtz_j_req_recovery ON qrtz_job_details(sched_name, requests_recovery);
CREATE INDEX idx_qrtz_j_grp ON qrtz_job_details(sched_name, job_group);
CREATE INDEX idx_qrtz_t_j ON qrtz_triggers(sched_name, job_name, job_group);
CREATE INDEX idx_qrtz_t_jg ON qrtz_triggers(sched_name, job_group);
CREATE INDEX idx_qrtz_t_c ON qrtz_triggers(sched_name, calendar_name);
CREATE INDEX idx_qrtz_t_g ON qrtz_triggers(sched_name, trigger_group);
CREATE INDEX idx_qrtz_t_state ON qrtz_triggers(sched_name, trigger_state);
CREATE INDEX idx_qrtz_t_n_state ON qrtz_triggers(sched_name, trigger_name, trigger_group, trigger_state);
CREATE INDEX idx_qrtz_t_n_g_state ON qrtz_triggers(sched_name, trigger_group, trigger_state);
CREATE INDEX idx_qrtz_t_next_fire_time ON qrtz_triggers(sched_name, next_fire_time);
CREATE INDEX idx_qrtz_t_nft_st ON qrtz_triggers(sched_name, trigger_state, next_fire_time);
CREATE INDEX idx_qrtz_t_nft_misfire ON qrtz_triggers(sched_name, misfire_instr, next_fire_time);
CREATE INDEX idx_qrtz_t_nft_st_misfire ON qrtz_triggers(sched_name, misfire_instr, next_fire_time, trigger_state);
CREATE INDEX idx_qrtz_t_nft_st_misfire_grp ON qrtz_triggers(sched_name, misfire_instr, next_fire_time, trigger_group, trigger_state);
CREATE INDEX idx_qrtz_ft_trig_inst_name ON qrtz_fired_triggers(sched_name, instance_name);
CREATE INDEX idx_qrtz_ft_inst_job_req_rcvry ON qrtz_fired_triggers(sched_name, instance_name, requests_recovery);
CREATE INDEX idx_qrtz_ft_j_g ON qrtz_fired_triggers(sched_name, job_name, job_group);
CREATE INDEX idx_qrtz_ft_jg ON qrtz_fired_triggers(sched_name, job_group);
CREATE INDEX idx_qrtz_ft_t_g ON qrtz_fired_triggers(sched_name, trigger_name, trigger_group);
CREATE INDEX idx_qrtz_ft_tg ON qrtz_fired_triggers(sched_name, trigger_group);
-- 文件管理表
CREATE TABLE fms_photo (
photo_id INT NOT NULL AUTO_INCREMENT,
file_name VARCHAR(600) NOT NULL,
photo_path VARCHAR(100) NOT NULL,
photo_url VARCHAR(100) NOT NULL,
original_name VARCHAR(600) NULL,
upload_name VARCHAR(100) NULL,
upload_dept VARCHAR(50) NULL,
upload_time DATETIME NULL,
status INT NULL,
PRIMARY KEY (photo_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='图片管理表';
CREATE TABLE fms_files (
file_id INT NOT NULL AUTO_INCREMENT,
file_title VARCHAR(120) NULL,
file_describe VARCHAR(300) NULL,
file_name VARCHAR(600) NOT NULL,
file_path VARCHAR(100) NOT NULL,
file_url VARCHAR(100) NOT NULL,
file_suffix VARCHAR(30) NULL,
original_name VARCHAR(600) NULL,
upload_name VARCHAR(100) NULL,
upload_dept VARCHAR(50) NULL,
upload_time DATETIME NULL,
status INT NULL,
PRIMARY KEY (file_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件管理表';
-- 考试系统表
-- 考试类型表
CREATE TABLE exam_type (
type_id INT NOT NULL AUTO_INCREMENT,
parent_id INT NULL,
ancestors VARCHAR(50) NULL,
type_code VARCHAR(50) NULL,
type_name VARCHAR(120) NOT NULL,
order_id INT NULL,
status CHAR(1) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
update_by VARCHAR(100) NULL,
update_time DATETIME NULL,
PRIMARY KEY (type_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考试类型表';
-- 题库表
CREATE TABLE exam_questions_bank (
bank_id INT NOT NULL AUTO_INCREMENT,
bank_code VARCHAR(50) NOT NULL,
bank_name VARCHAR(120) NOT NULL,
bank_describe VARCHAR(300) NULL,
bank_version VARCHAR(60) NULL,
exam_type INT NULL,
online_date DATETIME NULL,
picture_url VARCHAR(600) NULL,
radio_score INT NULL,
choice_score INT NULL,
judge_score INT NULL,
status INT NULL,
create_by VARCHAR(100) NULL,
create_dept INT NULL,
create_time DATETIME NULL,
PRIMARY KEY (bank_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='题库表';
-- 题库图片表
CREATE TABLE exam_bank_picture (
photo_id INT NOT NULL AUTO_INCREMENT,
photo_code VARCHAR(200) NOT NULL,
photo_path VARCHAR(200) NULL,
photo_url VARCHAR(200) NULL,
file_name VARCHAR(60) NULL,
original_name VARCHAR(200) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
status INT NULL,
PRIMARY KEY (photo_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='题库图片表';
-- 题目内容表
CREATE TABLE exam_questions_content (
questions_code VARCHAR(50) NOT NULL,
questions_content TEXT NOT NULL,
PRIMARY KEY (questions_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='题目内容表';
-- 题目属性表
CREATE TABLE exam_questions_property (
bank_code VARCHAR(50) NOT NULL,
questions_id INT NOT NULL,
questions_code VARCHAR(50) NOT NULL,
questions_title VARCHAR(4000) NULL,
questions_type INT NULL,
questions_score INT NULL,
rate_number INT NULL,
right_answer VARCHAR(20) NULL,
answer_analyse VARCHAR(3000) NULL,
status INT NULL,
create_by VARCHAR(100) NULL,
create_dept INT NULL,
create_time DATETIME NULL,
PRIMARY KEY (questions_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='题目属性表';
-- 题目答案表
CREATE TABLE exam_questions_answer (
questions_code VARCHAR(50) NOT NULL,
option_code CHAR(1) NOT NULL,
option_describe VARCHAR(600) NOT NULL,
is_right INT NULL,
order_id INT NULL,
PRIMARY KEY (questions_code, option_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='题目答案表';
-- 题目表
CREATE TABLE exam_questions (
bank_code VARCHAR(50) NOT NULL,
questions_id INT NOT NULL,
questions_code VARCHAR(50) NOT NULL,
questions_title VARCHAR(4000) NULL,
questions_content TEXT NULL,
questions_type INT NULL,
questions_score INT NULL,
rate_number INT NULL,
right_answer VARCHAR(20) NULL,
answer_analyse VARCHAR(3000) NULL,
status INT NULL,
create_by VARCHAR(100) NULL,
create_dept INT NULL,
create_time DATETIME NULL,
PRIMARY KEY (questions_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='题目表';
-- 考试任务管理表
CREATE TABLE exam_task_manager (
exam_id INT NOT NULL AUTO_INCREMENT,
exam_code VARCHAR(50) NOT NULL,
exam_name VARCHAR(120) NOT NULL,
exam_describe VARCHAR(300) NULL,
build_type CHAR(1) NULL,
force_done CHAR(1) NULL,
exam_bank VARCHAR(600) NULL,
exam_bank_text VARCHAR(1200) NULL,
picture_url VARCHAR(200) NULL,
start_time DATETIME NULL,
end_time DATETIME NULL,
exam_duration VARCHAR(30) NULL,
status INT NULL,
create_by VARCHAR(100) NULL,
create_dept INT NULL,
create_time DATETIME NULL,
PRIMARY KEY (exam_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考试任务管理表';
-- 考试任务图片表
CREATE TABLE exam_task_picture (
photo_id INT NOT NULL AUTO_INCREMENT,
photo_code VARCHAR(200) NOT NULL,
photo_path VARCHAR(200) NULL,
photo_url VARCHAR(200) NULL,
file_name VARCHAR(60) NULL,
original_name VARCHAR(200) NULL,
create_by VARCHAR(100) NULL,
create_time DATETIME NULL,
status INT NULL,
PRIMARY KEY (photo_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考试任务图片表';
-- 考试任务题目关联表
CREATE TABLE exam_task_questions (
exam_code VARCHAR(50) NOT NULL,
questions_code VARCHAR(50) NOT NULL,
questions_number INT NULL,
PRIMARY KEY (exam_code, questions_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考试任务题目关联表';
-- 考试任务用户组关联表
CREATE TABLE exam_task_group (
exam_code VARCHAR(50) NOT NULL,
group_code VARCHAR(50) NOT NULL,
order_id INT NULL,
PRIMARY KEY (exam_code, group_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考试任务用户组关联表';
-- 考试任务人员表
CREATE TABLE exam_task_person (
exam_code VARCHAR(50) NOT NULL,
user_code VARCHAR(120) NOT NULL,
task_code VARCHAR(50) NOT NULL,
start_time DATETIME NULL,
end_time DATETIME NULL,
status INT NULL,
PRIMARY KEY (exam_code, user_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考试任务人员表';
-- 用户考试成绩表
CREATE TABLE exam_user_score (
exam_code VARCHAR(50) NOT NULL,
user_code VARCHAR(120) NOT NULL,
start_time DATETIME NULL,
end_time DATETIME NULL,
questions_score DECIMAL(8,2) NULL,
exam_score DECIMAL(8,2) NULL,
exam_number INT NULL,
answered_number INT NULL,
not_answered INT NULL,
status INT NULL,
PRIMARY KEY (exam_code, user_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户考试成绩表';
-- 考试答题记录表
CREATE TABLE exam_task_answer (
exam_code VARCHAR(50) NOT NULL,
user_code VARCHAR(100) NOT NULL,
questions_code VARCHAR(50) NOT NULL,
questions_number INT NOT NULL,
questions_type INT NOT NULL,
questions_answer VARCHAR(20) NULL,
is_mark CHAR(1) NULL,
is_current CHAR(1) NULL,
PRIMARY KEY (exam_code, questions_code, user_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考试答题记录表';
-- 考试完成答案表
CREATE TABLE exam_finish_answer (
exam_code VARCHAR(50) NOT NULL,
user_code VARCHAR(100) NOT NULL,
questions_code VARCHAR(50) NOT NULL,
exam_score DECIMAL(8,2) NULL,
right_answer VARCHAR(20) NULL,
questions_answer VARCHAR(20) NULL,
questions_score INT NULL,
PRIMARY KEY (exam_code, questions_code, user_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考试完成答案表';