Pregunta

Estoy configurando las tablas de Fact and Dim y tratando de encontrar la mejor manera de configurar mis valores de tiempo. AdventureworksDW utiliza una clave de tiempo (UID) para cada entrada de tiempo en la tabla de DimTime. Me pregunto si hay alguna razón por la que no deba usar un valor de tiempo, es decir, 0106090800 (Mi granularidad es cada hora).

¿Fue útil?

Solución

" Teclas inteligentes " (en este caso, una fecha codificada y un número de hora) pueden ocasionar problemas cuando desee cambiar las definiciones en su dimensión. Por ejemplo, sus usuarios pueden insistir en un cambio de la hora local a UTC. Ahora su clave ya no es realmente un número útil, es el valor antiguo en la dimensión.

Además, con un problema de renovación de la medianoche, la parte de la fecha de su clave inteligente podría no coincidir con la fecha real del cambio de hora UTC frente a la hora local.

Para evitar que la clave se convierta en un problema, no puede usarla para ningún tipo de cálculo. En cuyo caso, es poco mejor que un simple GUID o un número de incremento automático.

Las teclas de incremento automático (o GUIDS) son rápidas y simples. Lo más importante es que son trivialmente consistentes en todas las dimensiones.

Resulta que el tiempo tiene un mapeo numérico, pero ayuda mirar esto es una coincidencia extraña, no una base para un buen diseño.

Otros consejos

Aquí está más reciente de Ralph Kimball en la dimensión temporal. Está fechado en 2004, pero sigue siendo bueno.

This también te ayudará.

La clave principal debe ser sustituta, sin sentido, sin embargo, usar YYYYMMDD para la clave de dimensión de fecha es difícil de resistir, y también permite una partición fácil de la tabla. El truco es que aún debe considerarse como sin sentido, el hecho de que parece que una fecha debe considerarse como pura coincidencia. Esta clave nunca debe estar expuesta a usuarios empresariales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top