2014-01-17 81 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,狀態等)

希望幫助/給你一些想法。 祝你好運