Задать вопрос
@bernex

Как лучше всего органировать тэги в базе данных?

Задача: есть пользователи, задачи у этих таблиц могут быть тэги.
Можно сделать 2 таблицы с тэгами и связями тэгов.

Можно сделать представление чтобы получить вид:
id, имя, тэги через запятую.

Но можно ли сделать запрос вида:
SELECT * FROM users_with_tags WHERE tags IN ('best', 'new')

для выборки пользователей с тэгами?

Хочется сделать работу с тэгами внутри и удобной снаружи.
  • Вопрос задан
  • 565 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
так... давайте разберемся. У пользователей тоже могут быть теги? Или теги только у задач?

А так два варианта:
- нормализовать все, теги в отдельной таблице, связать через связи. Гибко и чуть сложнее.
- хранить теги в массиве у тасков, postgresql же. Это просто, быстро и сложности будут только для оргенизации автокомплита и выборки списка существующих тегов. При таком раскладе первый вариант эффктивнее.
Ответ написан
Комментировать
kawabanga
@kawabanga
Делайте через связь многие к многим. (таблица теги и связи) .

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

Как вариант, у mysql есть такая функция - find_in_set
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы