У меня есть четыре основных стола -
1.user(user_id, name,...)
2. post(post_id, description, ...)
3.comment(comment_id,user_id,comment,...)
4.reply(reply_id,user_id, reply,...)
и
5.user_post(user_id,post_id)
6.post_comment(post_id,comment_id)
Теперь пользователь может выставлять баллы от 1 до 10 (аналогично оценке) каждому комментарию, ответу и сообщению, и мне также нужно подсчитать общее количество баллов, набранных пользователем, с их содержанием (публикация, комментарий, ответ). В настоящее время у меня есть два варианта.
вариант 1:
Я могу иметь большую таблицу с именем points
и хранить количество баллов за каждый контент в столбце type
, который жертвует referential integrity
Например .-
points(content_id, type, point, given_by)
OR
вариант 2:
Наличие трех отдельных столов, которые не приносят в жертву referential integrity
. Например .-
post_point(post_id, point, given_by)
comment_point(comment_id, point, given_by)
reply_point(reply_id, point, given_by)
Итак, что будет лучшим и перспективным вариантом здесь или есть лучшее решение? Спасибо.