Domanda

Spero che questa sia una domanda sciocca, ma il mio cervello è impazzito e non riesco a pensare a come farlo adesso.

Sto scherzando cercando di creare qualcosa di social network e dovrò tenere traccia dei "follower" di una persona. Ho già creato una tabella utenti, ma come posso rappresentare l'idea che gli utenti siano associati gli uni agli altri? Questa è una relazione unidirezionale tra l'altro, quindi se alla persona "mi piace". persona b, non è necessariamente vero il contrario.

L'unica cosa che mi viene in mente è una tabella che ha solo un elenco di relazioni uno a uno, quindi:

user a -> user b  
user a -> user c  
user a -> user d  
user b -> user d  
user b -> user c  
...  

ma questo mi sembra off.

Grazie

Simon

modifica: forse un follower su Twitter è più analogo a quello che sto cercando di fare

È stato utile?

Soluzione

Crea una tabella che contenga solo le informazioni sull'ID follower in questo modo:

user_id | follower_id

Dovrebbe essere. quindi prendi ad esempio l'utente # 56.

probabilmente avrebbe righe come questa nella tabella dei follower:

56 | 53453
56 | 323
56 | 463

Basta aggiungere un vincolo univoco su entrambe le colonne in modo che non possa fare amicizia due volte con qualcuno.

Altri suggerimenti

Forse una tabella che assomiglia a:

RelationshipId    Follower Target
Int               Int      Int

Dove follower è l'ID dell'utente A e Target è l'ID dell'utente B e l'utente A sta seguendo l'utente B.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top