Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Hệ thống nhắn tin người dùng

Tôi khuyên bạn nên có ít nhất những thứ sau:

Người dùng, Chủ đề, Tin nhắn

  • Tất cả các thư sẽ có một chuỗi
    • khóa ngoại:thread_id
  • Tất cả các chuỗi sẽ có ít nhất một tin nhắn và ít nhất một người nhận (cũng như người gửi)
    • khóa ngoại:to_user_id, from_user_id, message_id

Từ đó, bạn có thể chỉ cần gán một vài cờ cho chuỗi của mình (to_user_deleted, from_user_deleted) sẽ được cập nhật tương ứng.

Tất nhiên còn nhiều thứ cần xem xét hơn, chẳng hạn như những thứ bạn muốn tính đến. Ví dụ:

  • Bạn có muốn hiển thị thông báo hiện tại thay vì thông báo bắt đầu không?
  • Bạn muốn cho phép người dùng đánh dấu từng thư là đã đọc hay chỉ là chuỗi?

Bạn cần phải tính đến tất cả những điều này trong khi thiết kế cơ sở dữ liệu của mình.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để tìm chênh lệch thời gian trung bình giữa các hàng trong bảng?

  2. Hiểu sản phẩm Cartesian trong SQL

  3. Cách tìm tên bảng mà hình ảnh được chọn ngẫu nhiên

  4. Lỗi MySQL khi cố gắng cắt ngắn bảng

  5. làm thế nào để có được số đếm chính xác