Настройка изображения
Допустим, у меня есть две разные сущности, хранящиеся в базе данных, скажем, одна - это прямое сообщение, а другая, по какой-то причине, - статья, я не знаю.Оба хранятся в одной базе данных, но в разных таблицах.Теперь предположим, что я хочу, чтобы пользователи могли добавлять «реакцию», аналогичную Github и Discord, в прямые сообщения или статьи.
Проблема
Эти "реакции"очень похожи как для прямых сообщений, так и для статей, поэтому я должен поместить их в одну таблицу и разрешить их присоединение к любому объекту с помощью перечисления?Или они должны быть в разных таблицах?Допустим, я хочу, чтобы пользователям также нравились статьи, и это, по сути, «реакция», но без смайликов.Должна ли это быть собственная таблица или та же таблица, что и для «реакций»?Я просто хотел бы знать, где провести черту.
Моя текущая идея
Моя текущая идея состоит в том, чтобы иметь "реакции" и лайки в одной таблице, с тем, что они есть.и то, что они относятся к дифференцированным с перечислениями.Я задаю этот вопрос, потому что я второй угадываю себя с этим решением.
TL; DR
Насколько похожи должны быть две сущности в базе данных, чтобы оправдать объединение их в одну таблицу?