Sobes.tech
Junior — Middle

Como são atribuídos vários papéis a um único utilizador na base de dados?

sobes.tech IA

Resposta da IA

Na base de dados, para atribuir múltiplos papéis a um único utilizador, geralmente é utilizada uma relação muitos-para-muitos entre as tabelas de utilizadores e papéis.

Exemplo de estrutura:

  • Tabela users — armazena os dados dos utilizadores.
  • Tabela roles — armazena os papéis possíveis.
  • Tabela user_roles — liga utilizadores e papéis, contendo pares user_id e role_id.

Esta abordagem permite que um utilizador tenha vários papéis, e que um papel pertença a vários utilizadores.

Exemplo de SQL para criar a tabela de ligação:

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)
);