Что лучше: список foreign keys в сущности или сводная таблица?

Всем привет.

Разрабатываю простенький проект для базы резюме.
Есть сущности юзер и навыки. У каждого юзера может быть примерно до 100 навыков. Юзеров может быть десятки, сотни тысяч.
Как лучше сделать - сводную таблицу или просто перечислить айдишники навыков в сущности юзер, а потом парсить эту "строку"?

Ломаю голову:
сводная таблица может оказаться очень громоздской, записи в ней будут расти как на дрожжах, ведь у каждого юзера будет минимум 3 навыка, а максимум вообще около 100
во втором случае будет проблемно искать пользователей по навыку: придётся каждую запись о пользователе проверять парсингом столбца "навыки" на наличие заданного в поиске

могу чего-то не знать, возможно есть третий вариант
буду очень благодарен

использую связку doctrine - mysql. может есть какое-то решение на другом стеке?
  • Вопрос задан
  • 283 просмотра
Решения вопроса 1
@jaxel
Если вы сделаете через перечисление id, как вы собираетесь делать поиск по пользователям с определённым навыком?

У вас стандартная связь "многие ко многим". Делать её надо через таблицу связи. Все описанные вами проблемы для таблицы связи - надуманные. Громоздкой эта таблица не окажется. Там два столбца, таблица легко переварит много миллионов записей. И выборки будут быстрее парсинга по столбцу в тысячи раз.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект