Pregunta

Espero que esta sea una pregunta tonta, pero mi cerebro está frito y no puedo pensar en cómo hacerlo ahora.

Estoy jugando tratando de crear una red social y tendré que estar al tanto de los "seguidores" de una persona. Ya tengo una tabla de usuario, pero ¿cómo represento la idea de que los usuarios estén asociados entre sí? Por cierto, esta es una relación unidireccional, por lo que si la persona a '' le gusta '' persona b, lo contrario no es necesariamente cierto.

Lo único que se me ocurre es una tabla que solo tiene una lista de relaciones uno a uno, así que:

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

pero esto me parece fuera de lugar.

Gracias

Simon

editar: tal vez un seguidor en twitter es más análogo a lo que estoy tratando de hacer

¿Fue útil?

Solución

Cree una tabla que contenga solo la información de identificación de seguidor de esta manera:

id_usuario | follower_id

Eso debería ser. así que tome por ejemplo el usuario # 56.

probablemente tendría filas como esta en la tabla de seguidores:

56 | 53453
56 | 323
56 | 463

Simplemente agregue una restricción única en ambas columnas para que no pueda hacerse amigo de alguien dos veces.

Otros consejos

Quizás una tabla que se vea así:

RelationshipId    Follower Target
Int               Int      Int

Donde Follower es el Id. del UsuarioA, y Target es el Id. del UsuarioB, y el UsuarioA sigue al UsuarioB.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top