Tôi đang tìm cách thiết kế cơ sở dữ liệu cho một trang web nơi người dùng sẽ có thể đạt được điểm (danh tiếng) để thực hiện các hoạt động nhất định và đang đấu tranh với thiết kế cơ sở dữ liệu.Cách tốt nhất để lưu trữ/tính toán điểm số của người dùng là gì?
Tôi dự định lưu hồ sơ về những điều người dùng làm để họ có thể có 25 điểm cho một mục họ đã gửi, 1 điểm cho 30 nhận xét họ đã tạo và 10 điểm thưởng khác để trở nên tuyệt vời!
Rõ ràng tất cả dữ liệu sẽ ở đó, nhưng có vẻ như rất nhiều hoặc truy vấn để nhận tổng số điểm cho mỗi người dùng mà tôi muốn hiển thị bên cạnh tên người dùng của họ (ở dạng một cấp). Ví dụ: truy vấn vào bảng mục đã gửi để nhận điểm cho mỗi mục từ người dùng đó, truy vấn vào bảng nhận xét, v.v. Nếu tất cả điều này cần được thực hiện cho mỗi người dùng được đề cập trên một trang .... !
Tôi đã cân nhắc việc giữ một số điểm trong bảng người dùng, có vẻ nhanh hơn rất nhiều để tìm kiếm, nhưng tôi đã ghi nhớ rằng lưu trữ dữ liệu có thể được tính từ dữ liệu khác là BAD!
Tôi đã nhìn thấy rất nhiều trang web làm những việc tương tự (thậm chí tràn ngăn xếp cũng tương tự) vì vậy tôi nghĩ phải có "thực hành tốt nhất" để làm theo. Bất cứ ai có thể đề xuất những gì nó có thể được?
Mọi đề xuất hoặc nhận xét sẽ tuyệt vời. Cảm ơn!
Xin lỗi, tôi câm - không nhận thấy khía cạnh mysql. Tôi không nghĩ rằng đã có chỉ số xem được nêu ra. Các thay thế bình thường để buộc nó để giữ đồng bộ là để thiết lập kích hoạt. – ahains
Kích hoạt khiến bé khóc khóc. Vâng, họ làm cho tôi khóc, anyway. Ngay cả khi nó không được lập chỉ mục, một khung nhìn là bạn của bạn ở đây. – Adrien