Ir para conteúdo
  • 0

Melhor abordagem relacionamento Funcionário X Pessoa e com tabelas fato


Arthur de Souza Barros
Ir para solução Solucionado por Rafa Lemos ,

Pergunta

  • Alunos

Saudações a todos, 

aqui onde trabalho utilizamos um ERP específico para o meio rural, o qual trata as tabelas de funcionário e pessoas da seguinte maneira. 

 

Como tem alta rotatividade de funcionários, o mesmo funcionário pode entrar e sair da empresa várias vezes no ano. Desta forma, é gerado um novo cadastro de funcionário para cada vez que o indivíduo é contratado, mas mantêm-se o mesmo cadastro de pessoa (e seus complementos).

Portanto, qual seria a melhor abordagem nesse caso? Trazer todos os dados da pessoa para o Funcionário (empregado), ou há uma outra forma melhor de tratar?

Penso que o Funcionário deverá ser a tabela dimensão e as demais tabelas (folha, faltas, atestados, vacinas, etc), suas dimensões. 

 

Segue um exemplo básico de como está a estrutura do banco. 

<spoiler>

Desenho2.png.62575e0f1d915d2572677f8a96408bea.png

</spoiler>

Outra dúvida é se devo concatenar as chaves primárias da tabela Empregado (EMPCODIGO + EMPRECODIGO), criando assim um código único (que teria que ser replicado em todas as fatos também), ou vincular pelo código de pessoa (neste caso o relacionamento seria muitos para muitos) .

<spoiler>

image.png.d941686620d70bf234f99ee86ca7df56.png

</spoiler>

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução

Entendi.

Cara, no seu caso precisa analisar realmente quais dados vocês utilizarão para trazer tudo ou não.

Se não tem possibilidade de montar view (é difícil) outra possibilidade seria o Pentaho (PDI) no qual coletaria os dados do banco do ERP e montaria o DW em outro banco para deixar na estrutura que precisa e não "forçar" isso no Power Query.

Como você questionou, qual seria as possibilidades?

A primeira seria a view e a segunda seria você montar o DW em um banco apartado com auxilio do PDI.

Link para o comentário
Compartilhar em outros sites

  • 1
  • Alunos

@Arthur de Souza Barros bom dia!

Sobre sua dúvida, pelo que entendi, você está consultando direto o banco do ERP, que isso não é recomendado.
Seria interessante construir views para construir conforme você está pensando, que seria o correto.

Normalmente os ERP tem essa estrutura para deixar o sistema mais rápido, diferente de um DW.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, Rafa Lemos disse:

@Arthur de Souza Barros bom dia!

Sobre sua dúvida, pelo que entendi, você está consultando direto o banco do ERP, que isso não é recomendado.
Seria interessante construir views para construir conforme você está pensando, que seria o correto.

Normalmente os ERP tem essa estrutura para deixar o sistema mais rápido, diferente de um DW.

 

Seria sim, mas eu não tenho acesso ao banco  nesse nível.  Meu nível de acesso, e de todo mundo aqui na empresa, é apenas consulta. (tivemos alguns problemas no passado com a desenvolvedora quando esse acesso era liberado ao T.I). Hoje eu mondo a consulta SQL (firebird) e jogo no PBI. 

Editado por Arthur de Souza Barros
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Rafa Lemos eu sou do T.I. Não é uma questão de conseguir ou não, é uma questão de politica da empresa. Não fazemos nenhum tipo de modificação nos bancos de dados dos sistemas que rodamos. Posso até montar a view e ver com a desenvolvedora se ela adiciona, mas até lá vai mais de mês (se concordarem em adicionar)

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...