Teria algum problema, no Power Architect , de criar o auto relacionamento do campo Código Organizacional? Porque não foi criado? Isso seria por conta da carga de ETL que poderia a vir a dar algum problema no momento da carga?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Teria algum problema, no Power Architect , de criar o auto relacionamento do campo Código Organizacional? Porque não foi criado? Isso seria por conta da carga de ETL que poderia a vir a dar algum problema no momento da carga?
Oii Gustavo, tudo bem?
Perdão na demora no retorno da sua resposta, vamos lá.
Sim, teríamos um problema ao criar o auto relacionamento. No Power Architect, estamos montando as entidade de relacionamentos e usando a engenharia reversa para criar as tabelas do banco de dados. O auto relacionamento não foi criado, pois além de dar problemas ao criar o banco, o relacionamento entre os códigos pai e filho será estabelecido na carga de ETL
Vamos entender melhor a Dimensão Organizacional:
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_Organizacional (PK). Podemos ver que três não possuem o código pai, por serem o nível mais alto (diretores):

Mas também temos os outros funcionários que reportam a esses diretores, podemos ver isso pelo relacionamento ente o Cod_Pai e Cod_Organizacional. 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.
Perdão pelo tamanho da resposta, mas espero que tenha ficado mais claro. Qualquer dúvida é só falar, tá bom?