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

550 lines
31 KiB
MySQL
Raw Permalink Normal View History

2025-12-09 23:47:14 +08:00
-- 设置会话变量
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`;