Базы данных: профили пользователей - PullRequest
1 голос
/ 26 июня 2011

Является ли плохой идеей включать всю пользовательскую информацию в одну таблицу?Было бы неплохо иметь таблицу users и таблицу user_profiles?

Какой метод лучше и почему?

Под какимобстоятельства вы бы использовали одну / две таблицы?

Ответы [ 3 ]

3 голосов
/ 26 июня 2011

Если бы отношение между этими таблицами было однозначным, у меня была бы одна таблица.Если отношение «один ко многим» (один пользователь может иметь более одного профиля), то их, очевидно, следует разделить.

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

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

1 голос
/ 26 июня 2011

У меня обычно есть личный стол и пользовательский стол. Таблица users содержит всю информацию о пользователе (имя пользователя, пароль (зашифрованный) и т. Д.). Таблица person содержит имена и т. Д.

0 голосов
/ 26 июня 2011

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

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

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