Sobes.tech
Back to questions
Junior — Middle
92

Каким образом в базе данных задаются несколько ролей для одного пользователя?

Answer from AI

sobes.tech AI

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

Пример структуры:

  • Таблица users — хранит данные пользователей.
  • Таблица roles — хранит возможные роли.
  • Таблица user_roles — связывает пользователей и роли, содержит пары user_id и role_id.

Такой подход позволяет одному пользователю иметь несколько ролей, а одной роли — принадлежать нескольким пользователям.

Пример SQL для создания связующей таблицы:

CREATE TABLE user_roles (
  user_id INT,
  role_id INT,
  PRIMARY KEY (user_id, role_id),
  FOREIGN KEY (user_id) REFERENCES users(id),
  FOREIGN KEY (role_id) REFERENCES roles(id)
);