|
@@ -62,186 +62,3 @@ npm run dev
|
|
|
**组长**:
|
|
|
**组员**:
|
|
|
|
|
|
----
|
|
|
-
|
|
|
-# 招聘系统数据库表结构文档
|
|
|
-
|
|
|
-以下是基于您提供的招聘系统数据库的详细表结构说明:
|
|
|
-
|
|
|
-## 1. 职位表 (jobs)
|
|
|
-
|
|
|
-| 字段名 | 类型 | 长度 | 允许空 | 主键 | 默认值 | 说明 |
|
|
|
-|--------|------|------|--------|------|--------|------|
|
|
|
-| id | INT | | 否 | 是 | AUTO_INCREMENT | 职位ID |
|
|
|
-| title | VARCHAR | 100 | 否 | | | 职位名称 |
|
|
|
-| department | VARCHAR | 50 | 否 | | | 所属部门 |
|
|
|
-| location | VARCHAR | 50 | 否 | | | 工作地点 |
|
|
|
-| description | TEXT | | 是 | | NULL | 职位描述 |
|
|
|
-| status | ENUM | | 否 | | 'draft' | 状态(active/paused/draft) |
|
|
|
-| pending_resumes | INT | | 否 | | 0 | 待处理简历数 |
|
|
|
-| passed_resumes | INT | | 否 | | 0 | 通过简历数 |
|
|
|
-| ai_criteria | JSON | | 是 | | NULL | AI筛选标准 |
|
|
|
-| created_at | DATETIME | | 否 | | | 创建时间 |
|
|
|
-| updated_at | DATETIME | | 否 | | | 更新时间 |
|
|
|
-
|
|
|
-**索引**:
|
|
|
-- idx_status (status)
|
|
|
-- idx_location (location)
|
|
|
-- idx_department (department)
|
|
|
-
|
|
|
-## 2. 候选人表 (candidates)
|
|
|
-
|
|
|
-| 字段名 | 类型 | 长度 | 允许空 | 主键 | 默认值 | 说明 |
|
|
|
-|--------|------|------|--------|------|--------|------|
|
|
|
-| id | INT | | 否 | 是 | AUTO_INCREMENT | 候选人ID |
|
|
|
-| name | VARCHAR | 50 | 否 | | | 候选人姓名 |
|
|
|
-| job_id | INT | | 否 | | | 申请职位ID |
|
|
|
-| job_title | VARCHAR | 100 | 否 | | | 职位名称 |
|
|
|
-| match_score | INT | | 否 | | | 匹配分数 |
|
|
|
-| status | ENUM | | 否 | | 'pending' | 状态(pending/passed/rejected/interviewed) |
|
|
|
-| highlights | TEXT | | 是 | | NULL | 亮点 |
|
|
|
-| concerns | TEXT | | 是 | | NULL | 顾虑 |
|
|
|
-| summary | TEXT | | 是 | | NULL | 总结 |
|
|
|
-| resume_text | TEXT | | 否 | | | 简历文本 |
|
|
|
-| education | VARCHAR | 255 | 是 | | NULL | 教育背景 |
|
|
|
-| experience | TEXT | | 是 | | NULL | 工作经验 |
|
|
|
-| skills | TEXT | | 是 | | NULL | 技能 |
|
|
|
-| submitted_at | DATETIME | | 否 | | | 提交时间 |
|
|
|
-| reviewed_at | DATETIME | | 是 | | NULL | 审核时间 |
|
|
|
-
|
|
|
-**外键**:
|
|
|
-- job_id 引用 jobs(id) ON DELETE CASCADE
|
|
|
-
|
|
|
-**索引**:
|
|
|
-- idx_job_id (job_id)
|
|
|
-- idx_status (status)
|
|
|
-- idx_match_score (match_score)
|
|
|
-
|
|
|
-## 3. 面试表 (interviews)
|
|
|
-
|
|
|
-| 字段名 | 类型 | 长度 | 允许空 | 主键 | 默认值 | 说明 |
|
|
|
-|--------|------|------|--------|------|--------|------|
|
|
|
-| id | INT | | 否 | 是 | AUTO_INCREMENT | 面试ID |
|
|
|
-| title | VARCHAR | 100 | 否 | | | 面试标题 |
|
|
|
-| description | TEXT | | 是 | | NULL | 面试描述 |
|
|
|
-| questions | TEXT | | 是 | | NULL | 面试问题 |
|
|
|
-| duration | INT | | 否 | | | 持续时间(分钟) |
|
|
|
-| created_at | DATETIME | | 否 | | | 创建时间 |
|
|
|
-
|
|
|
-**索引**:
|
|
|
-- idx_title (title)
|
|
|
-
|
|
|
-## 4. 候选人-面试关联表 (candidate_interviews)
|
|
|
-
|
|
|
-| 字段名 | 类型 | 长度 | 允许空 | 主键 | 默认值 | 说明 |
|
|
|
-|--------|------|------|--------|------|--------|------|
|
|
|
-| id | INT | | 否 | 是 | AUTO_INCREMENT | 关联ID |
|
|
|
-| candidate_id | INT | | 否 | | | 候选人ID |
|
|
|
-| interview_id | INT | | 否 | | | 面试ID |
|
|
|
-| interview_time | DATETIME | | 否 | | | 面试时间 |
|
|
|
-| interviewer_id | VARCHAR | 36 | 是 | | NULL | 面试官ID |
|
|
|
-| notes | TEXT | | 是 | | NULL | 备注 |
|
|
|
-| result | ENUM | | 否 | | 'scheduled' | 结果(scheduled/in_progress/completed/cancelled) |
|
|
|
-
|
|
|
-**外键**:
|
|
|
-- candidate_id 引用 candidates(id) ON DELETE CASCADE
|
|
|
-- interview_id 引用 interviews(id) ON DELETE CASCADE
|
|
|
-
|
|
|
-**索引**:
|
|
|
-- idx_candidate_interview (candidate_id, interview_id) UNIQUE
|
|
|
-- idx_result (result)
|
|
|
-- idx_interview_time (interview_time)
|
|
|
-
|
|
|
-## 5. 技能表 (skills)
|
|
|
-
|
|
|
-| 字段名 | 类型 | 长度 | 允许空 | 主键 | 默认值 | 说明 |
|
|
|
-|--------|------|------|--------|------|--------|------|
|
|
|
-| id | INT | | 否 | 是 | AUTO_INCREMENT | 技能ID |
|
|
|
-| name | VARCHAR | 50 | 否 | | | 技能名称 |
|
|
|
-| category | VARCHAR | 50 | 是 | | NULL | 技能类别 |
|
|
|
-| created_at | DATETIME | | 否 | | | 创建时间 |
|
|
|
-
|
|
|
-**索引**:
|
|
|
-- name (name) UNIQUE
|
|
|
-
|
|
|
-## 6. 候选人技能关联表 (candidate_skills)
|
|
|
-
|
|
|
-| 字段名 | 类型 | 长度 | 允许空 | 主键 | 默认值 | 说明 |
|
|
|
-|--------|------|------|--------|------|--------|------|
|
|
|
-| candidate_id | INT | | 否 | 是 | | 候选人ID |
|
|
|
-| skill_id | INT | | 否 | 是 | | 技能ID |
|
|
|
-| proficiency | ENUM | | 是 | | 'intermediate' | 熟练度(basic/intermediate/advanced) |
|
|
|
-
|
|
|
-**外键**:
|
|
|
-- candidate_id 引用 candidates(id) ON DELETE CASCADE
|
|
|
-- skill_id 引用 skills(id) ON DELETE CASCADE
|
|
|
-
|
|
|
-## 7. 候选人状态历史表 (candidate_status_history)
|
|
|
-
|
|
|
-| 字段名 | 类型 | 长度 | 允许空 | 主键 | 默认值 | 说明 |
|
|
|
-|--------|------|------|--------|------|--------|------|
|
|
|
-| id | INT | | 否 | 是 | AUTO_INCREMENT | 历史记录ID |
|
|
|
-| candidate_id | INT | | 否 | | | 候选人ID |
|
|
|
-| old_status | ENUM | | 否 | | | 旧状态 |
|
|
|
-| new_status | ENUM | | 否 | | | 新状态 |
|
|
|
-| changed_by | VARCHAR | 50 | 否 | | | 修改人 |
|
|
|
-| change_reason | TEXT | | 是 | | NULL | 修改原因 |
|
|
|
-| change_time | DATETIME | | 否 | | | 修改时间 |
|
|
|
-
|
|
|
-**外键**:
|
|
|
-- candidate_id 引用 candidates(id) ON DELETE CASCADE
|
|
|
-
|
|
|
-**索引**:
|
|
|
-- idx_candidate_id (candidate_id)
|
|
|
-- idx_change_time (change_time)
|
|
|
-
|
|
|
-## 8. 职位状态历史表 (job_status_history)
|
|
|
-
|
|
|
-| 字段名 | 类型 | 长度 | 允许空 | 主键 | 默认值 | 说明 |
|
|
|
-|--------|------|------|--------|------|--------|------|
|
|
|
-| id | INT | | 否 | 是 | AUTO_INCREMENT | 历史记录ID |
|
|
|
-| job_id | INT | | 否 | | | 职位ID |
|
|
|
-| old_status | ENUM | | 否 | | | 旧状态 |
|
|
|
-| new_status | ENUM | | 否 | | | 新状态 |
|
|
|
-| changed_by | VARCHAR | 50 | 否 | | | 修改人 |
|
|
|
-| change_time | DATETIME | | 否 | | | 修改时间 |
|
|
|
-
|
|
|
-**外键**:
|
|
|
-- job_id 引用 jobs(id) ON DELETE CASCADE
|
|
|
-
|
|
|
-**索引**:
|
|
|
-- idx_job_id (job_id)
|
|
|
-- idx_change_time (change_time)
|
|
|
-
|
|
|
-## 9. 用户表 (users)
|
|
|
-
|
|
|
-| 字段名 | 类型 | 长度 | 允许空 | 主键 | 默认值 | 说明 |
|
|
|
-|--------|------|------|--------|------|--------|------|
|
|
|
-| id | INT | | 否 | 是 | AUTO_INCREMENT | 用户ID |
|
|
|
-| username | VARCHAR | 50 | 否 | | | 用户名 |
|
|
|
-| password_hash | VARCHAR | 100 | 否 | | | 密码哈希 |
|
|
|
-| email | VARCHAR | 100 | 否 | | | 电子邮箱 |
|
|
|
-| full_name | VARCHAR | 100 | 是 | | NULL | 全名 |
|
|
|
-| department | VARCHAR | 50 | 是 | | NULL | 部门 |
|
|
|
-| role | ENUM | | 否 | | 'viewer' | 角色(admin/recruiter/interviewer/viewer) |
|
|
|
-| created_at | DATETIME | | 否 | | | 创建时间 |
|
|
|
-| last_login_at | DATETIME | | 是 | | NULL | 最后登录时间 |
|
|
|
-
|
|
|
-**索引**:
|
|
|
-- username (username) UNIQUE
|
|
|
-- email (email) UNIQUE
|
|
|
-- idx_role (role)
|
|
|
-
|
|
|
-## 10. 系统配置表 (system_config)
|
|
|
-
|
|
|
-| 字段名 | 类型 | 长度 | 允许空 | 主键 | 默认值 | 说明 |
|
|
|
-|--------|------|------|--------|------|--------|------|
|
|
|
-| id | INT | | 否 | 是 | AUTO_INCREMENT | 配置ID |
|
|
|
-| config_key | VARCHAR | 50 | 否 | | | 配置键 |
|
|
|
-| config_value | TEXT | | 是 | | NULL | 配置值 |
|
|
|
-| description | VARCHAR | 255 | 是 | | NULL | 描述 |
|
|
|
-| created_at | DATETIME | | 否 | | | 创建时间 |
|
|
|
-| updated_at | DATETIME | | 否 | | | 更新时间 |
|
|
|
-
|
|
|
-**索引**:
|
|
|
-- config_key (config_key) UNIQUE
|