Autor
|
Tema: ¿Cómo funciona la base de datos en una red social? (Leído 11,659 veces)
|
javirk
Desconectado
Mensajes: 102
|
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
Mensajes: 1.403
[UserRPL]
|
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
Mensajes: 102
|
¿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
|
¿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
|
|
|
En línea
|
|
|
|
javirk
Desconectado
Mensajes: 102
|
Hola, he encontrado esto. Aunque no lo entiendo demasiado bien.
|
|
|
En línea
|
|
|
|
Og.
Desconectado
Mensajes: 822
Aprendiendo de la vida
|
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
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
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
Mensajes: 102
|
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? 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
Mensajes: 822
Aprendiendo de la vida
|
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
Mensajes: 102
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
como conectar una base de datos acce con DAO y visualizar los datos en un dbgrid
Programación Visual Basic
|
ELGRANSOLRAC
|
3
|
6,411
|
7 Junio 2005, 15:21 pm
por ELGRANSOLRAC
|
|
|
¿Por qué no funciona INNER JOIN en mi Base datos Mysql?
PHP
|
jrhomer
|
1
|
2,861
|
12 Diciembre 2006, 20:06 pm
por Hans el Topo
|
|
|
¿Como almacenar datos desde WEB a una base de datos?
PHP
|
Clavo Oxidado
|
4
|
3,252
|
14 Junio 2007, 21:14 pm
por newinl
|
|
|
Como Almacenar Datos en una Base de Datos Remota, en un hosting
Programación Visual Basic
|
Franc_979
|
0
|
2,303
|
7 Septiembre 2007, 18:39 pm
por Franc_979
|
|
|
¿Cómo funciona la venta de datos en las 'apps'?
Noticias
|
wolfbcn
|
0
|
1,158
|
5 Octubre 2018, 21:46 pm
por wolfbcn
|
|