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, id
là postid. Trong cột thích, 1,2,3
là id người dùng thích hoặc nâng cấp bài đăng hoặc blog. 7,55,44,3
là 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
& Dislikes
sẽ đượ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?