Um tipo de tabela de fatos na modelagem dimensional é Accumulating Snapshot fact Table
. se você acha que precisa rever o significado e a definição deste tipo, você pode dar uma olhada neste artigo:
https://www.holistics.io/blog/the-three-types-of-fact-tables/ .
Imagine que temos uma tabela de fatos acumulados que possui três colunas de data importantes
'Order_Datekey , Manufacturing_Datekey , Ship_Datekey'
Quando a tabela está sendo inserida pela primeira vez, não há dados para colunas Manufacturing_Datekey and Ship_Datekey'
. Só sabemos a data em que o produto foi encomendado (Order_date). O que eu preciso saber é como podemos lidar com valores nulos para colunas de data? O ponto importante que li no livro Kimbal é que null deve ser evitado em uma coluna de chave estrangeira.
'Referential
integrity is violated if you put a null in a fact table column declared as a foreign key
to a dimension table'
Por outro lado, não temos nenhum valor para essas duas colunas de data no início. O que você sugere?
desde já, obrigado
Você diz "null deve ser evitado em uma coluna de chave estrangeira", mas essas datas são realmente FKs?
Muito provavelmente, essas datas são apenas atributos de um pedido e, se as datas são desconhecidas (e o motivo pelo qual são desconhecidas pode ser "porque ainda não aconteceu"), então
NULL
é a melhor maneira de representar esses atributos.Se a Data de Fabricação ou Data de Envio for sua Chave Estrangeira (ou parte de sua Chave Estrangeira) para outras tabelas, isso seria uma indicação de que você pode querer repensar sua estrutura de tabela.