Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, tudo bem?
Estou fazendo um projeto de um sistema de gerenciamento interno, do escritório onde trabalho.
Inicialmente o sistema irá tratar a parte financeira, gestão de clientes.
Terei uma tabela para cadastrar as Empresas, uma para os sócios dessa empresa, uma para os serviços que prestaremos para todas as empresas, etc.... Resumindo, tudo se baseará "na empresa", ou melhor, no ID da empresa cadastrada.
Agora vem a dúvida:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/4chM0WK.png&key=1984539b3433724cd01b969d24f19414f5ea573c60c591922ffb3fe69f0dd615" alt="4chM0WK.png" />
Tenho as tabelas acima, ressaltando os campos principais seriam:
p_empresa.ID
p_socio.ID_empresa
s_usuario.ID
s_usuario_permissao.ID_usuario
O primeiro seria a "base" da maior parte do sistema, o segundo seria um dependente primeiro. No terceiro e quarto acontecem a mesma coisa, base e dependente, respectivamente.
Hoje, estou usando desta forma e na interface eu utilizo "SELECT * WHERE ID_empresa = XX" pra selecionar os dados de cada empresa, mas vi que isso pode causar erro na integridade do DB. Sendo a melhor solução usar FK.
Como eu usaria FK nessa relação dessas 4 tabelas (p_empresa <> p_socio, s_usuario <> s_usuario_permissao)?
No caso de eu utilizar FK, eu deveria criar uma FK na tabela "dependente", certo?
Na minha estrutura eu criaria uma FK com o nome de ID_empresa e quando precisasse buscar qualquer dado, continuaria baseando o SELECT nesse "campo" (FK) certo?
Sei que o tópico ficou extenso, mas não sei se conseguiria explicar sendo menor.
Desde já agradeço à todos.
:yes:
Carregando comentários...