2009-08-10 9 views
5

Sto costruendo un piccolo sistema di messaggistica come quello che hai in Facebook. L'unica cosa è che voglio sapere qual è il modo migliore per farlo. Il design del database per essere precisi in questo caso.Necessità di creare un sistema di messaggistica come in facebook - qualsiasi idea per il design del database

Come tutti gli utenti avrebbero una cartella di posta in arrivo e inviata. Logicamente qualcosa in una cartella inviata da una persona sarebbe in realtà in una casella di posta di qualcuno. Tuttavia, non credo che l'uso di una tabella per contenere i messaggi funzionerebbe come diciamo che qualcuno cancella un messaggio dalla sua casella di invio, sarebbe andato via dal momento che sia il ricevitore che il mittente si riferirebbero alla stessa tabella. Come faccio a implementare questo ...

risposta

9

A volte uno schema è meglio di una lunga spiegazione:

users-message-db-design

Con questo disegno, se qualcuno elimina un messaggio, esso elimina solo una riga nella sezione "users_has_messages "tabella, e non il messaggio stesso.

Naturalmente, ho appena inserito alcuni campi per l'esempio, avrete bisogno di molto altro per il vostro progetto.

+2

Che cosa hai usato per fare quel diagramma? – Unknown

+3

Mi piacerebbe saperlo anche questo. – Maciek

+1

È MySQL Workbench, uno strumento meraviglioso per la progettazione visiva di database MySQL. http://dev.mysql.com/downloads/workbench/ – tachfine

Problemi correlati