Какую модель данных лучше использовать для хранения профилей пользователей? - PullRequest
2 голосов
/ 03 января 2012

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

Я не могу решить, будет ли лучше хранить всю эту информацию в одной таблице Users или разбить ее на 2 таблицы.

Если бы я разбил его на две таблицы, у меня была бы таблица Users, в которой бы просто хранились идентификатор пользователя, имя, адрес электронной почты, DOB, пол.

UserProfiles будет хранить остальную часть материала, относящегося к профилю, используя один и тот же UserID с таблицей Users

Ответы [ 3 ]

3 голосов
/ 03 января 2012
  1. Если существует несколько профилей одного пользователя, это означает отношение один ко многим, тогда я бы порекомендовал вам создать 2 таблицы, одна из которых - пользовательская, а другая - профиль пользователя.

  2. Если у одного пользователя есть только один профиль, вам следует создать только одну таблицу с обоими атрибутами как для пользователя, так и для профиля.

2 голосов
/ 03 января 2012

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

Здесь есть отличная статья , в которой подробно объясняется, почему объединения дороги.В конечном итоге вы должны основывать свое решение на информации, представленной в ссылке, однако, как я уже упоминал ранее, если вы планируете часто запрашивать две таблицы вместе, храните данные в одной таблице.

1 голос
/ 03 января 2012

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

В зависимости от ваших требований к профилям пользователей, эта ссылка может быть полезной .

Надеюсь, эти ссылки будут полезны. ИЛИ Я получил это изображение модели данных, изображающее модель данных типа Facebook:

enter image description here

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