From 988f63b01500b518da3a9f05f49f9afce13b9505 Mon Sep 17 00:00:00 2001 From: "@wzy0205" <1308520309@qq.com> Date: Wed, 26 Nov 2025 18:38:25 +0800 Subject: [PATCH] wzy-11-12-add_jinhua_tables_analyse --- docs/.vitepress/config.ts | 6 ++ docs/note3-tables.md | 140 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 docs/note3-tables.md diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index f301de5..d9f9ce2 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -39,6 +39,12 @@ export default defineConfig({ items: [ { text: '龚涵博', link :'/ghb'} ] + }, + { + text: '吴子妍', + items: [ + { text: '第三次研讨会笔记' , link:'/note3-tables'} + ] } ], diff --git a/docs/note3-tables.md b/docs/note3-tables.md new file mode 100644 index 0000000..1a7bc3a --- /dev/null +++ b/docs/note3-tables.md @@ -0,0 +1,140 @@ +# 第三次研讨会笔记 +--- +样例网址[金华人才网](https://jinhua.jialeijob.com), +markdown语法教程 [菜鸟教程](https://www.runoob.com) + +## 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_id`与`users`表关联,确保一个企业用户账号对应一份企业资料。 +- `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_salary`和`max_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_id`与`users`表关联,一个用户可以拥有多份简历,但通常使用一份主简历。 + +## 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_id`、`job_id`、`resume_id` 组合应具有唯一性,防止重复投递 +- `status` 字段完整跟踪了求职流程,方便个人用户和企业双方追踪进度 +- 时间戳字段精确记录了投递、查看和处理的关键时间节点,用于数据统计和分析 +- 企业HR可以通过 `viewed_at` 是否为NULL快速筛选出未查看的新申请 \ No newline at end of file