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

Responder a