Files
flower-rain/docs/wzy/note3-tables.md
2025-12-07 18:07:16 +08:00

8.2 KiB
Raw Permalink Blame History

第三次研讨会笔记


样例网址金华人才网, markdown语法教程 菜鸟教程

1. 用户表 (users)

此表用于存储所有注册到系统的用户的基本认证信息,并区分用户类型(个人或企业)。

字段名 数据类型 约束 描述
user_id BIGINT PRIMARY KEY, AUTO_INCREMENT 用户唯一标识ID
username VARCHAR(50) UNIQUE, NOT NULL 用户名(用于登录)
password_hash VARCHAR(255) NOT NULL 加密后的密码
email VARCHAR(100) UNIQUE, NOT NULL 邮箱(用于登录和验证)
user_type ENUM('personal', 'company') NOT NULL 用户类型:personal(个人)company(企业)
avatar_url VARCHAR(255) DEFAULT NULL 用户头像图片链接
is_active TINYINT(1) DEFAULT 1 账号状态0-禁用1-激活
last_login_at TIMESTAMP DEFAULT NULL 最后登录时间
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 账号创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 最后更新时间

说明

  • 此表是系统的认证基础。user_type字段至关重要,它决定了用户在前端看到的界面和拥有的权限。
  • 个人用户的详细信息在resumes表中,企业用户的详细信息在companies表中。

2. 企业表 (companies)

此表存储企业用户的详细资料,与users表通过user_id关联。

字段名 数据类型 约束 描述
company_id BIGINT PRIMARY KEY, AUTO_INCREMENT 企业资料唯一标识ID
user_id BIGINT FOREIGN KEY (users.user_id), UNIQUE, NOT NULL 关联的用户ID
company_name VARCHAR(100) NOT NULL 公司全名(如:浙江科盟工贸有限公司)
logo_url VARCHAR(255) DEFAULT NULL 公司Logo图片链接
industry VARCHAR(100) DEFAULT NULL 所属行业(如:制造业、互联网/IT
scale ENUM('少于50人','50-150人','150-500人','500-1000人','1000人以上') DEFAULT NULL 公司规模
nature ENUM('民营','国企','外资','合资','上市公司','事业单位','其他') DEFAULT NULL 企业性质
introduction TEXT DEFAULT NULL 公司简介
contact_phone VARCHAR(20) DEFAULT NULL 联系电话
contact_email VARCHAR(100) DEFAULT NULL 联系邮箱
website VARCHAR(255) DEFAULT NULL 公司官网
address_region VARCHAR(50) DEFAULT NULL 所在地区(省/市,如:浙江省金华市)
address_detail VARCHAR(255) DEFAULT NULL 详细地址
is_verified TINYINT(1) DEFAULT 0 企业认证状态0-未认证1-已认证
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 资料创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 资料更新时间

说明

  • user_idusers表关联,确保一个企业用户账号对应一份企业资料。
  • is_verified字段用于标记企业是否经过平台审核认证,增强招聘信息的可信度。

3. 职位表 (jobs)

此表存储企业发布的所有招聘职位信息。

字段名 数据类型 约束 描述
job_id BIGINT PRIMARY KEY, AUTO_INCREMENT 职位唯一标识ID
company_id BIGINT FOREIGN KEY (companies.company_id), NOT NULL 关联的企业ID
job_title VARCHAR(100) NOT NULL 职位名称销售助理、Java工程师
job_type VARCHAR(50) DEFAULT NULL 职位类型(如:全职、兼职、实习)
industry VARCHAR(100) DEFAULT NULL 职位所属行业
salary_range VARCHAR(50) DEFAULT NULL 薪资范围6-8k 面议)
min_salary DECIMAL(10,2) DEFAULT NULL 最低薪资(用于排序和筛选)
max_salary DECIMAL(10,2) DEFAULT NULL 最高薪资(用于排序和筛选)
experience_required VARCHAR(50) DEFAULT NULL 经验要求经验不限1-3年
education_required VARCHAR(50) DEFAULT NULL 学历要求(如:大专,本科)
description TEXT NOT NULL 职位描述/要求
work_address VARCHAR(255) DEFAULT NULL 工作地点(如:浙江省金华市婺城区)
recruitment_count INT DEFAULT 1 招聘人数
is_urgent TINYINT(1) DEFAULT 0 是否急聘0-否1-是
is_online TINYINT(1) DEFAULT 1 职位状态0-下线1-上线
publish_date DATE DEFAULT (CURRENT_DATE) 发布日期
expiry_date DATE DEFAULT NULL 截止日期
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

说明

  • company_id关联到companies表,确保每个职位都有对应的发布企业。
  • min_salarymax_salary字段,用于后台对薪资进行精确的排序和范围筛选。
  • is_online字段允许企业临时下线职位而不删除它。

4. 简历表 (resumes)

此表存储个人用户的简历详细信息。

字段名 数据类型 约束 描述
resume_id BIGINT PRIMARY KEY, AUTO_INCREMENT 简历唯一标识ID
user_id BIGINT FOREIGN KEY (users.user_id), NOT NULL 关联的用户ID
full_name VARCHAR(50) DEFAULT NULL 真实姓名(可能部分隐藏,如:张**
gender ENUM('男','女','保密') DEFAULT '保密' 性别
birth_year YEAR DEFAULT NULL 出生年份(用于计算年龄)
current_region VARCHAR(100) DEFAULT NULL 当前所在地区
work_experience_years INT DEFAULT 0 工作经验总年数
highest_education VARCHAR(50) DEFAULT NULL 最高学历
phone VARCHAR(20) DEFAULT NULL 联系电话
email VARCHAR(100) DEFAULT NULL 联系邮箱
avatar_url VARCHAR(255) DEFAULT NULL 简历照片
self_introduction TEXT DEFAULT NULL 自我简介/求职信
expected_industry VARCHAR(100) DEFAULT NULL 期望行业
expected_position VARCHAR(100) DEFAULT NULL 期望职位
expected_salary VARCHAR(50) DEFAULT NULL 期望薪资
expected_region VARCHAR(100) DEFAULT NULL 期望工作地区
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 简历最后更新时间
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 简历创建时间

说明

  • user_idusers表关联,一个用户可以拥有多份简历,但通常使用一份主简历。

8. 申请记录表 (applications)

记录用户投递简历、申请职位的核心记录,是连接用户、职位和简历的枢纽。 Hr可以通过申请记录查看求职者的简历信息。

字段名 数据类型 约束 描述
application_id BIGINT PRIMARY KEY, AUTO_INCREMENT 申请记录唯一标识ID
user_id BIGINT FOREIGN KEY (users.user_id), NOT NULL 申请人用户ID
job_id BIGINT FOREIGN KEY (jobs.job_id), NOT NULL 申请的职位ID
resume_id BIGINT FOREIGN KEY (resumes.resume_id), NOT NULL 投递的简历ID
status ENUM('pending', 'viewed', 'accepted', 'rejected', 'interview') DEFAULT 'pending' 申请状态:待处理/已查看/已通过/已拒绝/面试中
application_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP 投递时间
viewed_at TIMESTAMP NULL 企业查看时间
processed_at TIMESTAMP NULL 企业处理时间
feedback TEXT NULL 企业反馈或备注
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 最后更新时间

说明

  • 该表是求职行为的核心记录,user_idjob_idresume_id 组合应具有唯一性,防止重复投递
  • status 字段完整跟踪了求职流程,方便个人用户和企业双方追踪进度
  • 时间戳字段精确记录了投递、查看和处理的关键时间节点,用于数据统计和分析
  • 企业HR可以通过 viewed_at 是否为NULL快速筛选出未查看的新申请