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