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