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.