477 lines
23 KiB
Markdown
Executable File
477 lines
23 KiB
Markdown
Executable File
# 高校创新创业项目孵化平台 - 数据库设计文档
|
||
|
||
## 一、数据库概述
|
||
|
||
### 1.1 设计原则
|
||
- 遵循第三范式,减少数据冗余
|
||
- 合理设置索引,优化查询性能
|
||
- 使用软删除,保留历史数据
|
||
- 统一字段命名规范(下划线命名法)
|
||
|
||
### 1.2 公共字段说明
|
||
|
||
所有表都包含以下公共字段:
|
||
|
||
| 字段名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| id | BIGINT | 主键,自增 |
|
||
| create_time | DATETIME | 创建时间 |
|
||
| update_time | DATETIME | 更新时间 |
|
||
| create_by | BIGINT | 创建人ID |
|
||
| update_by | BIGINT | 更新人ID |
|
||
| deleted | TINYINT | 逻辑删除标识(0-未删除,1-已删除) |
|
||
|
||
---
|
||
|
||
## 二、用户相关表
|
||
|
||
### 2.1 用户表 (sys_user)
|
||
|
||
```sql
|
||
CREATE TABLE `sys_user` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
||
`username` VARCHAR(50) NOT NULL COMMENT '用户名',
|
||
`password` VARCHAR(100) NOT NULL COMMENT '密码(BCrypt加密)',
|
||
`real_name` VARCHAR(50) NOT NULL COMMENT '真实姓名',
|
||
`gender` TINYINT DEFAULT 0 COMMENT '性别(0-未知,1-男,2-女)',
|
||
`phone` VARCHAR(20) DEFAULT NULL COMMENT '联系电话',
|
||
`email` VARCHAR(100) DEFAULT NULL COMMENT '邮箱',
|
||
`avatar` VARCHAR(255) DEFAULT NULL COMMENT '头像URL',
|
||
`status` TINYINT DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
|
||
`role_type` TINYINT NOT NULL COMMENT '角色类型(1-学生,2-教师,3-管理员)',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '创建人',
|
||
`update_by` BIGINT DEFAULT NULL COMMENT '更新人',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_username` (`username`),
|
||
KEY `idx_role_type` (`role_type`),
|
||
KEY `idx_status` (`status`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
|
||
```
|
||
|
||
### 2.2 学生信息表 (stu_info)
|
||
|
||
```sql
|
||
CREATE TABLE `stu_info` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
||
`student_no` VARCHAR(20) NOT NULL COMMENT '学号',
|
||
`college` VARCHAR(100) NOT NULL COMMENT '学院',
|
||
`major` VARCHAR(100) NOT NULL COMMENT '专业',
|
||
`grade` VARCHAR(10) NOT NULL COMMENT '年级',
|
||
`class_name` VARCHAR(50) DEFAULT NULL COMMENT '班级',
|
||
`advisor_id` BIGINT DEFAULT NULL COMMENT '指导教师ID',
|
||
`total_credit` DECIMAL(5,1) DEFAULT 0.0 COMMENT '累计创新学分',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_student_no` (`student_no`),
|
||
UNIQUE KEY `uk_user_id` (`user_id`),
|
||
KEY `idx_college` (`college`),
|
||
KEY `idx_grade` (`grade`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生信息表';
|
||
```
|
||
|
||
### 2.3 教师信息表 (teacher_info)
|
||
|
||
```sql
|
||
CREATE TABLE `teacher_info` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
||
`teacher_no` VARCHAR(20) NOT NULL COMMENT '工号',
|
||
`college` VARCHAR(100) NOT NULL COMMENT '学院',
|
||
`title` VARCHAR(50) DEFAULT NULL COMMENT '职称',
|
||
`research_field` VARCHAR(255) DEFAULT NULL COMMENT '研究方向',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_teacher_no` (`teacher_no`),
|
||
UNIQUE KEY `uk_user_id` (`user_id`),
|
||
KEY `idx_college` (`college`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='教师信息表';
|
||
```
|
||
|
||
---
|
||
|
||
## 三、项目相关表
|
||
|
||
### 3.1 项目表 (project)
|
||
|
||
```sql
|
||
CREATE TABLE `project` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '项目ID',
|
||
`project_no` VARCHAR(30) NOT NULL COMMENT '项目编号',
|
||
`project_name` VARCHAR(200) NOT NULL COMMENT '项目名称',
|
||
`project_type` TINYINT NOT NULL COMMENT '项目类型(1-创新训练,2-创业训练,3-创业实践)',
|
||
`project_level` TINYINT NOT NULL COMMENT '项目级别(1-校级,2-省级,3-国家级)',
|
||
`leader_id` BIGINT NOT NULL COMMENT '负责人ID',
|
||
`advisor_id` BIGINT NOT NULL COMMENT '指导教师ID',
|
||
`description` TEXT COMMENT '项目简介',
|
||
`research_plan` TEXT COMMENT '研究计划',
|
||
`expected_result` TEXT COMMENT '预期成果',
|
||
`budget` DECIMAL(10,2) DEFAULT 0.00 COMMENT '经费预算',
|
||
`status` TINYINT DEFAULT 1 COMMENT '状态(1-待初审,2-初审中,3-初审通过,4-初审不通过,5-中期检查中,6-中期通过,7-中期不通过,8-结题验收中,9-已结题,10-已归档)',
|
||
`start_time` DATE DEFAULT NULL COMMENT '立项时间',
|
||
`end_time` DATE DEFAULT NULL COMMENT '结题时间',
|
||
`college` VARCHAR(100) DEFAULT NULL COMMENT '所属学院',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '创建人',
|
||
`update_by` BIGINT DEFAULT NULL COMMENT '更新人',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_project_no` (`project_no`),
|
||
KEY `idx_leader_id` (`leader_id`),
|
||
KEY `idx_advisor_id` (`advisor_id`),
|
||
KEY `idx_status` (`status`),
|
||
KEY `idx_project_level` (`project_level`),
|
||
KEY `idx_college` (`college`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目表';
|
||
```
|
||
|
||
### 3.2 项目成员表 (project_member)
|
||
|
||
```sql
|
||
CREATE TABLE `project_member` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||
`project_id` BIGINT NOT NULL COMMENT '项目ID',
|
||
`user_id` BIGINT NOT NULL COMMENT '成员ID',
|
||
`member_order` INT DEFAULT 1 COMMENT '成员排名(影响学分分配)',
|
||
`role` TINYINT DEFAULT 1 COMMENT '角色(1-成员,2-负责人)',
|
||
`join_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '加入时间',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_project_user` (`project_id`, `user_id`),
|
||
KEY `idx_user_id` (`user_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目成员表';
|
||
```
|
||
|
||
### 3.3 项目附件表 (project_attachment)
|
||
|
||
```sql
|
||
CREATE TABLE `project_attachment` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||
`project_id` BIGINT NOT NULL COMMENT '项目ID',
|
||
`file_name` VARCHAR(255) NOT NULL COMMENT '文件名',
|
||
`file_path` VARCHAR(500) NOT NULL COMMENT '文件路径',
|
||
`file_size` BIGINT DEFAULT NULL COMMENT '文件大小(字节)',
|
||
`file_type` VARCHAR(50) DEFAULT NULL COMMENT '文件类型',
|
||
`attachment_type` TINYINT DEFAULT 1 COMMENT '附件类型(1-申报材料,2-中期材料,3-结题材料)',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '上传人',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_project_id` (`project_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目附件表';
|
||
```
|
||
|
||
---
|
||
|
||
## 四、评审相关表
|
||
|
||
### 4.1 评审表 (review)
|
||
|
||
```sql
|
||
CREATE TABLE `review` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '评审ID',
|
||
`project_id` BIGINT NOT NULL COMMENT '项目ID',
|
||
`reviewer_id` BIGINT NOT NULL COMMENT '评审人ID',
|
||
`review_type` TINYINT NOT NULL COMMENT '评审类型(1-初审,2-中期检查,3-结题验收)',
|
||
`score` DECIMAL(5,1) DEFAULT NULL COMMENT '评审分数(0-100)',
|
||
`opinion` TEXT COMMENT '评审意见',
|
||
`result` TINYINT DEFAULT NULL COMMENT '评审结果(1-通过,2-不通过,3-修改后通过)',
|
||
`status` TINYINT DEFAULT 1 COMMENT '状态(1-待评审,2-已评审)',
|
||
`review_time` DATETIME DEFAULT NULL COMMENT '评审时间',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_project_id` (`project_id`),
|
||
KEY `idx_reviewer_id` (`reviewer_id`),
|
||
KEY `idx_review_type` (`review_type`),
|
||
KEY `idx_status` (`status`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评审表';
|
||
```
|
||
|
||
### 4.2 评审评分项表 (review_score_item)
|
||
|
||
```sql
|
||
CREATE TABLE `review_score_item` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||
`review_id` BIGINT NOT NULL COMMENT '评审ID',
|
||
`item_name` VARCHAR(100) NOT NULL COMMENT '评分项名称',
|
||
`item_score` DECIMAL(5,1) NOT NULL COMMENT '该项分数',
|
||
`max_score` DECIMAL(5,1) NOT NULL COMMENT '该项满分',
|
||
`item_comment` VARCHAR(500) DEFAULT NULL COMMENT '该项评语',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_review_id` (`review_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评审评分项表';
|
||
```
|
||
|
||
---
|
||
|
||
## 五、成果相关表
|
||
|
||
### 5.1 成果表 (achievement)
|
||
|
||
```sql
|
||
CREATE TABLE `achievement` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '成果ID',
|
||
`project_id` BIGINT NOT NULL COMMENT '项目ID',
|
||
`achievement_type` TINYINT NOT NULL COMMENT '成果类型(1-学术论文,2-发明专利,3-实用新型专利,4-软件著作权,5-竞赛获奖,6-创业实践,7-其他)',
|
||
`achievement_name` VARCHAR(200) NOT NULL COMMENT '成果名称',
|
||
`achievement_level` TINYINT DEFAULT NULL COMMENT '成果级别(1-校级,2-市级,3-省级,4-国家级,5-国际级)',
|
||
`author_names` VARCHAR(500) DEFAULT NULL COMMENT '作者/获奖人姓名',
|
||
`publish_time` DATE DEFAULT NULL COMMENT '发表/获得时间',
|
||
`publish_org` VARCHAR(200) DEFAULT NULL COMMENT '发表/颁发机构',
|
||
`description` TEXT COMMENT '成果描述',
|
||
`credit` DECIMAL(5,1) DEFAULT 0.0 COMMENT '认定学分',
|
||
`status` TINYINT DEFAULT 1 COMMENT '状态(1-待审核,2-已认证,3-审核不通过)',
|
||
`auditor_id` BIGINT DEFAULT NULL COMMENT '审核人ID',
|
||
`audit_time` DATETIME DEFAULT NULL COMMENT '审核时间',
|
||
`audit_opinion` VARCHAR(500) DEFAULT NULL COMMENT '审核意见',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '创建人',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_project_id` (`project_id`),
|
||
KEY `idx_achievement_type` (`achievement_type`),
|
||
KEY `idx_status` (`status`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成果表';
|
||
```
|
||
|
||
### 5.2 成果附件表 (achievement_attachment)
|
||
|
||
```sql
|
||
CREATE TABLE `achievement_attachment` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||
`achievement_id` BIGINT NOT NULL COMMENT '成果ID',
|
||
`file_name` VARCHAR(255) NOT NULL COMMENT '文件名',
|
||
`file_path` VARCHAR(500) NOT NULL COMMENT '文件路径',
|
||
`file_size` BIGINT DEFAULT NULL COMMENT '文件大小(字节)',
|
||
`file_type` VARCHAR(50) DEFAULT NULL COMMENT '文件类型',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '上传人',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_achievement_id` (`achievement_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成果附件表';
|
||
```
|
||
|
||
---
|
||
|
||
## 六、学分相关表
|
||
|
||
### 6.1 学分规则表 (credit_rule)
|
||
|
||
```sql
|
||
CREATE TABLE `credit_rule` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '规则ID',
|
||
`rule_name` VARCHAR(100) NOT NULL COMMENT '规则名称',
|
||
`rule_type` TINYINT NOT NULL COMMENT '规则类型(1-项目级别,2-成果类型)',
|
||
`target_type` TINYINT NOT NULL COMMENT '目标类型(与项目级别或成果类型对应)',
|
||
`target_level` TINYINT DEFAULT NULL COMMENT '目标级别(用于成果级别细分)',
|
||
`base_credit` DECIMAL(5,1) NOT NULL COMMENT '基础学分',
|
||
`leader_coefficient` DECIMAL(3,2) DEFAULT 1.00 COMMENT '负责人系数',
|
||
`member_coefficient` DECIMAL(3,2) DEFAULT 0.50 COMMENT '成员系数',
|
||
`description` VARCHAR(500) DEFAULT NULL COMMENT '规则说明',
|
||
`status` TINYINT DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`create_by` BIGINT DEFAULT NULL COMMENT '创建人',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_rule_type` (`rule_type`),
|
||
KEY `idx_target_type` (`target_type`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学分规则表';
|
||
```
|
||
|
||
### 6.2 学分明细表 (credit_detail)
|
||
|
||
```sql
|
||
CREATE TABLE `credit_detail` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '明细ID',
|
||
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
||
`project_id` BIGINT DEFAULT NULL COMMENT '项目ID',
|
||
`achievement_id` BIGINT DEFAULT NULL COMMENT '成果ID',
|
||
`credit_source` TINYINT NOT NULL COMMENT '学分来源(1-项目结题,2-成果认证)',
|
||
`credit` DECIMAL(5,1) NOT NULL COMMENT '获得学分',
|
||
`coefficient` DECIMAL(3,2) DEFAULT 1.00 COMMENT '分配系数',
|
||
`rule_id` BIGINT DEFAULT NULL COMMENT '适用规则ID',
|
||
`remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
|
||
`status` TINYINT DEFAULT 1 COMMENT '状态(1-正常,2-申诉中,3-已调整)',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_user_id` (`user_id`),
|
||
KEY `idx_project_id` (`project_id`),
|
||
KEY `idx_achievement_id` (`achievement_id`),
|
||
KEY `idx_credit_source` (`credit_source`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学分明细表';
|
||
```
|
||
|
||
### 6.3 学分申诉表 (credit_appeal)
|
||
|
||
```sql
|
||
CREATE TABLE `credit_appeal` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '申诉ID',
|
||
`credit_detail_id` BIGINT NOT NULL COMMENT '学分明细ID',
|
||
`user_id` BIGINT NOT NULL COMMENT '申诉人ID',
|
||
`appeal_reason` TEXT NOT NULL COMMENT '申诉原因',
|
||
`appeal_evidence` VARCHAR(500) DEFAULT NULL COMMENT '申诉证据(附件路径)',
|
||
`status` TINYINT DEFAULT 1 COMMENT '状态(1-待处理,2-已通过,3-已驳回)',
|
||
`handler_id` BIGINT DEFAULT NULL COMMENT '处理人ID',
|
||
`handle_time` DATETIME DEFAULT NULL COMMENT '处理时间',
|
||
`handle_result` TEXT COMMENT '处理结果',
|
||
`adjusted_credit` DECIMAL(5,1) DEFAULT NULL COMMENT '调整后学分',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_credit_detail_id` (`credit_detail_id`),
|
||
KEY `idx_user_id` (`user_id`),
|
||
KEY `idx_status` (`status`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学分申诉表';
|
||
```
|
||
|
||
---
|
||
|
||
## 七、系统管理表
|
||
|
||
### 7.1 操作日志表 (sys_log)
|
||
|
||
```sql
|
||
CREATE TABLE `sys_log` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '日志ID',
|
||
`user_id` BIGINT DEFAULT NULL COMMENT '操作用户ID',
|
||
`username` VARCHAR(50) DEFAULT NULL COMMENT '操作用户名',
|
||
`operation` VARCHAR(100) NOT NULL COMMENT '操作名称',
|
||
`method` VARCHAR(200) DEFAULT NULL COMMENT '请求方法',
|
||
`params` TEXT COMMENT '请求参数',
|
||
`ip` VARCHAR(50) DEFAULT NULL COMMENT 'IP地址',
|
||
`time` BIGINT DEFAULT NULL COMMENT '执行时长(毫秒)',
|
||
`result` TINYINT DEFAULT 1 COMMENT '执行结果(1-成功,0-失败)',
|
||
`error_msg` TEXT COMMENT '错误信息',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_user_id` (`user_id`),
|
||
KEY `idx_create_time` (`create_time`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志表';
|
||
```
|
||
|
||
### 7.2 系统配置表 (sys_config)
|
||
|
||
```sql
|
||
CREATE TABLE `sys_config` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '配置ID',
|
||
`config_key` VARCHAR(100) NOT NULL COMMENT '配置键',
|
||
`config_value` VARCHAR(500) NOT NULL COMMENT '配置值',
|
||
`config_name` VARCHAR(100) NOT NULL COMMENT '配置名称',
|
||
`description` VARCHAR(255) DEFAULT NULL COMMENT '配置说明',
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`deleted` TINYINT DEFAULT 0 COMMENT '删除标识',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_config_key` (`config_key`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表';
|
||
```
|
||
|
||
---
|
||
|
||
## 八、数据库关系图(文字描述)
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 用户子系统 │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ sys_user (用户表) │
|
||
│ │ │
|
||
│ ├──1:1──> stu_info (学生信息表) │
|
||
│ └──1:1──> teacher_info (教师信息表) │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 项目子系统 │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ project (项目表) │
|
||
│ │ │
|
||
│ ├──1:N──> project_member (项目成员表) │
|
||
│ ├──1:N──> project_attachment (项目附件表) │
|
||
│ ├──1:N──> review (评审表) │
|
||
│ ├──1:N──> achievement (成果表) │
|
||
│ └──1:N──> credit_detail (学分明细表) │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 评审子系统 │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ review (评审表) │
|
||
│ │ │
|
||
│ └──1:N──> review_score_item (评审评分项表) │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 成果子系统 │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ achievement (成果表) │
|
||
│ │ │
|
||
│ ├──1:N──> achievement_attachment (成果附件表) │
|
||
│ └──1:1──> credit_detail (学分明细表) │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 学分子系统 │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ credit_rule (学分规则表) │
|
||
│ │ │
|
||
│ └──1:N──> credit_detail (学分明细表) │
|
||
│ │ │
|
||
│ └──1:N──> credit_appeal (学分申诉表) │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 九、初始化数据
|
||
|
||
### 9.1 学分规则初始化数据
|
||
|
||
```sql
|
||
-- 项目级别学分规则
|
||
INSERT INTO credit_rule (rule_name, rule_type, target_type, base_credit, leader_coefficient, member_coefficient, description) VALUES
|
||
('校级项目', 1, 1, 1.0, 1.00, 0.50, '校级创新创业项目基础学分'),
|
||
('省级项目', 1, 2, 2.0, 1.00, 0.50, '省级创新创业项目基础学分'),
|
||
('国家级项目', 1, 3, 3.0, 1.00, 0.50, '国家级创新创业项目基础学分');
|
||
|
||
-- 成果类型学分规则
|
||
INSERT INTO credit_rule (rule_name, rule_type, target_type, target_level, base_credit, description) VALUES
|
||
('学术论文-核心期刊', 2, 1, 3, 1.5, '发表核心期刊论文'),
|
||
('学术论文-SCI/EI', 2, 1, 4, 2.0, '发表SCI/EI论文'),
|
||
('发明专利', 2, 2, NULL, 2.0, '获得发明专利授权'),
|
||
('实用新型专利', 2, 3, NULL, 1.0, '获得实用新型专利授权'),
|
||
('软件著作权', 2, 4, NULL, 0.5, '获得软件著作权登记'),
|
||
('竞赛获奖-省级', 2, 5, 3, 1.0, '省级竞赛获奖'),
|
||
('竞赛获奖-国家级', 2, 5, 4, 2.0, '国家级竞赛获奖');
|
||
```
|
||
|
||
### 9.2 管理员账号初始化
|
||
|
||
```sql
|
||
-- 默认管理员账号(密码: admin123,实际使用BCrypt加密)
|
||
INSERT INTO sys_user (username, password, real_name, gender, role_type, status) VALUES
|
||
('admin', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt9hQIu', '系统管理员', 1, 3, 1);
|
||
```
|
||
|
||
---
|
||
|
||
*文档版本: v1.0*
|
||
*创建日期: 2026-03-01*
|
||
*作者: PMClaw* |