Подтвердить что ты не робот

Разработка базы данных для сайта социальной сети

Какие таблицы будут присутствовать на сайте социальной сети (например, Twitter).

У меня есть таблица пользователей на данный момент. Как отслеживать подписчиков и людей, за которыми я следую?

  • Должен ли я вести отдельную таблицу для подписчиков и подписчиков?
  • Какие столбцы будут в этих таблицах?

Пожалуйста, не думайте, что это субъективно/не по теме. Как я начинающий, я думал, что эксперты могут помочь мне получить хороший дизайн БД?

4b9b3361

Ответ 1

Попробуйте взглянуть на ответы базы данных, в частности, на модели данных. У них есть несколько разных конструкций для различных систем. Это один для социальной сети, которые могут дать вам представление о том, что требуется.

Вы можете поискать в SO другие вопросы о базе данных социальных сетей. Я нашел этот, который имел ссылку на Flickr, показывающий схему, которая, кажется, из Facebook.

Ваш дизайн базы данных будет основан на ваших системных требованиях. Не зная точно, что вы пытаетесь достичь, трудно дать вам лучший дизайн.

Ответ 2

Вы можете использовать эту концепцию базы данных Messenger: Messenger DB

Messenger DB Schema

Ответ 3

Вы можете создать отдельную таблицу для следящих/последовавших relationships. Поэтому, когда x следует за y, создайте запись с follower_id = x.id followed_id = y.id

Вы можете запросить таблицу отношений для поиска всех пользователей, с которыми у x есть отношения, с помощью select * from relationships where follower_id = x.id или наоборот.

Если/если x не следует за y, вам просто нужно удалить созданную вами запись.