allora ragazzi sto facendo un applicazione php di una chat. finchè era una chat globale con tutti gli utenti che potevano inserire messaggi era semplice, avevo la tabella utenti( idUtente(pk), ...) e la tabella messaggio(idMessaggio(pk)... id_utente(fk)) e funziona tutto facilmente. ma ora con una chat privata avrei un utente che deve inviare un messaggio a un altro utente, quindi ho pensato che fosse una tabella ricorsiva visto che un utente può essere il destinatario o il mittente.
Però non so bene come realizzarla con i messaggi, io avevo fatto una cosa del genere, la mia tabella utenti rimane invariata, come anche quella messaggio e creo la tabella msgPrivato( idMit(fk), idDest(fk), msg, data ... non so se serve una pk) ecco quello che avrei fatto( ho visto su un libro di base di dati), ma questa tabella diciamo contiene l'id del mittente che è presente nella tabella utenti, come anche per idDest, e avrei quindi più righe idMit IdDest con gli stessi id di due utenti, esempio idMit = 1 incia messaggio a idDest = 2 e tutte queste righe avranno un msg.
E' la cosa giusta da fare? a mio avviso la trovo ridondante e non normalizzata, sul mio libro non c'è un esempio chiarificativo di questo genere...

Rispondi quotando
