elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  ¿Cómo funciona la base de datos en una red social?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo funciona la base de datos en una red social?  (Leído 11,659 veces)
javirk

Desconectado Desconectado

Mensajes: 102


Ver Perfil
¿Cómo funciona la base de datos en una red social?
« en: 26 Diciembre 2011, 18:24 pm »

Hola, me gustaría saber cómo es la base de datos de una red social, especialmente la relación entre "amigos", es decir, que cómo guarda FB (por ejemplo) el que yo soy amigo de otras personas.

Muchas gracias y un saludo.


En línea

‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: ¿Cómo funciona la base de datos en una red social?
« Respuesta #1 en: 26 Diciembre 2011, 18:53 pm »

la forma más facil es:

Tabla Miembros:
- id
- usuario
....


Tabla Amigos
id_m1
id_m2

donde los id_m1 y id_m2 serían los id de la tabla miembros



En línea

javirk

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: ¿Cómo funciona la base de datos en una red social?
« Respuesta #2 en: 27 Diciembre 2011, 15:13 pm »

¿Y poner todos esos IDs en columnas? No, imagínate que una persona quiere tener más amigos que columnas, no se puede, o que una sólo tiene un amigo y hay 20 columnas, pues espacio perdido.
En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: ¿Cómo funciona la base de datos en una red social?
« Respuesta #3 en: 27 Diciembre 2011, 16:03 pm »

¿Y poner todos esos IDs en columnas? No, imagínate que una persona quiere tener más amigos que columnas, no se puede, o que una sólo tiene un amigo y hay 20 columnas, pues espacio perdido.

La idea es tener en la tabla amigo

idAmigo , como una sola columna, los registros serìan filas  :xD
En línea

javirk

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: ¿Cómo funciona la base de datos en una red social?
« Respuesta #4 en: 27 Diciembre 2011, 16:38 pm »

Hola, he encontrado esto. Aunque no lo entiendo demasiado bien.
En línea

Og.


Desconectado Desconectado

Mensajes: 822


Aprendiendo de la vida


Ver Perfil
Re: ¿Cómo funciona la base de datos en una red social?
« Respuesta #5 en: 27 Diciembre 2011, 17:01 pm »

Usuarios: // todos los usuarios
user_id | name | etc...

Amistad // por cada amistad poner un user_id y el user_id del amigo.
user_id | object_id

Nota busca como maquetar un grafo en DB
« Última modificación: 27 Diciembre 2011, 17:03 pm por Og. » En línea

|-
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: ¿Cómo funciona la base de datos en una red social?
« Respuesta #6 en: 27 Diciembre 2011, 17:27 pm »

Relación de N a N, como han puesto arriba, no son columnas, son filas.

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
javirk

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: ¿Cómo funciona la base de datos en una red social?
« Respuesta #7 en: 27 Diciembre 2011, 18:05 pm »

Ya lo he entendido, gracias, pero ahora en esa tabla de "amistades" sería un lío al hacer las consultas, porque si fueras a listar todos los amigos de una persona cuyo ID fuera "2", ese "2" podría estar tanto en la primera columna como en la segunda. ¿no?

User_id_1user_id_2
23
42

En esa tabla, "2" es amigo de "3", pero también de "4", y están en distintas columnas, lo que sería un lío, o eso tengo entendido.
En línea

Og.


Desconectado Desconectado

Mensajes: 822


Aprendiendo de la vida


Ver Perfil
Re: ¿Cómo funciona la base de datos en una red social?
« Respuesta #8 en: 27 Diciembre 2011, 21:25 pm »

user_idfriend_id
12
21
13
31

El tamaño maximo de la tabla es de 2 * F * N.
donde N es el numero de usuarios y F el promedio de amistades por usuario.

No existe mejor forma de hacerlo. Busca como se maqueta un grafo en una DB.
« Última modificación: 27 Diciembre 2011, 21:27 pm por Og. » En línea

|-
javirk

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: ¿Cómo funciona la base de datos en una red social?
« Respuesta #9 en: 28 Diciembre 2011, 15:18 pm »

Muchas gracias Og., he buscado lo de los grafos en DB y me he bajado incluso el Neo4J para ver qué tal me iba, ahora, mi pregunta, ¿de qué manera se puede implementar eso en una aplicación web? Porque claro, tengo mi programa en localhost y con mi db en grafo, pero no puedo hacer nada con ella, ¿o sí?

Lo otro ya lo he entendido, mi fallo es que yo no había entendido que se hacen dos registros por "amistad", de manera que todo es más fácil.

Un saludo y gracias.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines