miércoles, 23 de mayo de 2012

Punto de vista personal. Tabla de Hechos vs Tabla de Dimensiones

Saludos querido lector, continuando con la línea que plantee en el último post, en esta ocasión quiero exponer la diferencia que hay desde mi punto de vista, entre dos conceptos claves de este último nivel de la pirámide. Cómo ya mencioné en el último post, partiremos de la 3FN para armar el esquema de BD con el cual trabajaremos, esto con el fin de optimizar el tiempo de respuesta de la BD ante consultas que requieren los altos cargos para sus análisis.

El objetivo de este esquema es apoyar la toma de decisiones, por esa razón debe manipular toda la información referente a los procesos de negocio de la compañía que se ha registrado en el nivel operacional, ya sea por regiones, fechas, productos, entre otros atributos que puedan servir de parámetro para un análisis de desempeño.

El proceso de negocio en cuestión estará en la que llamamos tabla de hechos, y los parámetros que se usan para evaluar estarán en lo que se conoce como tablas dimensiones. Las dimensiones agrupan toda la información necesaria en una sola tabla de modo que al hacer una consulta, la cantidad de "Joins" a hacer sea solo uno. Por otro lado, en la tabla de hechos tendremos todos los registros relacionados al proceso que estamos analizando. He aquí una primera diferencia entre estas dos tablas: La información que guardan.

La segunda diferencia que veo, es que las tablas dimensiones pocas veces cambiarán, es decir si tu tabla tiempo está programada para almacenar los 5 años anteriores, el actual y los 5 años siguientes, tendrás suficientes registros como para no actualizar esa tabla durante un buen tiempo, por lo menos 5 años. por otro lado, la tabla de hechos, que es la qe refleja el proceso de negocio, si cambiará constantemente, por qué? pues una compañía crecer lo más que pueda, tener un buen mercado, entre otros objetivos. Siendo así, los procesos de negocios cada vez deberían tener más registros, si por ejemplo alcanzas 500 ventas en un mes, al siguiente querrás tener 600 o más y eso significa 100 o más registros nuevos que tomar en cuenta, por esta razón, se dice que las tablas de hechos están pensadas para crecer mucho y actualizarse constantemente, mientras que las tablas de dimensiones se piensan como que no cambiarán constantemente. He allí la segunda diferencia.

En conclusión, existen dos diferencias a mi parecer, la priemra, el tipo de información que contiene cada tabla y la segunda es la frecuencia con la cual se actulizarán estas tablas.

Es todo por ahora, me despido :)

martes, 22 de mayo de 2012

Importancia de la 3FN (tercera forma normal)

Saludos lector, estamos ahora entrando al último bloque de la materia de Sistemas de Información, en el cual trabajaremos con el último nivel de la pirámide de los sistemas. En este nivel vamos a tomar las decisiones que forman parte de la estrategia del negocio. Necesitaremos manejar grandes cantidades de datos en le menor tempo posible, para ello nuestra base de datos debe estar bien diseñada. En este artículo introductorio mencionaré brevemente la  importancia de la tercera forma normal para nosotros en este nivel.

La tercera forma normal:
-Elimina las dependencias transitivas entre atributos no claves de las tablas en la BD.
-Elimina por completo cualquier tipo de reduncia que haya en la BD.

Cuál es su importancia?
  Por lo antes visto, vemos que con la 3era forma normal, obtenemos un diseño  correcto de la BD, y auque aún puede mejorarse, en este nivel, la base de datos es lo suficientemente adaptable a las necesidades de las aplicaciones. En este nivel las tablas presentan una estructura relacional que nos permite manipular la data de manera sencilla ya que cada campo esta relacionado solo a una clave primaria, con lo cual el insertar o eliminar un registro no pone en riesgo la integridad de la base de datos. Este modelo nos permitirá además tener una base para la herramienta que usaremos en el último nivel (OLAP) la cual mencionaré en otro post.

En resumen, la 3FN es una manera elegante y muy sencilla de manejar, además de lo segura que es en cuanto al manejo de datos, nos servirá de base para lo que deseamos hacer en este nivel. No se usa directamente, porque este nivel requiere bases de datos que estén organizadas de manera jerárquica y no relacional, sin embargo, con la 3FN podemos partir para crear ese modelo, en otro post profundizaré más en esos tópicos, hasta una próxima :)