2010-09-28 5 views
0

Я хочу, чтобы пользователи могли создавать свое резюме в Интернете. Возобновление создания будет иметь некоторые шаги. После первого шага резюме будет сохранено. Он может ввести данные для других шагов позже, или он может перейти к следующему шагу после первого шага.разработка базы данных - нормализация таблицы

Шаг 1 Личная информация: название имя адрес телефон электронной

шаг 2 Работа История: карьера Цель Последние позиции Предыдущая позиция (он может ввести столько позиций, сколько он может)

Шаг 3 Образование: (название, год завершения и т. Д.) (Многие)

Шаг 4 Навыки: Неиспользованный Знание компьютера (многие)

Я решил, что будет таблица для полей, для которых не требуется более одной записи. например, у пользователя будет много навыков работы с компьютером, образование, предыдущие позиции, поэтому они все пойдут в другую таблицу с уникальным идентификатором resumeID, а остальные поля останутся в таблице возобновления.

Это элегантный подход в соответствии с базой данных? Или я должен делать отдельные таблицы для каждого шага, так как будет отдельная форма, и мне будет легко справиться.

ответ

1

Нормализация не является избыточной информацией, другими словами: не может быть дубликатов записи.

Ваша схема может выглядеть следующим образом:

Person -> has 1 or many EmploymentHistory 
     -> has 1 or many Education 
     -> has 1 or many Skill 

Вы можете решить сами, как вы хотите, чтобы установить это. Вы можете создать набор объектов образования и навыков в специально разработанных таблицах или сделать это выше. Если вы создадите таблицы обучения и навыков, схема может выглядеть так:

Person -> 1 or many -> LinkTable PersonToEducation -> 1 or many -> Education 
     -> 1 or many -> LinkTable PersonToSkill  -> 1 or many -> Skill 
+0

согласен! схема базы данных должна быть сконструирована в отношении объектов. Фронтальная логика должна иметь наименьший эффект на передней панели – Tassadaque

Смежные вопросы