technological-brain-server/target/classes/db/schema.sql

550 lines
31 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 设置会话变量
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- 创建数据库(如果不存在)
CREATE DATABASE IF NOT EXISTS `technological_brain`
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
USE `technological_brain`;
-- 开启事务
START TRANSACTION;
-- ----------------------------
-- 系统相关表
-- ----------------------------
-- 用户表
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
`id` varchar(32) NOT NULL COMMENT '主键ID',
`username` varchar(50) NOT NULL COMMENT '用户名',
`password` varchar(100) NOT NULL COMMENT '密码',
`real_name` varchar(50) DEFAULT NULL COMMENT '真实姓名',
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
`phone` varchar(20) DEFAULT NULL COMMENT '手机号',
`avatar` varchar(255) DEFAULT NULL COMMENT '头像URL',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
`last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间',
`last_login_ip` varchar(50) DEFAULT NULL COMMENT '最后登录IP',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_username` (`username`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统用户表';
-- 角色表
DROP TABLE IF EXISTS `sys_role`;
CREATE TABLE `sys_role` (
`id` varchar(32) NOT NULL COMMENT '主键ID',
`role_name` varchar(50) NOT NULL COMMENT '角色名称',
`role_code` varchar(50) NOT NULL COMMENT '角色编码',
`role_desc` varchar(200) DEFAULT NULL COMMENT '角色描述',
`login_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '登录类型1-仅展示端2-展示端和后台',
`sort` int(11) DEFAULT '0' COMMENT '排序',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_role_code` (`role_code`),
KEY `idx_status` (`status`),
KEY `idx_sort` (`sort`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统角色表';
-- 权限表
DROP TABLE IF EXISTS `sys_permission`;
CREATE TABLE `sys_permission` (
`id` varchar(32) NOT NULL COMMENT '主键ID',
`permission_name` varchar(50) NOT NULL COMMENT '权限名称',
`permission_code` varchar(50) NOT NULL COMMENT '权限编码',
`permission_type` tinyint(1) NOT NULL COMMENT '权限类型1-菜单2-按钮3-接口',
`parent_id` varchar(32) DEFAULT NULL COMMENT '父权限ID',
`path` varchar(200) DEFAULT NULL COMMENT '路径',
`component` varchar(200) DEFAULT NULL COMMENT '前端组件',
`icon` varchar(100) DEFAULT NULL COMMENT '图标',
`sort` int(11) DEFAULT '0' COMMENT '排序',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态0-禁用1-启用',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_permission_code` (`permission_code`),
KEY `idx_parent_id` (`parent_id`),
KEY `idx_status` (`status`),
KEY `idx_sort` (`sort`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统权限表';
-- 用户角色关联表
DROP TABLE IF EXISTS `sys_user_role`;
CREATE TABLE `sys_user_role` (
`id` varchar(32) NOT NULL COMMENT '主键ID',
`user_id` varchar(32) NOT NULL COMMENT '用户ID',
`role_id` varchar(32) NOT NULL COMMENT '角色ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_role` (`user_id`,`role_id`),
KEY `idx_role_id` (`role_id`),
CONSTRAINT `fk_ur_user_id` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`id`) ON DELETE CASCADE,
CONSTRAINT `fk_ur_role_id` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户角色关联表';
-- 角色权限关联表
DROP TABLE IF EXISTS `sys_role_permission`;
CREATE TABLE `sys_role_permission` (
`id` varchar(32) NOT NULL COMMENT '主键ID',
`role_id` varchar(32) NOT NULL COMMENT '角色ID',
`permission_id` varchar(32) NOT NULL COMMENT '权限ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_role_permission` (`role_id`,`permission_id`),
KEY `idx_permission_id` (`permission_id`),
CONSTRAINT `fk_rp_role_id` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE,
CONSTRAINT `fk_rp_permission_id` FOREIGN KEY (`permission_id`) REFERENCES `sys_permission` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色权限关联表';
-- 参数表
DROP TABLE IF EXISTS `sys_param`;
CREATE TABLE `sys_param` (
`id` varchar(32) NOT NULL COMMENT '主键ID',
`param_type` varchar(20) NOT NULL COMMENT '参数类型',
`param_name` varchar(50) NOT NULL COMMENT '参数名称',
`param_value` varchar(100) DEFAULT NULL COMMENT '参数值',
`data_type` varchar(10) NOT NULL DEFAULT 'STRING' COMMENT '数据类型STRING-字符串NUMBER-数字BOOLEAN-布尔值DATE-日期',
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态0-禁用1-启用',
`flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '标识0-未删除1-已删除',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_param_type_name` (`param_type`, `param_name`),
KEY `idx_param_type` (`param_type`),
KEY `idx_status` (`status`),
KEY `idx_sort_order` (`sort_order`),
CONSTRAINT `fk_param_type` FOREIGN KEY (`param_type`) REFERENCES `sys_param_type` (`type_code`) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统参数表';
-- 参数类型表
DROP TABLE IF EXISTS `sys_param_type`;
CREATE TABLE `sys_param_type` (
`id` varchar(32) NOT NULL COMMENT '主键ID',
`type_code` varchar(20) NOT NULL COMMENT '类型编码',
`type_name` varchar(50) NOT NULL COMMENT '类型名称',
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态0-禁用1-启用',
`flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '标识0-未删除1-已删除',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_type_code` (`type_code`),
KEY `idx_status` (`status`),
KEY `idx_sort_order` (`sort_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='参数类型表';
-- ----------------------------
-- 业务相关表
-- ----------------------------
-- 人才基本信息表
DROP TABLE IF EXISTS `talent_basic`;
CREATE TABLE `talent_basic` (
`id` varchar(32) NOT NULL COMMENT '人才id',
`name` varchar(50) NOT NULL COMMENT '姓名',
`sex` tinyint(1) DEFAULT NULL COMMENT '性别(0-男1-女)',
`birth_date` date DEFAULT NULL COMMENT '出生日期',
`unit_id` varchar(32) DEFAULT NULL COMMENT '单位id',
`unit_type` varchar(20) DEFAULT NULL COMMENT '单位类型school-高校company-企业',
`highest_edu` varchar(20) DEFAULT NULL COMMENT '最高学历',
`highest_school` varchar(100) DEFAULT NULL COMMENT '最高学历毕业学校',
`classify_grade` varchar(20) DEFAULT NULL COMMENT '分类定级人才',
`title` varchar(20) DEFAULT NULL COMMENT '职称',
`region` varchar(12) NOT NULL COMMENT '地区编码',
`image` varchar(255) DEFAULT NULL COMMENT '照片',
`highest_position` varchar(20) DEFAULT NULL COMMENT '最高技术职务资格',
`entry_date` date NOT NULL COMMENT '入职时间',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
PRIMARY KEY (`id`),
KEY `idx_name` (`name`),
KEY `idx_unit_id` (`unit_id`),
KEY `idx_highest_edu` (`highest_edu`),
KEY `idx_classify_grade` (`classify_grade`),
KEY `idx_title` (`title`),
KEY `idx_highest_position` (`highest_position`),
KEY `idx_create_time` (`create_time`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='人才基本信息表';
-- 工作单位信息表
DROP TABLE IF EXISTS `employment_unit`;
CREATE TABLE `employment_unit` (
`id` varchar(32) NOT NULL COMMENT '工作单位id',
`unit_name` varchar(100) NOT NULL COMMENT '工作单位名称',
`unit_address` varchar(100) NOT NULL COMMENT '工作单位地址',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`),
KEY `idx_unit_name` (`unit_name`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='工作单位信息表';
-- 科研项目信息表
DROP TABLE IF EXISTS `research_project`;
CREATE TABLE `research_project` (
`id` varchar(32) NOT NULL COMMENT '项目ID',
`name` varchar(255) NOT NULL COMMENT '项目名称',
`title_en` varchar(255) DEFAULT NULL COMMENT '项目名称英文版',
`project_type` varchar(20) DEFAULT NULL COMMENT '项目类型',
`keyword_original` varchar(100) DEFAULT NULL COMMENT '检索关键词',
`keyword_en` varchar(255) DEFAULT NULL COMMENT '检索关键词英文',
`summary_cn` text COMMENT '摘要',
`summary_en` text COMMENT '摘要英文',
`funding` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '预算/财政拨款',
`currency_code` char(3) NOT NULL DEFAULT 'CNY' COMMENT '货币代码',
`funding_dollar` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '项目金额(美元)',
`apply_year` year DEFAULT NULL COMMENT '申请年份',
`plan_start_date` date DEFAULT NULL COMMENT '项目启动时间',
`plan_end_date` date DEFAULT NULL COMMENT '项目终止时间',
`undertake_unit_id` varchar(32) DEFAULT NULL COMMENT '承担单位id',
`undertake_unit_state` varchar(50) DEFAULT NULL COMMENT '省份',
`undertake_unit_country` varchar(50) DEFAULT NULL COMMENT '国家',
`funder_name` varchar(50) DEFAULT NULL COMMENT '资金名称',
`funder_group` varchar(50) DEFAULT NULL COMMENT '资金来源组织',
`funder_country` varchar(30) DEFAULT NULL COMMENT '资金国家',
`primary_subject` varchar(20) DEFAULT NULL COMMENT '学科大类(第一学科)',
`sub_subject` varchar(20) DEFAULT NULL COMMENT '学科小类',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态1-草稿2-已发布',
`flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除0-未删除1-已删除',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`),
KEY `idx_name` (`name`),
KEY `idx_apply_year` (`apply_year`),
KEY `idx_project_type` (`project_type`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`),
KEY `idx_undertake_unit_id` (`undertake_unit_id`),
CONSTRAINT `fk_rp_undertake_unit_id` FOREIGN KEY (`undertake_unit_id`) REFERENCES `employment_unit` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='科研项目信息表';
-- 科研项目人才业务关联表
DROP TABLE IF EXISTS `research_project_talent`;
CREATE TABLE `research_project_talent` (
`id` varchar(32) NOT NULL COMMENT '立项项目id',
`project_id` varchar(32) NOT NULL COMMENT '项目编号',
`talent_id` varchar(32) NOT NULL COMMENT '人才id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
PRIMARY KEY (`id`),
KEY `idx_project_id` (`project_id`),
KEY `idx_talent_id` (`talent_id`),
CONSTRAINT `fk_rpt_talent_id` FOREIGN KEY (`talent_id`) REFERENCES `talent_basic` (`id`) ON DELETE CASCADE,
CONSTRAINT `fk_rpt_project_id` FOREIGN KEY (`project_id`) REFERENCES `research_project` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='科研项目人才信息表';
-- 科技报告信息表
DROP TABLE IF EXISTS `tech_report`;
CREATE TABLE `tech_report` (
`id` varchar(32) NOT NULL COMMENT '报告id',
`project_id` varchar(50) NOT NULL COMMENT '项目id',
`report_name_cn` varchar(200) NOT NULL COMMENT '报告名称(中文)',
`report_name` varchar(200) NOT NULL COMMENT '报告名称(英文)',
`author_cn` varchar(50) NOT NULL COMMENT '作者(中文)',
`author_en` varchar(50) NOT NULL COMMENT '作者(英文)',
`workplace_cn` varchar(200) NOT NULL COMMENT '作者单位(中文)',
`workplace_en` varchar(200) NOT NULL COMMENT '作者单位(英文)',
`keyword_cn` varchar(100) NOT NULL COMMENT '关键词(中文)',
`keyword_en` varchar(100) NOT NULL COMMENT '关键词(英文)',
`summary_cn` text NOT NULL COMMENT '摘要(中文)',
`summary_en` text NOT NULL COMMENT '摘要(英文)',
`writing_time` datetime NOT NULL COMMENT '编撰时间',
`institution` varchar(100) NOT NULL COMMENT '支持机构',
`report_type` varchar(20) DEFAULT NULL COMMENT '报告类型',
`channel` varchar(100) NOT NULL COMMENT '支持渠道',
`is_public` enum('','') NOT NULL COMMENT '是否公开',
`status` enum('草稿','已发布') NOT NULL COMMENT '报告状态',
`report_path` varchar(255) DEFAULT NULL COMMENT '报告全文路径',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`),
KEY `idx_project_id` (`project_id`),
KEY `idx_report_name_cn` (`report_name_cn`),
KEY `idx_writing_time` (`writing_time`),
KEY `idx_report_type` (`report_type`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`),
CONSTRAINT `fk_tr_project_id` FOREIGN KEY (`project_id`) REFERENCES `research_project` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='科技报告信息表';
-- 人才报告关联表
DROP TABLE IF EXISTS `talent_report`;
CREATE TABLE `talent_report` (
`id` varchar(32) NOT NULL COMMENT '人才报告关联表id',
`talent_id` varchar(32) NOT NULL COMMENT '人才id',
`report_id` varchar(32) NOT NULL COMMENT '报告id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
PRIMARY KEY (`id`),
KEY `idx_report_id` (`report_id`),
KEY `idx_talent_id` (`talent_id`),
CONSTRAINT `fk_tr_talent_id` FOREIGN KEY (`talent_id`) REFERENCES `talent_basic` (`id`) ON DELETE CASCADE,
CONSTRAINT `fk_tr_report_id` FOREIGN KEY (`report_id`) REFERENCES `tech_report` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='人才报告关联表';
-- 学术奖励信息表
DROP TABLE IF EXISTS `academic_award`;
CREATE TABLE `academic_award` (
`id` varchar(32) NOT NULL COMMENT '奖项id',
`talent_id` varchar(32) NOT NULL COMMENT '人才id',
`award_name` varchar(100) NOT NULL COMMENT '奖励名称',
`award_level` varchar(20) NOT NULL COMMENT '奖励级别',
`award_time` date NOT NULL COMMENT '授予时间',
`awarding_agency` varchar(100) NOT NULL COMMENT '授予机构',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`),
KEY `idx_talent_id` (`talent_id`),
KEY `idx_award_level` (`award_level`),
KEY `idx_award_time` (`award_time`),
KEY `idx_create_time` (`create_time`),
CONSTRAINT `fk_aa_talent_id` FOREIGN KEY (`talent_id`) REFERENCES `talent_basic` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='学术奖励信息表';
-- 企业信息表
DROP TABLE IF EXISTS `enterprise_info`;
CREATE TABLE `enterprise_info` (
`id` varchar(32) NOT NULL COMMENT '企业id',
`taxpayer_id` varchar(20) NOT NULL COMMENT '纳税人识别号',
`company_name` varchar(255) DEFAULT NULL COMMENT '企业名称',
`company_type` varchar(50) DEFAULT NULL COMMENT '企业类型',
`is_high_tech_certified` tinyint(1) DEFAULT NULL COMMENT '是否高新技术企业认证01',
`qualification_certificate` text COMMENT '资质证书',
`company_status` varchar(50) DEFAULT NULL COMMENT '企业状态参数表COMPANY_STATUS',
`legal_representative_name` varchar(32) DEFAULT NULL COMMENT '法定代表人姓名',
`registered_capital` varchar(255) DEFAULT NULL COMMENT '注册资本',
`company_address` varchar(255) DEFAULT NULL COMMENT '企业地址',
`province` varchar(50) DEFAULT NULL COMMENT '所属省份',
`city` varchar(50) DEFAULT NULL COMMENT '所属城市',
`district` varchar(50) DEFAULT NULL COMMENT '所属区域',
`industry` varchar(20) DEFAULT NULL COMMENT '所属行业',
`establishment_date` date DEFAULT NULL COMMENT '成立日期',
`employee_count` int DEFAULT NULL COMMENT '员工人数',
`website` varchar(255) DEFAULT NULL COMMENT '网址',
`business_scope` text COMMENT '经营范围',
`contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
`contact_email` varchar(100) DEFAULT NULL COMMENT '联系邮箱',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
PRIMARY KEY (`id`),
KEY `idx_company_name` (`company_name`),
KEY `idx_company_status` (`company_status`),
KEY `idx_create_time` (`create_time`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='企业信息表';
-- 荣誉称号信息表
DROP TABLE IF EXISTS `honorary_title`;
CREATE TABLE `honorary_title` (
`id` varchar(32) NOT NULL COMMENT '荣誉ID',
`talent_id` varchar(32) NOT NULL COMMENT '人才ID',
`honor_title` varchar(100) NOT NULL COMMENT '荣誉称号',
`award_time` date NOT NULL COMMENT '授予时间',
`awarding_agency` varchar(100) NOT NULL COMMENT '授予机构',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`),
KEY `idx_talent_id` (`talent_id`),
KEY `idx_award_time` (`award_time`),
KEY `idx_create_time` (`create_time`),
CONSTRAINT `fk_ht_talent_id` FOREIGN KEY (`talent_id`) REFERENCES `talent_basic` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='荣誉称号信息表';
-- 论文专著信息表
DROP TABLE IF EXISTS `papers_and_monographs`;
CREATE TABLE `papers_and_monographs` (
`id` varchar(32) NOT NULL COMMENT '论文专著ID',
`talent_id` varchar(32) NOT NULL COMMENT '人才ID',
`title` varchar(200) NOT NULL COMMENT '标题',
`publication_time` datetime NOT NULL COMMENT '发表时间',
`journal_name` varchar(100) NOT NULL COMMENT '刊物名称',
`volume_number` varchar(20) NOT NULL COMMENT '卷号',
`issue_number` varchar(20) NOT NULL COMMENT '期号',
`page_range` varchar(20) NOT NULL COMMENT '页码',
`doi` varchar(50) NOT NULL COMMENT 'DOI号',
`work_type` varchar(20) NOT NULL COMMENT '著作类型(参数表WORK_TYPE)',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态1-草稿2-已发布',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
PRIMARY KEY (`id`),
KEY `idx_talent_id` (`talent_id`),
KEY `idx_publication_time` (`publication_time`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`),
CONSTRAINT `fk_pm_talent_id` FOREIGN KEY (`talent_id`) REFERENCES `talent_basic` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='论文专著信息表';
-- 论文专著关联表
DROP TABLE IF EXISTS `papers_and_monographs_talent`;
CREATE TABLE `papers_and_monographs_talent` (
`id` varchar(32) NOT NULL COMMENT '业务表ID',
`talent_id` varchar(32) NOT NULL COMMENT '人才ID',
`papers_and_monographs_id` varchar(32) NOT NULL COMMENT '论文专著id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_talent_papers` (`talent_id`,`papers_and_monographs_id`),
KEY `idx_papers_and_monographs_id` (`papers_and_monographs_id`),
CONSTRAINT `fk_pmt_talent_id` FOREIGN KEY (`talent_id`) REFERENCES `talent_basic` (`id`) ON DELETE CASCADE,
CONSTRAINT `fk_pmt_papers_and_monographs_id` FOREIGN KEY (`papers_and_monographs_id`) REFERENCES `papers_and_monographs` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='论文专著关联表';
-- 专利信息表
DROP TABLE IF EXISTS `patent`;
CREATE TABLE `patent` (
`id` varchar(32) NOT NULL COMMENT '专利id',
`talent_id` varchar(32) NOT NULL COMMENT '人才id',
`patent_name` varchar(100) NOT NULL COMMENT '专利名称',
`patent_number` varchar(30) NOT NULL COMMENT '专利编号',
`application_time` date NOT NULL COMMENT '申请时间',
`authorization_time` date NOT NULL COMMENT '授权时间',
`status` varchar(10) NOT NULL DEFAULT '1' COMMENT '状态1-草稿2-已发布',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
PRIMARY KEY (`id`),
KEY `idx_talent_id` (`talent_id`),
KEY `idx_application_time` (`application_time`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`),
CONSTRAINT `fk_p_talent_id` FOREIGN KEY (`talent_id`) REFERENCES `talent_basic` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='专利信息表';
-- 专利信息关联表
DROP TABLE IF EXISTS `patent_talent`;
CREATE TABLE `patent_talent` (
`id` varchar(32) NOT NULL COMMENT '业务表id',
`talent_id` varchar(32) NOT NULL COMMENT '人才id',
`patent_id` varchar(32) NOT NULL COMMENT '专利id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_talent_patent` (`talent_id`,`patent_id`),
KEY `idx_patent_id` (`patent_id`),
CONSTRAINT `fk_pt_talent_id` FOREIGN KEY (`talent_id`) REFERENCES `talent_basic` (`id`) ON DELETE CASCADE,
CONSTRAINT `fk_pt_patent_id` FOREIGN KEY (`patent_id`) REFERENCES `patent` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='专利信息关联表';
-- 立项项目信息表
DROP TABLE IF EXISTS `project_initiation`;
CREATE TABLE `project_initiation` (
`id` varchar(32) NOT NULL COMMENT '立项项目id',
`project_proposal_number` varchar(100) NOT NULL COMMENT '立项项目编号',
`project_name` varchar(100) DEFAULT NULL COMMENT '项目名称',
`project_from` varchar(100) DEFAULT NULL COMMENT '项目来源',
`project_type` varchar(100) DEFAULT NULL COMMENT '项目类型',
`funding_from` varchar(100) DEFAULT NULL COMMENT '资金来源组织',
`undertaking_unit_id` varchar(32) DEFAULT NULL COMMENT '承担单位id',
`project_account` decimal(12,2) DEFAULT NULL COMMENT '项目金额',
`start_time` date DEFAULT NULL COMMENT '项目启动时间',
`end_time` date DEFAULT NULL COMMENT '项目终止时间',
`project_status` varchar(20) DEFAULT NULL COMMENT '项目当前状态(PROJECT_STATUS)',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态1-草稿2-已发布',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
PRIMARY KEY (`id`),
KEY `idx_project_name` (`project_name`),
KEY `idx_project_status` (`project_status`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`),
KEY `idx_undertaking_unit_id` (`undertaking_unit_id`),
CONSTRAINT `fk_pi_undertaking_unit_id` FOREIGN KEY (`undertaking_unit_id`) REFERENCES `employment_unit` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='立项项目信息表';
-- 人才立项关联表
DROP TABLE IF EXISTS `talent_project_initiation`;
CREATE TABLE `talent_project_initiation` (
`id` varchar(32) NOT NULL COMMENT '业务表id',
`talent_id` varchar(32) NOT NULL COMMENT '人才id',
`project_initiation_id` varchar(32) NOT NULL COMMENT '立项项目id',
`is_principal` boolean NOT NULL COMMENT '是否负责人01',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_talent_project` (`talent_id`,`project_initiation_id`),
KEY `idx_project_initiation_id` (`project_initiation_id`),
CONSTRAINT `fk_tpi_talent_id` FOREIGN KEY (`talent_id`) REFERENCES `talent_basic` (`id`) ON DELETE CASCADE,
CONSTRAINT `fk_tpi_project_initiation_id` FOREIGN KEY (`project_initiation_id`) REFERENCES `project_initiation` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='人才立项关联表';
-- 履历信息表
DROP TABLE IF EXISTS `resume`;
CREATE TABLE `resume` (
`id` varchar(32) NOT NULL COMMENT '履历ID',
`talent_id` varchar(32) NOT NULL COMMENT '人才ID',
`start_time` datetime NOT NULL COMMENT '起始时间',
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
`unit_id` varchar(32) NOT NULL COMMENT '所在单位id',
`work_content` text NOT NULL COMMENT '工作内容',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除1-已删除',
PRIMARY KEY (`id`),
KEY `idx_talent_id` (`talent_id`),
KEY `idx_create_time` (`create_time`),
CONSTRAINT `fk_r_talent_id` FOREIGN KEY (`talent_id`) REFERENCES `talent_basic` (`id`) ON DELETE CASCADE,
CONSTRAINT `fk_r_unit_id` FOREIGN KEY (`unit_id`) REFERENCES `employment_unit` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='履历信息表';
ALTER TABLE employment_unit COMMENT = '高校信息表';
RENAME TABLE employment_unit TO school;
ALTER TABLE `talent_basic`
ADD COLUMN `unit_type` varchar(20) DEFAULT NULL COMMENT '单位类型school-高校company-企业' AFTER `unit_id`;