2010-07-17 14 views
23

¿Cuáles son las Tablas que estarían presentes en un sitio de redes sociales (por ejemplo: gorjeo) .... Tengo una tabla de usuarios a partir de ahora ... ¿Cómo mantener perseguidor de los seguidores y las personas que siguen ...diseño de base de datos para un sitio de redes sociales

  • ¿Debo mantener la tabla separada para los seguidores y seguir a la gente ...
  • ¿Cuáles son las columnas que sería allí en esas mesas?

Por favor, no creo que este tema tan subjetivo/Off ... Como soy un principiante pensé expertos me pueden guiar para obtener un buen diseño de base de datos?

Respuesta

30

tratar de tener un vistazo a Database Answers en particular, los modelos de datos. Tienen varios diseños diferentes para varios sistemas. Este one es para un sitio de redes sociales que le doy una idea de lo que se requiere.

Es posible que desee buscar en SO para otras preguntas de base de datos de la red social. Encontré this one que tenía un enlace a flickr mostrando un esquema que parece ser de Facebook.

El diseño de su base de datos se basará en los requisitos de su sistema. Sin saber exactamente lo que está tratando de lograr, es difícil darle el mejor diseño.

+0

primeros dos enlaces están muertos a partir de ahora. –

+0

Todavía puede ver el segundo diseño a través de wayback aquí ... http://web.archive.org/web/20101122023638/http://databaseanswers.org/data_models/social_networking/index.htm –

1

Se puede crear una tabla separada para seguidor/seguido relationships. Entonces, cuando x sigue y, crea una entrada con follower_id = x.id followed_id = y.id.

Puede consultar la tabla de relación para buscar todos los usuarios X tiene relaciones con por select * from relationships where follower_id = x.id o viceversa.

Cuando/si x no-seguir y, sólo hay que eliminar la entrada que creó originalmente.

2

se puede utilizar este mensajero concepto de diseño de base de datos: Messenger DB

Messenger DB Schema

Cuestiones relacionadas