Я делаю небольшую программу, где пользователи делают посты или пишут блоги. На этих постах другим пользователям может понравиться или не понравиться публикация, как в Facebook, так и публикация комментариев вверх или вниз, как в stackoverflow. Я хотел бы знать хорошую структуру базы данных, которая обычно используется, и программа эффективно работает с этой структурой. У меня есть два варианта
Первый
После:
id head message datepost likes dislikes
1 ab anchdg DATE 1,2,3 7,55,44,3
Вышеуказанным способом id
является postid. В столбце лайков 1,2,3
указывается идентификатор пользователя, который оценил запись или блог. 7,55,44,3
является идентификатором пользователей, которые не понравились или понизили пост или блог.
второй
После:
id head message datepost
1 ab anchdg DATE
Нравится:
id postid userid
1 1 1
2 2 2
Не любит:
id postid userid
1 1 7
2 1 55
Таким образом, мне нужно создать две отдельные таблицы для лайков и дислайков, чтобы получать лайки постов. Таким образом, таблицы ie Likes
& Dislikes
будут сильно заполнены. Это может сделать стол тяжелым и медленным.
Итак, я хотел бы знать, что является лучшим и стандартным способом решения этой задачи?