Jeg vil i det mindste foreslå at have følgende:
Brugere, tråde, meddelelser
- Alle meddelelser vil have en tråd
- fremmednøgle:thread_id
- Alle tråde ville have mindst én besked og mindst én modtager (såvel som afsender)
- fremmednøgle:to_user_id, from_user_id, message_id
Derfra kan du blot tildele et par flag til din tråd (to_user_deleted, from_user_deleted), som ville blive opdateret i overensstemmelse hermed.
Der er selvfølgelig mange flere ting at overveje, såsom hvilke slags ting du vil tage højde for. For eksempel:
- Vil du vise den aktuelle besked i modsætning til startmeddelelsen?
- Vil du tillade brugere at markere individuelle meddelelser som læste eller blot tråde?
Du skal tage højde for alle disse, mens du designer din database.