Целесообразно ли разделять таблицу лайков на каждый тип поста?
Итак. Имеем систему лайков\дизлайков на сайте. Лайкать можно несколько типов постов: бложик юзера, пикчерные посты, посты с роликами, отдельные комменты. Имеет ли смысл заводить отдельную таблицу для каждого типа поста, или же досточно будет сделать уникальный индекс по трем колонкам в одной таблице типа: post_id | user_id | post_type | like ?
Вопрос второй. Стоит ли добавлять колонку с датой, дабы в последствии чистить таблицу по времени, экономя тем самым ресурс памяти. Допустим хранить лайк юзера неделю\месяц (запись о количестве лайков присутствует в каждом посте).
Вы задаете вопросы, на которые можете ответить только вы сами, потому что только у вас есть понимание - что это за проект, в каком он сейчас состоянии, куда он движется.
"Имеет ли смысл", "стоит ли" - это все оценочные суждения и они напрямую зависят от проекта. Без понимания его внутренней структуры невозможно эти оценки дать.
я как та девченка - "вся в сомнениях" ;D
С одной стороны получаем одну большую таблицу, с другой несколько "маленьких" Но опять же, если надо будет добавить еще какую нибудь сущность для лайков? А как вообще люди проектируют такие вещи?
Раньше я тоже много времени тратил на продумывание таких вещей. А сейчас создаю архитектуру по принципу "сделаем как сделаем, надо будет - поменяем". Как правило, требования к софту не меняются в одночасье - всегда есть время спланировать переход от одной структуры к другой. С опытом приходит понимание, где находится баланс между архитектурой с заделом на будущее и принципом YAGNI.