Hola a todos,
estoy haciendo algo parecido a lo que sería una red social de
contactos.
Es decir, Juan conoce a Pepe, Pepe conoce a Pedro, Andrés conoce a
Pedro, etc.. etc.. Creo que sería una especie de relación
muchos-a-muchos...
En lo que estoy un poco perdido es en como representar esta relación en
tablas de base de datos y su consistencia. PostgreSQL en este caso
(aunque podría ser cualquier otra).
Se admiten ideas teórico-prácticas de todo tipo.
Se me ocurre, algo así:
Tabla 1
-------
idUsuario (PK)
NombreUsuario
Tabla 2
-------
IdUsuario (PK)
IdUsuarioConocido (PK)
Los problemas que me encuentro:
**** 1.- Debo mantener "manualmente" (con triggers, rules o como sea)
dobles entradas.
Es decir, si Pepe conoce a Juan, debo hacer:
Tabla 2 (idUsuario / IdUsuarioConocido)
* Pepe -> Juan
* Juan -> Pepe (esta debo crearla yo vía triggers o similar).
(también debo mantener los DELETES/UPDATES, etc..).
**** 2.- Si P, conoce a J .... y J, conoce a K.... entonces P conoce a
K
¿ Donde parar con esta consulta ?
¿ Como efectuarla de forma optima ?
Bueno, de momento está todo muy verde y todavía tengo que mirar esto a
fondo, pero si alguien ha hecho cosas parecidas.... Cualquier idea es
buena.
Saludos y gracias.
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda