# 高校创新创业项目孵化平台 - 数据库设计文档

## 一、数据库概述

### 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*