Mejores ID para la tabla de Tiempo

2 04 2008

No se como escribir esto, a menudo mientras reviso un modelo estrella o un data warehouse me encuentro que al ejecutar:

select * from SalesFact

Un select para ver como está la tabla de hechos, el select que ejecuto muestra que la columna TimeId ( o como sea que la hayan llamado) trae valores como 54548,  54549,…54555. Esta columna es el campo por el que se hace join con la tabla de tiempo. A que fecha corresponden dichos números, ni idea. Habrá que hacerle un select a la tabla de tiempo y ver a que fecha corresponde el ID.

Lo mejor es no usar estos valores, es mucho más sencillo usar la fecha en formato yyyyMMdd. El resultado sigue siendo un número entero y mucho más fácil de leer

20080331 = 31 de Marzo del 2008

Para llenar la tabla de hechos no se requiere ir primero a la tabla de tiempo para ver que ID le toca a cada fecha, basta con un:

SQLServer: convert( varchar, fecha, 113)

Oracle: TO_CHAR( fecha, yyyyMMdd)

MySQL: Year(Fecha)*10000+Month(Fecha)*100+day(Fecha)

¿a poco nó?


Acciones

Información

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s




Seguir

Get every new post delivered to your Inbox.