Cari esperti di database/programmatori:progettazione di database per "follower" e "followings"?
Ho una tabella MySQL con le informazioni degli utenti, come ad esempio
id user_id name etc.
1 userA
2 userB
3 userC
.. ..
.. ..
Voglio creare una caratteristica come 'seguire' gli altri utenti qualcosa di simile a Twitter. Un utente A può seguire l'utente B, oppure l'utente B può seguire l'utente A, oppure entrambi possono seguirsi l'un l'altro. A tal fine, devo creare 1 tavolo, consente di dire seguaci
id user_id follower_id
1 userA userB
2 userC userA
3 userA userC
4 userB userC
5 userX userA
Ora voglio trovare chi sta seguendo un userA. Mi piacerebbe così: Seleziona * dai follower dove user_id = userA Questo selezionerà userB e userC. Quello è ciò di cui ho bisogno.
Ora voglio trovare, che le persone userA sta seguendo (per esempio in tabella sopra, userA sta seguendo UtenteC e userX. Allora dovrei eseguire qualcosa di simile Select * from seguaci dove follower_id = userA.
mio domanda è che, è questo disegno di database corretto per questo problema (considerando in ridondanza dei database mente e ottimizzazione?) Oppure ci può essere l'approccio migliore di questo? Grazie.
BTW, seguendo ** s ** è errato –