2013-08-03 1 views
0

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

У каждого пользователя будет профиль. Каждый пользователь будет находиться под любой роль «Admin» или «Starter» или «Pro»

У меня есть таблица users и user_roles.

Для профиля следует создать другой профиль «профили» таблицы, или я могу просто создавать поля в таблице пользователей? Какой запрос работает быстрее? Две таблицы или одна таблица

Также мне нужна таблица user_roles или я могу просто назначить роли в добавляемом коде формы пользователя? Жесткий код или в базе данных с ключом foregin в таблице пользователей?

Любые рекомендации оцениваются.

спасибо.

ответ

2

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

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

Одна таблица немного быстрее, чем несколько таблиц.

1

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^