sql >> Databasteknik >  >> RDS >> Mysql

Användarmeddelandesystem

Jag skulle föreslå att du åtminstone har följande:

Användare, trådar, meddelanden

  • Alla meddelanden skulle ha en tråd
    • främmande nyckel:thread_id
  • Alla trådar skulle ha minst ett meddelande och minst en mottagare (liksom avsändare)
    • främmande nyckel:to_user_id, from_user_id, message_id

Därifrån kan du helt enkelt tilldela ett par flaggor till din tråd (to_user_deleted, from_user_deleted) som skulle uppdateras därefter.

Det finns förstås många fler saker att tänka på, till exempel vilka saker du vill ta hänsyn till. Till exempel:

  • Vill du visa det aktuella meddelandet i motsats till startmeddelandet?
  • Vill du tillåta användare att markera enskilda meddelanden som lästa eller bara trådar?

Du måste ta hänsyn till alla dessa när du utformar din databas.



  1. Hitta den äldsta posten i en koppling mellan två tabeller

  2. IN-sats i mysql nodejs

  3. Hur gör man ARRAY-fält med främmande nyckel-begränsning i SQLAlchemy?

  4. Hur man exporterar data till CSV-fil i Oracle med PL SQL-proceduren