viernes, 23 de septiembre de 2011

Modelización de datos en Excel (3)


Continuando con  el artículo Modelización de datos en Excel (2) e intentando acercar las técnicas del Business Intelligence al diseño de aplicaciones en Excel, vamos a ver ahora las formas de relacionar las tablas que hemos aprendido a conformar. Es evidente que las tablas creadas deben tener relación entre ellas, de hecho, lo hacen mediante campos clave.

Claves externas (foreign keys)

Para que cada registro de una tabla de hechos quede indentificado por una dimensión, es necesario agregar a tal efecto un campo en dicha tabla (la de hechos) que adopte uno de los valores de la clave primaria que tiene la tabla de dimensión, de forma que exista una especie de "cordón umbilical" entre ambas tablas. Las claves que se agregan en la tabla de hechos se llaman claves externas o foreign keys y sí pueden tener duplicados, evidentemente:


A este tipo de relación de la llama "relación de uno a varios"

Por lo tanto, cada tabla de dimensión necesita tener relacionado su campo de clave primaria con un campo de clave externa que debe haber a tal efecto en la tabla de hechos. Es una especie de cordón umbilical que sirve para que queden relacionadas.

Centrándonos en el ejemplo que iniciamos en artículos anteriores y con perspectiva práctica, podemos adivinar que cuando estamos en la tabla de hechos, el campo de ID Tesorería lo cumplimentaremos mediante una lista desplegable cuyo origen de datos es la columna ID Tesoreria de la tabla de dimensión


Para recordar como hacer una lista desplegable adecuada para este caso, ver los artículos:


A estas alturas, es necesario explicar que existe otro motivo por el cual es necesaria la creación de campos de clave primaria con valores únicos. De hecho, algunos lectores se preguntarán:


¿Por qué es necesario el campo ID Tesorería si se podría haber aprovechado el campo Tesorería para convertirlo en campo de clave primaria asegurándonos de no repetir un mismo nombre? 

La respuesta es que, si lo hiciesemos así, en el futuro (por ejemplo) el banco podría cambiar de nombre y entonces las claves externas en la tablas de hechos, se verían sin sus "hermanas gemelas":


Es fácil adivinar los problemas que crearíamos si en un futuro cambiáramos por otra distinta la clave primaria "AAA": en la tabla de hechos habria varios registros sin la dimensión "hermana". Es decir romperíamos la llamada "integridad referencial". Con claves primarias que sean independientes de las descripciones, se salvaguarda la posibilidad de actualizar las segundas, dejando siempre intactas las primeras.

En resumen: las claves (primarias y externas), no pueden cambiarse una vez diseñada la aplicación y puesta en marcha. Esto es solucionable en Excel mediante una macro que bloquee las celdas de claves después de haber añadido un registro.

Pero demos un paso adelante y veamos como, mediante la relación de unas tablas con otras, podemos formar esquemas o diagramas que, según su forma tienen unas u otras características:

Esquema o diagrama de "Estrella"

Hasta ahora, podemos concluir que las 3 tablas que hemos construido tienen la siguiente relación:



La tabla de dimensión de Trabajadores y la tabla de hechos quedan relacionadas por el campo clave "ID Nombre trabajador". La tabla de dimensión de Cuentas de Tesorería y la Tabla de Hechos quedan relacionadas por el campo clave "IDTesorería" (como hemos visto anteriormente en este artículo).

El caso que nos ocupa es sencillo y apenas necesita 2 tablas de dimensión, pero en caso de que el ejemplo fuera más complicado debería ampliarse con otras tablas de dimensión:


Esta filosofía de relacionar las tablas (modelizar los datos) se llama "Esquema o diagrama de Estrella", debido a la forma adoptada por las tablas de dimensión (alrededor de la tabla de hechos en forma de estrella).

Nuestro siguiente artículo será estudiar el "Esquema o diagrama de Copo de Nieve".

Artículos relacionados:

Modelización de datos en Excel
Modelización de datos en Excel (2)
Modelización de datos en Excel (4)
Modelización de datos en Excel (5)


  José Manuel Pomares Medrano



No hay comentarios:

Publicar un comentario