求职网站数据库设计

时间:2014-01-17 09:38:30

标签: mysql database

我正在用PHP和MySQL创建求职网站,一个问题是如何更好地设计数据库?该网站的基本功能是“求职者”可以登录和搜索工作,上传简历,“雇主”可以登录和发布工作,以及浏览器简历。目前我刚创建了2个表:

-- Table structure for table users
to analyze the table sturctures for a job seek website(using MySQL and PHP) [on hold]

-- user_type: 0 - jobseekers
--            1 - employers
--            2 - administrator   

CREATE TABLE users (
user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
first_name VARCHAR(20) NOT NULL,
last_name VARCHAR(40) NOT NULL,
email VARCHAR(80) NOT NULL,
pass CHAR(40) NOT NULL,
user_type TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
active CHAR(32),
last_login DATETIME NOT NULL,
registration_date DATETIME NOT NULL,
PRIMARY KEY (user_id),
UNIQUE KEY (email),
INDEX login (email, pass)
) ENGINE = INNODB;


-- Table structure for table jobs

CREATE TABLE jobs (
job_id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
description text NOT NULL,
county VARCHAR(30) NOT NULL,
PRIMARY KEY (job_id)
)  ENGINE = MYISAM ;

但是我觉得只有两个表可能还不够,用户表可能需要分解。有什么建议如何改进设计?

1 个答案:

答案 0 :(得分:0)

也许你可能想要4张桌子;

2存储用户详细信息

jobseeker_details_table; (姓名,地址,电话号码,简历等)

employer_details_tabel; (姓名,地址,公司名称,电话等)

多于2个表,一个用于求职者申请的职位,一个用于雇主发布的职位 - 因为雇主可能会发布多个职位,求职者可能会申请许多不同的职位,所以;

jobs_applied_table; (id,jobid,status等)

employer_posted_jobs; (jobid,position_details,date_posted,status等)

希望能帮助/给你一些思考的东西。 祝你好运