Как организовать хранение множества тегов в БД?

Задача: есть пост с тегом. Поиск через бд по тегам выходит через таблицу посредника.
Базовое решение проблемы, это реализация вида:
CREATE TABLE questions (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  url TEXT NOT NULL,
  PRIMARY KEY (id)
);

CREATE TABLE tags (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  tag VARCHAR(255) NOT NULL,
  PRIMARY KEY (id)
);

CREATE TABLE questions_tags (
  question_id INT UNSIGNED NOT NULL REFERENCES questions,
  tag_id INT UNSIGNED NOT NULL REFERENCES tags
);

Но что делать в случае когда вопросы/посты подразумевают хранение сразу нескольких тегов. То есть связь между 1м questions и 1м tags я понимаю как организовать, но что делать если кол-во тегов динамическое. Как в этом случае организовать БД?
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А что вам мешает в таблицу questions_tags добавить несколько записей с одним question_id и разными tag_id?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы