1
resposta

Código Organizacional sem auto-relacionamento

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?

1 resposta

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):

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_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?