Допустим, у меня есть простая база данных с таблицами 'posts' и 'tags'. Сообщения могут иметь много тегов, а теги могут принадлежать многим сообщениям.
Каков наилучший способ структурировать базу данных? Я думал об использовании списка / сериализации:
tags
idx tag_id, str tag_name
posts
idx post_id, str title, list tag_ids
ИЛИ наличие другой таблицы с ассоциациями. Проблема заключается в использовании этого, я даже не знаю, как структурировать запрос, чтобы получить связанные имена тегов при получении сообщения.
posts
idx post_id, str title
post_tags
fk post_id, fk tag_id
Мне на самом деле не нравится ни один из них. Есть ли лучший способ?