2014-01-17 54 views
2

我正在用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 ; 

但我觉得只是两个表可能不够用,用户表也许需要被打破了。任何建议如何改善设计?

+0

这个请求的宽度和性质与SO的政策相抵触,所以我只会说“迄今为止这么好”(除了工作表缺少employer_id)。但你也应该考虑隐私和安全。谁有权访问什么,以及如何进行控制。 – Strawberry

+0

谢谢,我编辑帖子,使其更好 – user3205002

+0

@ user3205002 ..而不是表结构后呃daigram ..for指出任何冗余..? –

回答

0

也许你可能想要4张表;

2存储用户详细信息

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

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

超过2张表格,一份针对求职者申请的职位,另一份针对职位雇主发布的职位 - 由于雇主可能发布多个职位,和求职者,并可能申请许多不同的工作,所以;

jobs_applied_table; (id,jobid,状态等)

employer_posted_jobs; (jobid,position_details,date_posted,状态等)

希望帮助/给你一些想法。 祝你好运