O que eu tinha em mente? Criar uma relação entre perfis de usuário e módulos / funções de um sistema.
No entanto fazendo assim acontece o seguinte:
Supondo que eu tenha os seguintes registros em FuncaoModulo:
siglaFuncao siglaModulo
-------------- --------------
altr prod
incl usua
Pelas foreign keys da tabela PerfilFuncao ele só deixa criar registros a partir de valores que estejam em FuncaoModulo. Até aí, tudo bem. No entanto ele deixa cruzar dados, tipo, criar a dupla altr/usua ou incl/prod. Eu queria saber se existe um jeito de só permitir usar A DUPLA DE UM REGISTRO, não deixar cruzar as colunas, tipo, no exemplo, só deixar incluir incl/usua ou altr/prod.
Pergunta
Guest --Carlos --
Olá. Estou com um problema e gostaria de saber se alguém tem alguma sugestão para resolvê-lo.
Tenho a seguinte tabela:
create table FuncaoModulo
(
siglaFuncao char (4) not null,
siglaModulo char (4) not null,
FOREIGN KEY (siglaModulo) REFERENCES Modulo(sigla), -> referencia uma tabela simples com campos sigla e descricao
FOREIGN KEY (siglaFuncao) REFERENCES Funcao(sigla) -> referencia uma tabela simples com campos sigla e descricao
)
Tenho outra tabela que eu criei assim (mas pode ser alterada =) )
CREATE TABLE PerfilFuncao
(
siglaPerfil char(4) not null,
siglaFuncao char(4) not null,
siglaModulo char(4) not null,
FOREIGN KEY (siglaPerfil) REFERENCES Perfil(sigla),
FOREIGN KEY (siglaModulo) REFERENCES FuncaoModulo(siglaModulo),
FOREIGN KEY (siglaFuncao) REFERENCES FuncaoModulo(siglaFuncao)
)
O que eu tinha em mente? Criar uma relação entre perfis de usuário e módulos / funções de um sistema.
No entanto fazendo assim acontece o seguinte:
Supondo que eu tenha os seguintes registros em FuncaoModulo:
siglaFuncao siglaModulo
-------------- --------------
altr prod
incl usua
Pelas foreign keys da tabela PerfilFuncao ele só deixa criar registros a partir de valores que estejam em FuncaoModulo. Até aí, tudo bem. No entanto ele deixa cruzar dados, tipo, criar a dupla altr/usua ou incl/prod. Eu queria saber se existe um jeito de só permitir usar A DUPLA DE UM REGISTRO, não deixar cruzar as colunas, tipo, no exemplo, só deixar incluir incl/usua ou altr/prod.
Obrigado desde já.
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados