Eu sou novo no design de data mart e preciso limpar alguns conceitos.
Eu li um pouco sobre modelagem de dimensões em que vejo que tabelas de fatos armazenam referências de chave estrangeira a tabelas de dimensões.
Agora, suponha que eu tenha uma tabela de dimensões de número de telefone e uma tabela de dimensão de telefone_extensão. (Essas tabelas têm detalhes diferentes, pelo que não posso combiná-las)
Pelo que entendi, ambas as tabelas de dimensão terão chaves primárias inteiras para obter melhor desempenho, e a tabela de fatos terá sua própria chave primária inteira e também armazenará referências de chave estrangeira a essas tabelas de dimensão.
Mas suponha que eu tenha uma situação em que nem todos os números de telefone tenham uma extensão de telefone relacionada a eles. (alguns números de telefone não precisam de extensão)
Para números de telefone que possuem um ramal, a tabela de fatos teria referências de chave estrangeira para ambas as tabelas de dimensão, mas como capturar a situação em que existem apenas números de telefone e nenhum ramal (e vice-versa, ou seja, ramal sem números de telefone) ?
Devo capturar essas informações com o número de telefone FK na tabela de fatos com um valor e uma chave estrangeira phone_extension null ?? Ou esses objetos não relacionados não são registrados nas tabelas de fatos?
Também preciso gerar relatório desse data mart. Então, começo consultando a tabela de fatos e recuperando os valores da chave de dimensão ou relatando diretamente da tabela de dimensões?
Obrigado pelo seu tempo lendo isso!
Aprecio qualquer ajuda !!