Как правильно спроектировать таблицы БД?
Предположим есть сервис с товарами. Подразумевается наличие фльтра.
Подскажите, можно ли спроектировать базу таким образом: есть таблица "products", и таблица "tags". Связь между таблицами - ManyToMany, соответственно есть промежуточная таблица products_tags.
В таблице tags имеются тэги, по типу "для нее", "для него", "для детей", "дорого", "популярно" и т.д. (теги вымышленные, но отражающие суть)
Есть ли смысл к каждому продукту цеплять теги и по тегам осуществлять поиск? Или имеет смысл в таблице "products" создать доп. поля: enum - "для кого", bool - "популярно", bool - "дешево"
Кто вник и понял суть вопроса, прошу Вашего оценочного мнения и аргументы в ту или иную пользу.
Источник: Stack Overflow на русском