Я хочу иметь информацию о пользователе, хранящуюся в базе данных .. с такими столбцами, как имя, фамилия, имя пользователя, пароль, адрес электронной почты, номер мобильного телефона, коды активации, пол, день рождения, род занятий и еще несколько других. хорошо ли хранить все эти данные в одной таблице или я должен разделить ее между двумя пользователями и профилем?Таблица пользователей - одна таблица или две?
ответ
Один стол должен быть достаточно хорошим.
В случае, когда вы хотите уменьшить масштаб, появляются две таблицы или, в основном, вертикальная порция. Таким образом, вы разбиваете свои таблицы в нескольких таблицах, где обычно критериями partiotioning являются использование, то есть наиболее распространенные атрибуты, которые используются вместе, размещаются в одной таблице, а другие в другой таблице.
Один стол должен быть в порядке. Я бы сохранил хэш в столбце password
.
Если это атрибуты Пользователь (и они 1-1), то они принадлежат к таблице пользователей.
Вы бы обычно разделяли, если бы было много столбцов; то вы могли бы создать другую таблицу в 1-1 сопоставлении.
Другая таблица, очевидно, требуется, если для каждого пользователя имеется множество строк профиля.
Предлагаю вам прочитать this article on Wikipedia. о нормализации базы данных. В нем описываются различные возможности и плюсы и минусы каждого. Это действительно зависит от того, что вы хотите сохранить, и от отношения между пользователем и его свойствами.
В идеале следует использовать одну таблицу. Если количество столбцов становится сложнее управлять только тогда, вы должны переместить их в другую таблицу. В этом случае, в идеале, эти две таблицы должны иметь взаимно однозначное отношение, которое вы можете легко установить путем установки внешнего ключа в соответствующей таблице в качестве первичного ключа:
User
-------------------------------
UserID INT NOT NULL PRIMARY KEY
UserProfile
-------------------------------------------------------
UserID INT NOT NULL PRIMARY KEY REFERENCES User(UserID)
зависит от того, какое приложение является , это может быть иначе.
для корпоративного приложения, в котором мои пользователи также являются сотрудниками, я бы предложил две таблицы.
- tbl_UserPersonallInformation (содержит личную информацию как имя, адрес электронной почты, ...)
- tbl_UserSystemInformation (содержит другую информацию, как (название, JoinedTheCompanyOn, LeftTheCompanyOn)
В таких системах, как «Управление документами», «Управление информацией о проектах», ... это может быть необходимо. например, в компании, сотрудники которой могут уйти, а r ejoin через несколько лет, и даже у них будет другая должность. У сотрудника были некоторые виды деятельности и записи со своим старым названием, и у него будет еще кое-что с новым. Поэтому в системе должно быть записано, с каким заголовком (полномочиями) он сделал что-то.
- 1. Рельсы: Две таблицы has_many одна таблица
- 2. Одна таблица вложенных таблиц для нескольких пользователей
- 3. Самостоятельная справочная таблица отношений: одна или две таблицы?
- 4. Выберите две таблицы, когда одна таблица пуста или не пуста.
- 5. Таблицы SQL таблицы одна таблица или две таблицы
- 6. Таблица пользователей - redis или postgres
- 7. Одна таблица, один запрос, одна форма - несколько пользователей
- 8. Таблица временных пользователей или законных пользователей?
- 9. Одна таблица для всех пользователей или отдельная таблица для каждого пользователя в MySQL 10M records db
- 10. Camelot одна таблица наследования
- 11. Откат одна таблица
- 12. Выберите запрос (одна таблица)
- 13. Два действия одна таблица
- 14. одна таблица, соответствующая несколько строк
- 15. Производительность MySQL: одна таблица или несколько таблиц
- 16. Одна таблица поиска или множество таблиц поиска?
- 17. одна таблица или несколько таблиц в mysql
- 18. Одна таблица или много таблиц с отношениями
- 19. Nodejs одна таблица две модели с использованием loopback framework
- 20. Одна таблица в базе данных
- 21. Может ли одна таблица быть дочерней на две родительские таблицы
- 22. Структура Entity: одна таблица, две сущности - проблема параллелизма
- 23. MediaWiki - Таблица пользователей
- 24. MySQL - одна таблица каждого клиента или одна таблица со всеми клиентами
- 25. Таблица пользователей и сотрудников
- 26. Таблица пользователей В tempdb?
- 27. Одна таблица, два GridViews ASP.NET
- 28. Одна таблица фактов за событие?
- 29. Таблица ответов или абсолютная таблица
- 30. Я пытаюсь добавить информацию в две таблицы одновременно. Одна таблица