Estimados expertos de bases de datos/programadores:diseño de base de datos para 'seguidores' y 'seguidores'?
que tienen una tabla de MySQL con la información de los usuarios, tales como
id user_id name etc.
1 userA
2 userB
3 userC
.. ..
.. ..
que quieren crear una función como 'seguir' a otros usuarios algo así como twitter. Un usuario A puede seguir al usuario B, o el usuario B puede seguir al usuario A, o ambos pueden seguir el uno al otro. Para ello, debería crear la tabla 1, digamos que los seguidores
id user_id follower_id
1 userA userB
2 userC userA
3 userA userC
4 userB userC
5 userX userA
Ahora me quieren encontrar que está siguiendo una userA. Me gustaría algo así como: Seleccione * de seguidores donde user_id = userA Esto seleccionará userB y userC. Eso es lo que necesito.
Ahora quiero conocer, que las personas userA está siguiendo (por ejemplo en la tabla anterior, userA está siguiendo UserC y usuarioX. Entonces debería funcionar algo así como Seleccionar * de seguidores en follower_id = userA.
Mi cuestión es que, es este diseño de base de datos correcta para este problema (teniendo en cuenta la redundancia base de datos de la mente y la optimización?) o puede haber un mejor enfoque que esto? Gracias.
Por cierto, seguir ** s ** es incorrecto –