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

¿Como seria la base de datos de una red social?

Estas en el tema de ¿Como seria la base de datos de una red social? en el foro de Mysql en Foros del Web. Hola a todos, quisiera saber como es la estructura de una DB de una red social osea quisiera saber como es la relacion de usuarios ...
  #1 (permalink)  
Antiguo 19/10/2010, 06:29
 
Fecha de Ingreso: octubre-2010
Mensajes: 6
Antigüedad: 14 años, 1 mes
Puntos: 0
¿Como seria la base de datos de una red social?

Hola a todos, quisiera saber como es la estructura de una DB de una red social osea quisiera saber como es la relacion de usuarios con sus amigos osea como se si Pablo, Luis, Carlos son mis amigos, Alfredo, Pedro, Pepe han hecho una solicitud para ser mis amigos y como se que Uziel, Marcos, Kenny no pertenecen a mi lista de amigos. Ojala me puedan ayudar.
Muchas Gracias a Todos.
  #2 (permalink)  
Antiguo 19/10/2010, 07:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿Como seria la base de datos de una red social?

Una idea sería, por ejemplo, este diseño:



Si quieres un ejemplo basado en Facebook, puedes ver este detalle de lo que Facebook hace sólo para administrar tus e-Mails:

__________________
¿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/10/2010, 07:54
 
Fecha de Ingreso: octubre-2010
Mensajes: 6
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ¿Como seria la base de datos de una red social?

Gracias gnzsoloyo por el diagrama pero lo que mas me interesa en la relacion del usuario con sus amigos, noce si me entiendes?.
  #4 (permalink)  
Antiguo 19/10/2010, 08:07
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿Como seria la base de datos de una red social?

Los "amigos", en una red social, son nada más que una categoría o rol dado a "contactos". Está en el diagrama. El que a ese rol le pongas "amigo", "pariente", "enemigo", o lo que sea, depende de ti y no de la estructura de la base.
Un rol de "amigo" no requiere la existencia de una tabla dedicada a ellos.


Las estructuras de las bases deben ser siempre independientes de la aplicación y lo suficientemente flexibles como para responder a lo que la aplicación necesite ahora y en el futuro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 19/10/2010, 09:37
 
Fecha de Ingreso: octubre-2010
Mensajes: 6
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ¿Como seria la base de datos de una red social?

Lo siento amigo o entiendo muy bien me puedes dar un ejemplo porfavor?
  #6 (permalink)  
Antiguo 19/10/2010, 09:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿Como seria la base de datos de una red social?

¿Ya conoces el concepto de tablas relacionales y de FOREIGN KEY?
Eso es lo que está indicado en la tabla CONTACT_ROLE, donde precisamente te da como ejemplos de valores del campo description: Friend, Partner, es decir: "amigo", "compañero"...

Si no conoces el concepto de tablas relacionales, claves primarias y claves foráneas, te sugiero leer un poco del modelo entidad relación antes de seguir, porque sino te vas a meter en un bardo de aquellos...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 20/10/2010, 07:35
 
Fecha de Ingreso: octubre-2010
Mensajes: 6
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ¿Como seria la base de datos de una red social?

Gracias gnzsoloyo ya lo estoy entendiendo, ahora mi consulta es como puedo hacer la consulta en mysql de todos los amigos, solicitud pendiente de amigos y de los que no son amigos? por ejemplo del usuario Alberto.
  #8 (permalink)  
Antiguo 20/10/2010, 07:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿Como seria la base de datos de una red social?

Estás en etapa diseño. Todavía no hay tablas ni datos.
Esa pregunta se responde solamente contra un diseño de tablas ya implementado, caso contrario estamos hablando en abstracto.
Lo que te puedo anticipar es que tu mismo estás planteando la solución, sin verlo, cuando dices:
Cita:
todos los amigos, solicitud pendiente de amigos y de los que no son amigos
Razónalo así:
- Los amigos son solamente aquellos de los que no hay peticiones pendientes y que están clasificados como tales.
- Los no amigos son aquellos que tienen peticiones pendientes.
- Desconocidos no existen en este contexto.

O sea: (CONTACTOS AMIGOS) + PETICIONES...

Tienes que simplemente ver cuáles son las condiciones que debe reunir el grupo. La consulta sale sola.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 20/10/2010, 08:41
 
Fecha de Ingreso: octubre-2010
Mensajes: 6
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ¿Como seria la base de datos de una red social?

Bueno creo que esto es lo que entendí.

Diagrama:


Tabla usuarios:


Tabla amigos:


Bueno lo que puedo hacer es una consulta a mysql que me muetre todos los amigos de Juan poniendo una condicion que solicitud sea = a YES, y los que tienen una solicitud pendiente que seleccione todos los que la solicitud sea = a NO.

Bueno gnzsoloyo gracias por tu ayuda y que es lo que opinas?
  #10 (permalink)  
Antiguo 07/12/2010, 23:14
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Respuesta: ¿Como seria la base de datos de una red social?

estaba buscando algo asi pero aun no termina de solucionar mi duda esta bien en el primer diagrama solo migra la clave del rol del contacto pero en ese diseño no muestra la amistad de dos usuarios.
o talves no termino de entender el diagrama pero worincronic se hacer a lo que yo he hecho
solo tres campos idamigo, idusuario, Estado las dos primeras forman una clave compuesta para que al momento de insertar un dato no sean repetidas y el estado para verificar la amista ejemplo:

idamigo | idusuario | Estado

1 --- 2 ---- 1 ---- > significa que son amigos
2 --- 1 ---- 0 ----> significa que el usuario 1 aun no acepta la invitacion de amistad del usuario 1 corrijanme si estoy mal porfavor para que me ayudar con mi web estoy hacendo algo parecido stereo3.com pero no me termina de salir alguien que tenga una idea y quiera trabajar la web juntos avisarme al correo [email protected]

Etiquetas: red, seria, social
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 08:55.