Tengo una duda, la cual es la siguiente:
Si tengo que hacer una tabla para relacionar la amistad entre usuarios (Similar a Facebook o Twitter) cual es la mejor manera de hacerlo? Pensando siempre en que puede haber miles de usuarios.
Yo pensé lo siguiente:
1- Crear una tabla para los usuarios llamada usuarios con campos: ID_USER, USERNAME, EMAIL, ETC ETC.
2- Crear una tabla llamada friendship para relacionar los ID de los usuarios donde los campos serian: ID(primary key), ID_USER_REL (clave secundaria), ID_FRIEND_REL
Donde ID es el campo autonumerico para que sea un registro único.
Donde ID_USER_REL es el ID de la tabla usuarios
Donde ID_FRIEND_REL tambien es el ID de la tabla usuarios que quiero que sea el amigo
Hasta ahí vamos bien, ¿Es la manera correcta?
No entiendo como haria luego el filtro para obtener la amistad.. Por ejemplo:
Código SQL:
Ver original
SELECT * FROM usuarios LEFT JOIN friendship ON usuarios.ID_USER=friendship.ID_USER_REL WHERE friendship.ID_USER_REL=20
¿Se entiende?
Saludos!!