Está en la página 1de 6

En las bases de datos, y ms concretamente en un data warehouse, una tabla de hechos (o tabla fact) es la tabla central de un esquema dimensional

(en estrella o en copo de nieve) y contiene los valores de las medidas de negocio. Cada medida se toma mediante la interseccin de las dimensiones que la definen, dichas dimensiones estarn reflejadas en sus correspondientes tablas de dimensiones que rodearn la tabla de hechos y estarn relacionadas con ella. En la figura de la derecha, la tabla central (Ventas) es la tabla de hechos de un diseo de modelo de datos en estrella, las cinco tablas que la rodean (Producto, Tiempo, Almacn, Promocin y Cliente) son las cinco dimensiones de que consta esta tabla de hechos, en dicha tabla se almacenan, en este caso, las unidades vendidas y el precio obtenido por dichas ventas, estos son los hechos o medidas de negocio almacenados y que, gracias al diseo multidimensional en estrella, podrn ser analizados de forma exhaustiva, tpicamente mediante tcnicas OLAP (procesamiento analtico on-line). [editar]Las

medidas del negocio (hechos)

Las medidas ms tiles para incluir en una tabla de hechos son los aditivos, es decir, aquellas medidas que pueden ser sumadas como por ejemplo la cantidad de producto vendido, los costes de produccin o el dinero obtenido por las ventas; son medidas numricas que pueden calcularse con la suma de varias cantidades de la tabla. En consecuencia, por lo general los hechos a almacenar en una tabla de hechos van a ser casi siempre valores numricos, enteros o reales. [editar]Cardinalidad

de la tabla de hechos

Las tablas de hechos pueden contener un gran nmero de filas, a veces cientos de millones de registros cuando contienen uno o ms aos de la historia de una gran organizacin, esta cardinalidad estar acotada superiormente por la cardinalidad de las tablas dimensionales, Por ejemplo, si se tiene una tabla de hechos "TH" de tres dimensiones D1, D2 yD3, el nmero mximo de elementos que tendr la tabla de hechos TH ser: Card(TH) = Card(D1) x Card(D2) x Card(D3)
Donde 'Card(x)' es la cardinalidad de la tabla 'x'

Naturalmente, estas cardinalidades no son fijas, ya que, por ejemplo, si una de las dimensiones se refiere a los clientes de la empresa, cada vez que se d de alta un nuevo cliente se estar aumentando la cardinalidad de la tabla de hechos. Una de las dimensiones suele ser el tiempo, ste puede medirse de muy distintas formas (por horas, das, semanas, ...), pero lo cierto es que transcurre continuamente, y para que el sistema funcione se deben aadir registros peridicamente a la tabla de esta dimensin (tabla de tiempos) y esto tambin produce un aumento de la cardinalidad de la tabla de hechos, sta es la principal causa de que las tablas de hechos lleguen a tener una cantidad de registros del orden de millones de elementos. [editar]Granularidad Una caracterstica importante que define a una tabla de hechos es el nivel de granularidad de los datos que en ella se almacenan, entendindose por 'granularidad' el nivel de detalle de dichos datos, es decir, la granularidad de la tabla de hechos representa el nivel ms atmico por el cual se

definen los datos. Por ejemplo, no es lo mismo contar el tiempo por horas (grano fino) que por semanas (grano grueso); o en el caso de los productos, se puede considerar cada variante de un mismo artculo como un producto (por ejemplo, en una empresa textil, cada talla y color de pantaln podra ser un producto) o agrupar todos los artculos de una misma familia considerndolos como un nico producto (por ejemplo, el producto pantaln genrico). Como se puede observar, la granularidad afecta a la cardinalidad, tanto de las dimensiones como de la tabla de hechos, a mayor granularidad (grano ms fino) mayor ser el nmero de registros final de la tabla de hechos. Cuando la granularidad es mayor, es frecuente que se desee disponer de subtotales parciales, es decir, si tenemos una tabla de hechos con las ventas por das, podra interesar disponer de los totales semanales o mensuales, estos datos se pueden calcular haciendo sumas parciales, pero es frecuente aadir a la tabla de hechos registros donde se almacenan dichos clculos para no tener que repetirlos cada vez que se requieran y mejorar as el rendimiento de la aplicacin. En este caso se dispondr en la misma tabla de hechos de datos de grano fino y de grano ms grueso aumentando an ms la cardinalidad de la tabla. [editar]Agregacin La agregacin es un proceso de clculo por el cual se resumen los datos de los registros de detalle. Esta operacin consiste normalmente en el clculo de totales dando lugar a medidas de grano grueso. Cuando se resumen los datos, el detalle ya no est directamente disponible para el analista, ya que este se elimina de la tabla de hechos. Esta operacin se realiza tpicamente con los datos ms antiguos de la empresa con la finalidad de seguir disponiendo de dicha informacin (aunque sea resumida) para poder eliminar registros obsoletos de la tabla de hechos para liberar espacio. [editar]Tipos

de datos adecuados

Como ya se ha comentado, es normal que las tablas de hechos almacenen muchos millones de registros, por esta razn es muy importante que no se despilfarre memoria, hay que procurar utilizar los tipos de datos adecuados, si una medida a almacenar puede guardarse en un campo de tipo entero, no debemos definir ese campo como de tipo entero largo o como tipo real. Del mismo modo, si una magnitud necesita decimales, si las caractersticas de sta lo permiten, ser mejor utilizar un tipo real simple que un tipo real de doble precisin. Ntese que elegir uno u otro de estos campos, en principio slo supondra una diferencia de unos pocos bytes en un registro, pero dado que en una tabla de hechos estamos hablando de cientos de millones de registros, en realidad, esa diferencia no es despreciable (1 byte x 1000 millones de registros = 1GB de memoria).

TIENDA id_TIENDA ubicacin id_estado

ESTADO id_estado NombreEdo

Ventas product id_TIENDA id_ESTADO id_producto VENTA

Tabla de hechos

PRODUCTO id_producto Tipo NombreProducto

ESTADO
clav PK NN NN 1 AGUAS CALIENTES 2 BAJA CALIFORNIA 3 BAJA CALIFORNIA SUR 4 CAMPECHE 5 CHIAPAS 6 CHIHUAHUA 7 COAHUILA 8 COLIMA 9 DURANGO 10 GUANAJUATO nom

11 GUERRERO 12 HIDALGO 13 JALISCO 14 EDO DE MXICO 15 MICHOACN 16 MORELOS 17 NAYARIT 18 NUEVO LEN 19 OAXACA 20 QUERTARO 21 PUEBLA 22 QUINTANA ROO 23 SAN LUIS POTOS 24 SINALOA 25 SONORA 26 TABASCO 27 TAMAULIPAS 28 VERACRUZ 29 TLAXCALA 30 YUCATN 31 ZACATECAS 32 DISTRITO FEDERAL

TIENDA id_TIENDA 1a 2a 3a 4a 5a 6a

ubicacin zaragoza norte #123 3 oriente #14 3 de mayo sur #12 calle 20 de nov sur 154 av.chicotencatl #12 av.carranza #4

id_estado 1 24 32 1 2 5

PRODUCTO id_producto 1p 2p 3p 4p 5p 6p

Tipo PELOTA MUECA VIDEOJUEGOS Cafeteras mueco flores

NombreProducto PELOTA WILSON LAPIZ XBOX zote holwis margarita

VENTAS PRODUCT id_ESTADO 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 7 7 7 7 7 id_TIENDA 1a 1a 1a 2a 2a 2a 3a 3a 3a 1a 1a 1a 2a 2a 2a 3a 3a 3a 1a 1a 1a 2a 2a id_producto VENTA 1p 2P 3P 1p 2P 3P 1p 2P 3P 1p 2P 3P 1p 2P 3P 1p 2P 3P 1p 2P 3P 1p 2P

1 2 3 40 50 90 20 40 90 30 56 76 45 12 32 34 76 87 37 25 17 22 11

7 7 7 7

2a 3a 3a 3a

3P 1p 2P 3P

67 78 78 51