-- 设置会话变量 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 '是否高新技术企业认证(0:否,1:是)', `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 '是否负责人(0:否,1:是)', `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`;