2014-01-17 8 views
2

Я создаю сайт для поиска работы с PHP и MySQL, один вопрос - как лучше создать базу данных? Основная функция веб-сайта заключается в том, что «ищущие работу» могут входить в систему и искать задания, загружать резюме, а «работодатели» могут заходить в систему и отправлять задания, а также в браузерные CV. В настоящее время я только что создал 2 таблицы:job database design database

-- 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, поэтому я просто скажу «до сих пор так хорошо» (за исключением того, что на рабочем столе отсутствует работодатель_id). Но вы также должны учитывать конфиденциальность и безопасность. У кого есть доступ к тому, что и как это контролируется. – Strawberry

+0

спасибо, я отредактировал сообщение, чтобы сделать его лучше – user3205002

+0

@ user3205002 .. а не структуру таблицы post er daigram .. для указания любой избыточности ..? –

ответ

0

Возможно, вам понадобится 4 стола;

2 для хранения информации о пользователе

jobseeker_details_table; (имя, адрес, номер телефона, CV и т. д.)

employer_details_tabel; (имя, адрес, фирменное наименование, телефон и т. д.)

более 2 столов, один для работы ищущих работу ищут работу, и один для вакансий, опубликованных работодателями - поскольку работодатели могут разместить более одной должности, и лиц, ищущих работу, и, вероятно, подавать заявки на различные виды работы;

jobs_applied_table; (id, jobid, status и т. д.)

employer_posted_jobs; (jobid, position_details, date_posted, статус и т. д.)

Надеюсь, что это поможет/даст вам о чем подумать. Удача