Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Relacion de amistad

Estas en el tema de Relacion de amistad en el foro de Bases de Datos General en Foros del Web. Hola, tengo una pregunta. Si quiero guardar las amistades ... sera necesario tener dos registros de esto? me explico.. Si juan es amigo de pedro ...
  #1 (permalink)  
Antiguo 19/09/2012, 04:04
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Relacion de amistad

Hola, tengo una pregunta.


Si quiero guardar las amistades ...
sera necesario tener dos registros de esto? me explico..

Si juan es amigo de pedro
es necesario que pedro sea amigo de juan ?

----TABLA AMISTAD ----

--COD---US1---US2

-- 1 ----pedro---juan
---2----juan----pedro

Gracias.
  #2 (permalink)  
Antiguo 19/09/2012, 04:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Relacion de amistad

O pones los dos registros, o la consulta se complica muchísimo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/09/2012, 08:30
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Respuesta: Relacion de amistad

En que sentido se me puede complicar?

por que . antes tenia una columna de bloqueos en donde podia ver si usuario 1 tenia blokeado a usuario 2 ..

--cod--us1--us2--blocked
--1-----4------6-----1
--2-----6------4-----0

aqui podia ver que un usuario tenia bloqueado a otro y el otro no lo tenia bloqueado.

pero pensandolo .. podia tener una tabla blocked con todos los bloqueos de los usuarios.

entonces.. no le vi mayor funcionalidad.. me podrias dar un ejemplo :)?
muchas gracias.
  #4 (permalink)  
Antiguo 20/09/2012, 10:24
 
Fecha de Ingreso: febrero-2011
Mensajes: 55
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Relacion de amistad

Y bueno, si lo planteas como dos tablas, donde una es USUARIO y otra es BLOQUEO
Te querdarìa una relaciòn m a n, y la resolve creando otra que herede ambas PK de cada tabla y que contenga la fecha y la hora en que es realizo el bloqueo .
  #5 (permalink)  
Antiguo 20/09/2012, 10:40
Avatar de jhsilva  
Fecha de Ingreso: mayo-2009
Mensajes: 85
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Relacion de amistad

Cita:
Iniciado por ccsaiKo Ver Mensaje
Hola, tengo una pregunta.


Si quiero guardar las amistades ...
sera necesario tener dos registros de esto? me explico..

Si juan es amigo de pedro
es necesario que pedro sea amigo de juan ?

----TABLA AMISTAD ----

--COD---US1---US2

-- 1 ----pedro---juan
---2----juan----pedro

Gracias.

Creo debes preguntarte al menos esto:

1. Cuantos registros pretendo tener en esta tabla.

Si lo ves de un tipo social de algo pequeño no habría problemas que incluyeras ambas tuplas para que sea más objetivo y al consultar sea sencillo el filtro, pero si es una tabla con gran cantidad de registros podrías replantearte si separas en 2 tablas y tendrías la mitad de registros al consultar. Eso lo decides tú.

Al menos como lo veo yo esta bien que lo hagas de la manera que propones, sino tendrías que preguntar todos los amigos donde US1 = ID y US =ID y que no se repitan...

2. Relentizará la consulta el que agregué ambas tuplas por cada situación de amistad

Esto tiene que ver con lo anterior también a la hora de filtrar y traer las amistades vé bien de cuantos registros hablaras. En algunos casos no tiene sentido crear más de una tabla o varios campos si al final la consulta no influye en el tiempo de respuesta significativamente.

Saludos
__________________
Estudiante de Ingenieria Civil en Informática, soñador, apasionado, enamorado con RoR e Interesado en la gestión del software.
http://www.jhsilva.com
  #6 (permalink)  
Antiguo 20/09/2012, 10:45
 
Fecha de Ingreso: febrero-2011
Mensajes: 55
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Relacion de amistad

Cita:
Iniciado por jhsilva Ver Mensaje
Creo debes preguntarte al menos esto:

1. Cuantos registros pretendo tener en esta tabla.

Si lo ves de un tipo social de algo pequeño no habría problemas que incluyeras ambas tuplas para que sea más objetivo y al consultar sea sencillo el filtro, pero si es una tabla con gran cantidad de registros podrías replantearte si separas en 2 tablas y tendrías la mitad de registros al consultar. Eso lo decides tú.

Al menos como lo veo yo esta bien que lo hagas de la manera que propones, sino tendrías que preguntar todos los amigos donde US1 = ID y US =ID y que no se repitan...

2. Relentizará la consulta el que agregué ambas tuplas por cada situación de amistad

Esto tiene que ver con lo anterior también a la hora de filtrar y traer las amistades vé bien de cuantos registros hablaras. En algunos casos no tiene sentido crear más de una tabla o varios campos si al final la consulta no influye en el tiempo de respuesta significativamente.

Saludos

Pero ademàs de ser màs pràctico, en el caso de que sea una tabla muy conultada, podrìa crear un indice .
  #7 (permalink)  
Antiguo 20/09/2012, 10:57
Avatar de jhsilva  
Fecha de Ingreso: mayo-2009
Mensajes: 85
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Relacion de amistad

Cita:
Iniciado por AXLAV Ver Mensaje
Pero ademàs de ser màs pràctico, en el caso de que sea una tabla muy conultada, podrìa crear un indice .

Eso también es una buena idea. Se me habia ido . Muchas gracias por recordarlo.

Saludos
__________________
Estudiante de Ingenieria Civil en Informática, soñador, apasionado, enamorado con RoR e Interesado en la gestión del software.
http://www.jhsilva.com

Etiquetas: registro, relacion, tabla, amistades
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:10.