Схема базы данных дизайна сайтов социальных сетей - PullRequest
1 голос
/ 22 марта 2010

Привет. Я планирую создать сайт социальной сети (например, orkut) asp.net mvc.Я застрял в разработке базы данных. Никто не предоставит мне ресурс для этого.

Ответы [ 4 ]

5 голосов
/ 22 марта 2010

Это шаги, которые вы должны выполнить для первоначального проектирования базы данных.

Сначала перечислите все «объекты», которые вы хотите сохранить, такие как пользователи, публикации, отношения и т. Д.

Во-вторых, определите, для каждой из них какую информацию, которую вы хотите сохранить (имя пользователя, пароль, полное имя, адрес, ...).

Затем создайте базу данныхтаблицы после третьей нормальной формы.

  1. Каждый столбец в таблице должен быть атрибутом ключа.
  2. Каждый столбец в таблице должен быть атрибутом всего ключ.
  3. Каждый столбец в таблице должен иметь атрибут только ключ.

Дизайн базы данных должен всегда быть сделано в третьей нормальной форме, возвращаясь к другим формам , если есть проблемы с производительностью и вы понимаете последствия возврата.Как правило, вы можете сделать это безопасно (и эффективно) с правильным применением вычисляемых полей или триггеров.

Например, одну вещь, которую вы должны не делать, это пытаться моделировать отношения втаблица пользователей.Строка в этой таблице будет содержать имя пользователя в качестве ключа, а отношение зависит от двух имен пользователей, что нарушит правило 3.

3 голосов
/ 22 марта 2010

Барри Уильямс владеет библиотекой бесплатных моделей данных, которые он предлагает в качестве отправной точки для всех видов приложений. Его портфолио включает предложенную модель для сайта социальной сети; эта страница также содержит ссылки на некоторую вспомогательную информацию. Узнайте больше.

2 голосов
/ 22 марта 2010

Вы можете определить поля / запросы и все остальное, но основные таблицы очень просты:

  • Таблица пользователей
    Хранит имя пользователя / пароль / информацию о доступе
  • Таблица сведений о пользователе
    Хранит любые дополнительные данные, которые пользователь может ввести (полное имя, день рождения и т. Д.)
  • Таблица отношений
    Сохраняет отношения между пользователем A и пользователем B
  • Почтовый стол
    В зависимости от того, какой тип мультимедиа будут публиковать ваши пользователи, это дает список всех опубликованных сообщений с прикрепленным идентификатором пользователя

На этом основано и этого макета, вероятно, достаточно, чтобы издеваться над Twitter (это очень простой сайт).

Что-нибудь дополнительное, вы, вероятно, должны использовать свой мозг , чтобы выяснить это. Это действительно не так сложно. Facebook не стал популярным для создания хорошей схемы базы данных.

0 голосов
/ 10 сентября 2010

Будет две основные таблицы для пользовательского модуля, т.е.

  1. tblUser(userId(P key), другие столбцы сведений)
  2. tblContacts(UserId(F key from tbluser),ContactId(F key from tbluser) и оба userid и contactid будут первичными ключами, т.е. составной ключ)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...