Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dimensão Cliente

Prezados(a),

Com relação ao modelo star-schema, na Dimensão Cliente, olhando a carga da dimensão, e que nela o campo chave é Cod_Cliente, é realmente necessário ter os códigos da cidade, estado, região etc?

4 respostas

Oi Emiliano! Como vai?

Quando fala em adicionar os códigos cidade, estado e região, a que etapa do processo você se refere?

A construção da dimensão na OLAP? Ou no carga do pacote SSIS?

Pode me dizer se está falando desse passo aqui? Confira o vídeo a seguir em 0:45.

https://cursos.alura.com.br/course/business-intelligence-olap-sql-server/task/35426

Oi Marina, tudo ótimo! :)

É na etapa da criação mesmo da estrutura (tabelas) do DW, não poderia só criar com o código do cliente e pronto? Essa é minha dúvida, entendeu? Porque vendo o modelo e os relacionamentos entre as tabelas de Fato e Dimensão, fiquei na dúvida se realmente era necessário, para mim bastaria o código do cliente e os campos de descrição, deu para entender?

solução!

Oi Emiliano!

Acho que entendi o que você quis dizer. No nosso exemplo até então, não existia nenhuma chave de relação diretamente com esses códigos, então você está questionando a necessidade de utilzar um identificador correto? Poderiam ser apenas atributos de cliente, como ocorre na dimensão produto (tamanho e sabor), certo?

A necessidade do código vem do fato de que se trata de uma relação hierarquica. Diferente de marca e sabor, cidade, estado e região, terão uma relação de 1:N entre si. Precisamos que seja assim no banco de dados, pois depois, quando montamos a dimensão na OLAP, criamos uma hierarquia. Nesse processo precisamos de código e descritor para montar essa relação através das Key Columns. É possível criar essas relações sem o código, mas o processo não ficaria tão limpo ou otimizado.

Além disso, é boa prática criar códigos quando temos uma grande quantidade de elementos dentro de uma coluna. Fica mais fácil localizar um elemento, e realizar mudanças quando temos um identificador.

Isso tudo faz parte do processo da normalização do banco de dados. A grande vantagem da identificação, é que se houver a necessidade de alterar algum valor, você não precisa fazer isso item por item. Você vai alterar apenas na tabela que relaciona o identificador com valor. Como o identificador permanece o mesmo, por espelhamento, a mudança estará feita para todas as relações do seu banco.

Se quiser saber mais sobre esse processo, pode conferir essa outra dúvida que respondi aqui no fórum:

https://cursos.alura.com.br/forum/topico-normalizacao-do-modelo-floco-de-neve-83050

Por favor, me avise caso não tenha ficado claro, ou caso sua dúvida seja outra.

Ok Marina, entendi sim, obrigado! :)