Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ezequiellorenzatti

Relacionamento entre tabelas

Recommended Posts

Estou desenvolvendo um sistema que tem os seguintes padrões:

 

Um usuário pode estar em mais de um grupo.

Cada grupo pode conter diversos usuários, sem um limite pré-estabelecido.

Os usuários do grupo (de acordo com suas permissões) podem gerenciar 1 ou mais setores

 

Ex:

Usuário "José" está no grupo "Gerentes", que tem acesso aos dados do setor "Vendas" (permissão total);

Usuário "José" está no grupo "Gerentes", que tem acesso aos dados do setor "Compras" (permissão de visualizar);

Usuário "José" está no grupo "Vendedores", que tem acesso aos dados do setor "Clientes (permissão total);

Usuário "Pedro" está no grupo "Vendedores", que tem acesso aos dados do setor "Clientes"(permissão de visualizar);

 

Tendo isso em mente crei essas tabelas:

 

Tabela: Usuarios

id int

nome varchar(200)

email varchar (200)

senha varchar(32)

 

Tabela Grupos:

id int

nome varchar(200)

idlider (fk para tabela usuarios campo coluna id)

 

Tabela Ctr_Usuarios_Grupos:

id int

idusuario int (fk para id na tabela usuarios coluna id)

idgrupo int (fk para id na tabela grupos coluna id)

visualizar boolean

adicionar boolean

alterar boolean

remover boolean

 

Tabela Setor:

id int

local varchar(200)

 

Tabela Ctr_Grupo_Setor:

id int

idgrupo int (fk para id na tabela grupos coluna id)

idsetor int (fk para id na tabela setor coluna id)

 

O cadastro de Usuários, Grupos e Setores é independente um do outro.

Quem faz o relacionamento entre eles são as tabelas Ctr_Usuarios_Grupo e Ctr_Grupo_Setor

 

Consigo gravar os dados no banco e fazer o relacionamento entre eles corretamente a partir da aplicação.

 

O que eu quero é criar uma consulta sql, que traga somente algumas colunas especificas de todas essas tabelas

 

Como nome do usuario, o nome do grupo e permissoes, e o local do setor

 

Alguém pode ajudar nesse caso ?

 

Já pesquisei e não conseguir achar muita coisa que ajudasse.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.