Tôi đang làm một chương trình nhỏ nơi người dùng tạo bài đăng hoặc viết blog. Trên các bài đăng đó, những người dùng khác có thể thích hoặc không thích bài đăng như trong facebook hoặc upvote hoặc downvote bài đăng như trong stackoverflow. Tôi muốn biết một cấu trúc cơ sở dữ liệu tốt thường được sử dụng và chương trình hoạt động hiệu quả với cấu trúc đó. Tôi có hai lựa chọn
Đầu tiên
Bài đăng:
id   head   message   datepost   likes   dislikes
1     ab    anchdg     DATE      1,2,3   7,55,44,3
Theo cách trên, idlà postid. Trong cột thích, 1,2,3là id người dùng thích hoặc nâng cấp bài đăng hoặc blog. 7,55,44,3là id của người dùng không thích hoặc đánh giá thấp bài đăng hoặc blog.
Thứ hai
Bài đăng:
id    head  message   datepost
1     ab    anchdg     DATE
Thích:
id    postid    userid
1       1         1
2       2         2
Không thích:
id    postid    userid
1       1         7
2       1         55
Theo cách này, tôi phải tạo hai bảng riêng biệt cho lượt thích & không thích để có lượt thích bài đăng. Theo cách này, các bảng tức là Likes& Dislikessẽ được lấp đầy. Điều này có thể làm cho bảng nặng và xử lý chậm.
Vì vậy, tôi muốn biết đâu là cách tốt hơn & tiêu chuẩn để đạt được nhiệm vụ này?