Non mi convince del tutto.
Prima di tutto eviterei 2 tabelle e quindi una join di meno. Tanto se aggiungo un campo in più nella tabella FLUSSO PRINCIPALE non cambia molto.
Poi lascerei nella suddetta tabella un campo ID AUTOINCREMENT, perchè se dovessi sortare per datetime (che è gioco forza senza indice) la scansione sarebbe fatta su tutta la tabella.
Infine ho problemi con la ricostruzione a video dell'azione.
Facciamo un esempio pratico, con le azioni che potremmo avere.
1 = "Aggiungere una o più foto al proprio album";
2 = "Stringere nuova amicizia";
3 = "Lasciare un commento in un'altra bacheca";
4 = "Scrivere un post";
A video le immagino così, dove le sottolineate sono link:
- Peppino ha aggiunto una nuova foto al suo album.
- Peppino ha stretto amicizia con Bukowski.
- Giovanni ha lasciato un commento nella bacheca di Peppino.
- Giovanni ha scritto un post Organizzare il flusso.
Ragionando ad alta voce
#Tabella FLUSSO
codice:
IDAUTO | IDUTENTE | ACTION | DATA | TITLE | LINK
1 | 30 | addphoto | 2011-04-05 15:00 | album | /album.php?id=11234
2 | 30 | friends | 2011-04-05 15:00 | Bukowski | /profilo.php?id=Bukowski
3 | 39 | comment | 2011-04-05 15:00 | Peppino | /bacecha.php?id=Peppino
4 | 39 | newpost | 2011-04-05 15:00 | Organizzare il flusso | /post.php?id=11234
Ammetto che non mi faccia proprio impazzire ma per praticità non mi sembra malvagio.
Ho ancora diversi dubbi circa di come potrò risolvere un "doppione" (ovvero, se Peppino mette 2 foto, dovrò raggruppare il dato in una riga) e altre cose di questo tipo....
Tu che ne pensi?