kimono
@kimono
Web developer

"Внешние ключи" одной таблицы к двум другим в MySQL. Можно и как?

Есть таблица комментариев. Также есть таблицы новостей, объявлений и компаний.
В комментариях записи хранятся с дополнительным полем принадлежности (вроде content_type = news | catalog | market).
Тем самым у каждой сущности из последних трех может быть много связей с первой таблицей.
Можно ли как-то организовать внешние ключи comments <=> news + comments <=> market + comments <=> catalog как-то используя это поле? Или единственный выход - создание промежуточной таблицы со связями, а уже там создавать связь с таблицей комментариев? Но тогда ведь теряется связь между тремя таблицами сущностей и таблицей с их связями?
  • Вопрос задан
  • 170 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Azperin
Дилетант
Тоесть вы по логике разбили разделы, но не разбили комментарии к ним ?
Я бы предложил не делать промежуточные, а присоединить каждый к каждому.
news <=> news_comments, market <=> market_comments, catalog <=> catalog_comments
Это будет намного проще и эффективней.
Второй вариант сделать content_type = news | catalog | market не для комментариев, а для контента, т.е. таблица content с enum полем принадлежности news | catalog | market и таблица коментов с внешним ключем на поле content_id.
Ответ написан
Ваш ответ на вопрос

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

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