1
resposta

Criação de IDs String

Por que os IDs que estamos criando nas dimensões não são IDs inteiros incrementais ?

Pois a modelagem dessa maneira que está categoria posso por exemplo ter um novo registro chamado Agua Mineral sem acento com isso ele irá duplicar a categoria gerando duplicidade mesmo eu tratando no ETL.

1 resposta

Donny

Usamos aqui um modelo didático para exemplificar a construção de um Datawarehouse.

A criação de um ID numérico consiste em uma técnica, não abordada no curso de ETL, chamada LOOKUP. Quando não temos um código podemos criar um sequencial numérico que será parecido com um contador que, a cada novo membro da dimensão, vamos incrementar este ID. O ponto de atenção, ao usar o Lookup, é que, quando da leitura das fontes para a tabela de fato, você terá que, baseado no nome, ir na tabela de dimensão, verificar quem é o sequenciador numérico , consulta-lo e depois grava-lo na fato. Isso torna o processo de leitura da fato mais lento já que teremos que fazer um consulta na tabela de dimensão a cada linha da fato gravada. Este processo se agrava se nós tivermos mais de um campo necessário para Lookup.

Temos muitos questionamentos do que pode ser usado como ID em um DW. Quando criamos um código (ID) para uma entidade em um sistema transacional este ID será manipulado pelo usuário do sistema e, ele, é claro, deve ter uma determinada lógica. Num DW os IDs são algo que ligam a fato a dimensão e os usuários do BI dificilmente terão acesso a eles. O que eles vão visualizar nas aplicações de consulta serão somente os descritores.

Att

Victorino.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software