Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите новичку с архитектурой базы
 
 автор: Filsh   (23.02.2010 в 19:33)   письмо автору
 
 

Нужна база для создания и хранения резюме пользователей. Решил сделать так:
Competitor(перв.ключ compet_id таблица, где эл.почта, пароль и т.п. для авторизации)
Personal(перв.ключ compet_id имя, фамилия ...)
эти две таблици заполняются с самого начала, при регистрации
потом пользователю необходимо создавать резюме, причем не одно, а, может быть, несколько
решил сделать отдельные таблици для образования, опыта работы, и т.п.
в каждой таблице свой первичный ключ и столбец compet_id(получилось есть несколько вариантов образования и т.п. для одного compet_id)
а как потом всё это сгрупировать?? Делаю еще таблицу resume в которой есть свой первичный ключ и кличи всех таблиц,
в скрипте php просто выбираю ключ resume и резюме готово. Но есть вопросы:
по-моему все это сильно сложно и можно просто сделать одну таблицу где будут все данные пользователя, но тогда получится огромная таблица, подскажите как лутше.
Еще в моём варианте возникают сложности с поиском резюме по определенным критериям. Извените, если вопрос туповат, но все же...

  Ответить  
 
 автор: Trianon   (23.02.2010 в 20:08)   письмо автору
 
   для: Filsh   (23.02.2010 в 19:33)
 

>в скрипте php просто выбираю ключ resume и резюме готово. Но есть вопросы:

>по-моему все это сильно сложно

нормально.

>и можно просто сделать одну таблицу где будут все данные

можно сдаться и повернуть назад.
А можно доделать.

  Ответить  
 
 автор: Filsh   (23.02.2010 в 21:56)   письмо автору
 
   для: Trianon   (23.02.2010 в 20:08)
 

Тоесть путь правильный?? Это моя первая база, может какие-то альтернативы или улутшения?

  Ответить  
 
 автор: Filsh   (23.02.2010 в 23:49)   письмо автору
 
   для: Filsh   (23.02.2010 в 21:56)
 

Вот что-то написал:
create database work;
use work;
create table competitor
    (compet_id int(10) unsigned not null auto_increment primary key,
    c_login varchar(30) not null,
    c_password varchar(32) not null,
    c_hash varchar(32) not null);
create table competitor_personal
    (compet_id int(10) unsigned not null primary key,
    c_surename varchar(30) not null,
    c_name varchar(30) not null,
    c_patronymic varchar(30),
    c_birth date,
    c_region varchar(20) not null,
    c_resume1 int(10) unsigned,
    c_resume2 int(10) unsigned,
    c_resume3 int(10) unsigned);
create table competitor_education
    (education_id int(10) unsigned not null auto_increment primary key,
    compet_id int(10) unsigned not null,
    e_education varchar(20),
    e_begin date,
    e_end date,
    e_speciality tinytext,
    e_additional text);
create table competitor_operational
    (oper_id int(10) unsigned not null auto_increment primary key,
    compet_id int(10) unsigned not null,
    o_company varchar(50),
    o_post varchar(50),
    o_begin date,
    o_end date,
    o_additional text);
create table competitor_additonal
    (addit_id int(10) unsigned not null auto_increment primary key,
    compet_id int(10) unsigned not null,
    a_phone int(15) unsigned,
    a_additional text);
create table competitor_service
    (service_id int(10) unsigned not null auto_increment primary key,
    compet_id int(10) unsigned not null,
    s_title varchar(50) not null,
    s_status char(5) not null,
    s_type_of char(20) not null,
    s_location varchar(20) not null,
    s_section varchar(50) not null);
create table competitor_resume
    (resume_id int(10) unsigned not null auto_increment primary key,
    compet_id int(10) unsigned not null,
    education_id int(10) unsigned not null,
    oper_id int(10) unsigned not null,
    addit_id int(10) unsigned not null,
    service_id int(10) unsigned not null);

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования