Нужно ли создавать отдельные таблицы для пользователей и их профили для базы данных социальной сети? - PullRequest
1 голос
/ 18 февраля 2011

Я хочу создать базу данных для социальной сети, которая будет предоставлять профили для пользователей. Должен ли я использовать отдельные таблицы для пользователей и их профили или только одну таблицу для пользователей и все атрибуты в ней?

Ответы [ 3 ]

3 голосов
/ 18 февраля 2011

Если вы хотите стать крупным, сделайте отдельный для пользователей.

Преимущество пользователей и атрибутов в одной таблице:

  • Упрощенный SQL-запрос.
  • Если вы предполагаете, что атрибуты вам всегда будут нужны, тогда соединение будет на одно меньше.

Преимущество отдельных таблиц:

  • В реальной жизни вам не всегда нужны атрибуты.
  • Когда вам нужно соединить другие вещис пользователями вам не нужны все атрибуты.
0 голосов
/ 26 сентября 2012

Если вы собираетесь использовать реляционную базу данных, я бы порекомендовал отдельную таблицу (нормализованные, внешние ключи и т. Д.)

Если вы хотите попробовать одну из баз данных хранилища документов (например, MongoDB, CouchDB, RavenDB), то я бы сначала рассмотрел, обычно ли вы обращаетесь к атрибутам при обращении к пользователю. Если это так, то вы должны поместить атрибуты внутри пользователя как внедренные документы.

Удачи!

0 голосов
/ 18 февраля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...