1
resposta

Criação dos vários processos de ETL da dimensão organizacional

Boa tarde, eu queria entender um pouco mais do porquê dos vários processos de ETL feitos para dimensão Organizacional e também essa parte de inserção no banco de dados.

Por exemplo; quando eu faço vejo uma prévia do que será inserido no banco dos processos 4 e 5, os resultados são os mesmos:

matricula    VENDEDOR    matricula3    DIRETOR    NIVEL    ESQUERDA    DIREITA
    10        Antonio L        20    John Campbell   0        0          0
    11        Willian Show     18    Taylor Maxwell  0        0          0
    12        Mike Star        18    Taylor Maxwell  0        0          0
    9        Walter Guys       20    John Campbell   0        0          0

Então até aí eu estou sobrescrevendo a tabela sem adicionar algo novo.

Mas uma diferença que existe entre esses dois processos é na hora da inserção no banco, onde a comparação do processo 5 se dá com a coluna matrícula:

Table field      Comparator    Stream field1
Cod_Organizacional    =           matricula    

E no processo 4 se dá com a matrícula3:

Table field      Comparator    Stream field1
Cod_Organizacional    =           matricula3    

Então é nesse parte que parece estar a necessidade de processos separados, mas eu não peguei a lógina totalmente do efeito que isso gera na tabela.

1 resposta

Oii Douglas, tudo bem?

Peço imensas desculpas pela demora no retorno de sua resposta, vamos lá:

A dimensão organizacional é basicamente uma tabela de funcionários, como podemos ver na aula, ela possui três hierarquias e a hierarquia mais alta são os diretores e conforme vai descendo a hierarquia, os funcionários reportam ao supervisor, o supervisor ao diretor, só que o diretor não tem a quem reportar, então é aí que vem o buraco na hierarquia. E por ela ter um buraco na hierarquia, é chamada de dimensão irregular e uma forma de resolver esse problema é criando uma tabela pai-filho, ou seja, uma tabela que faça um auto relacionamento.

E porque é feito esse auto relacionamento?

Como falei ali em cima, podemos ver essa tabela, como uma tabela de funcionário, certo? Temos o Cod_Pai (FK) e o Cod_Filho (PK). Podemos ver que três não possuem o código pai, por serem o nível mais alto (diretores):

Imgur

Mas também temos os outros funcionários que reportam a esses diretores, podemos ver isso pelo relacionamento ente o Cod_Pai e Cod_Filho. Por conta disso, a dimensão organizacional faz um auto relacionamento, para poder relacionar quem reporta a quem ali dentro. Ao mesmo tempo que alguns são diretores, eles também são funcionários.

Por conta disso, é feito todas essas quantidades de processos, para separar as hierarquias, colocar quem é subordinado de quem dentro da dimensão organizacional. E também por isso que é trocado em alguns processos o número da matrícula.

Perdão pelo tamanho da resposta, mas espero que tenha ficado mais claro. Qualquer dúvida é só falar, tá bom? :)