2013-03-13 3 views
0

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

Как хранить данные?

Я хочу связать работу с набором навыков, но много совпадений навыков, то есть «надзорные навыки», «управление» и т. Д. Этот набор навыков затем будет связан с соответствующим пользователем (у меня уже есть таблица user)

Должен ли я создать таблицу, называемую «заданиями», затем создать столбец для каждого типа задания (обслуживание, банковское обслуживание, обслуживание клиентов), а затем вторую таблицу, называемую «навыки», а затем добавить все навыки?

Очевидно, что я застрял. Любые рекомендации приветствуются. Благодаря!

+3

Согласен с @pst: 3 таблицы: 'jobs',' skills' и ' jobs_has_skills', который поможет избежать избыточных данных. – Horen

+2

Вы должны изучить представление отношений «многие ко многим» в mysql. Быстрый поиск в Интернете будет включать в себя множество учебных пособий по этому вопросу. –

+0

Вы можете установить отношение «многие ко многим» между работой и навыками и использовать навыки работы с таблицами для пользователей и рабочих мест. –

ответ

1

Во избежание избыточности и зависимости вы должны normalize ваших таблиц.

В вашем случае это будет означать, 3 таблицы:

  1. Работа
  2. Навыки
  3. Jobs_has_Skills
Смежные вопросы