1. Base de datos multidimensional
Las bases de datos multidimensionales se utilizan principalmente para crear aplicaciones OLAP y
pueden verse como bases de datos de una sola tabla, su peculiaridad es que por cada dimensión tienen
un campo (o columna), y otro campo por cada métrica o hecho, es decir estas tablas almacenan
registros cuyos campos son de la forma:
Donde los campos ' ' hacen referencia a las dimensiones de la tabla, y los campos ' ' a las métricas
o hechos que se quiere almacenar, estudiar o analizar.
[BAses de datos multidimensionales vs. Cubos OLAP
Cada una de estas tablas puede asimilarse a un hipercubo o -más concretamente si de
herramientas OLAP se trata- a un cubo OLAP, donde las dimensiones del mismo se corresponden los
campos de dimensiones de la tabla (campos ' '), y el valor almacenado en cada celda del cubo
equivale a la métrica o métricas (campos ' ') almacenadas en la tabla.
[Implementación
Lo más importante a tener en cuenta para implementar esta estructura de datos es que la tabla contiene
todas las n-tuplas, con los valores de las dimensiones, o índice del cubo, y los valores de las métricas
previamente calculados para el cruce de valores del índice en cuestión.
[editar]Ejemplo
Dada la siguiente especificación para una tabla (o hipercubo) en una base de datos multidimensional:
Dimensión (Tiempo, Productos)
Jerarquía (Año->Semestre->Mes->Semana),(Categoría->Línea->Marca)
Elementos (2006, 2007, ..., S1-06, ..., Ene-06, ..., 200625....),
(Todos, Máquinas, Refacciones, Máquinas caras, Máquinas
Baratas, Máquina 1,...)
Hechos (Ventas, Inventario, Defectos, Devoluciones)
Métricas (PD:=Devoluciones/Ventas, %Defectos)
la tabla resultante podría tener la forma siguiente:
Tabla
Tiempo Productos Ventas Inventario Defectos Devoluciones P/D
%Defectos
2. 2006 Todos 1000 200 50 10 1/100
5%
Ene06 Máquina 1 10 100 10 10 10/10
100%
...
[editar]Base de datos Multivaluada [1]
Las bases de datos Multivaluadas (multivalue database) son un tipo especial de base de datos
multidimensionales, también llamadas bases de datos PICK por el primer desarrollo que se realizó de
este tipo, la aplicación "Pick operating system".
[editar]Historia
El modelo de datos multivaluado fue definido por Don Nelson a mediados de los 60, y en 1968 se
realizó la primera implementación de un sistema de bases de datos multidimensional, este desarrollo se
atribuye a Dick Pick (de ahí que también se utilice el termino Base de datos Pick para este tipo de
bases de datos).
[editar]Concepto
El modelo de datos más extendido es el modelo relacional, este modelo se basa en las leyes de
la normalización de bases de datos; según estás normas, y concretamente, según la primera forma
normal, un campo de una base de datos no puede contener valores múltiples. En una base de datos
multivaluada no se aplica la regla de la primera forma normal, es decir, se permite que un campo pueda
tener más de un valor almacenado.
[editar]Ejemplo
Supongamos una base de datos en la que queremos almacenar información de clientes; se supone que
cada cliente puede tener más de un teléfono. En el modelo relacional habría que crear dos tablas o
relaciones como estas:
Tabla 'Cliente'
ID Cliente Nombre Apellido
123 Rachel Ingram
456 James Wright
3. 789 Maria Fernández
Tabla 'Teléfono cliente'
ID Cliente Teléfono
123 555-861-2025
456 555-403-1659
456 555-776-4100
789 555-808-9633
En el modelo multivaluado la siguiente tabla (que no cumple la primera forma normal) es perfectamente
válida:
Tabla 'Cliente'
ID Cliente Nombre Apellido Teléfono
123 Rachel Ingram 555-861-2025
555-403-1659
456 James Wright
555-776-4100
789 Maria Fernández 555-808-9633
Bases de datos multidimensionales
Artículo principal: Base de datos multidimensional.
Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian
demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podría serlo también en una base de datos
multidimensional), la diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una
tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean estudiar.
4. Una base de datos multidimensional, es aquella que almacena sus datos con
varias dimensiones, es decir que en vez de un valor, encontramos varios dependiendo de
los "ejes" definidos o una base de datos de estructura basada en dimensiones orientada a
consultas complejas y alto rendimiento. Puede utilizar un SGBDR en estrella (Base de
datos Multidimensional a nivel lógico) o SGBDM (Base de datos Multidimensional a
niveles lógico y físico o Base de datos Multidimensional Pura).
En una base de datos multidimensional, la información se representa como
matrices multidimensionales, cuadros de múltiples entradas o funciones de varias
variables sobre conjuntos finitos. Cada una de estas matrices se denomina cubo.
La estructura básica es un hipercubo compuesto por dos elementos: un conjunto
de dimensiones y una función que mapea coordenadas formadas por valores de cada una
de las dimensiones en tuplas o booleanos. Una dimensión es un nombre con un dominio
asociado.
Los cubos de información o cubos OLAP funcionan como los cubos de
rompecabezas en los juegos, en el juego se trata de armar los colores y en el data
warehouse se trata de organizar los datos por tablas o relaciones; los primeros (el juego)
tienen 3 dimensiones, los cubos OLAP tienen un número indefinido de dimensiones, razón
por la cual también reciben el nombre de hipercubos.
Eso facilita el manejo de grandes cantidades de datos dentro de empresas, dándole a esto una amplia aplicación
dentro de varias áreas y diferentes campos del conocimiento humano.
Para realizar el análisis de los datos es muy habitual visualizar los mismos en manera de tablas de doble entrada. Por ejemplo, no es raro un análisis de
ventas en el que se visualizan tablas que muestran el volumen de ventas cruzando meses con tipos de producto, o meses con comerciales, o
comerciales con tipos de producto, o clientes con meses, etc. para responder a preguntas como las mencionadas en el primer apartado de este artículo.
Partiendo de la idea de que resulta muy interesante visualizar los datos en forma de tablas
surge el concepto de dimensión. Las dimensiones son cada una de las posibles clasificaciones que se pueden aplicar a las filas o a las columnas. Las
dimensiones del ejemplo de la
aplicación de facturación podrían ser las provincias, los meses y los productos. Con dichas dimensiones se podrían visualizar tablas como estas:
5. Simplificando, para poder visualizar estas tablas, y cualquier otra combinación de las dimensiones, hay que mantener en el servidor el contenido de cada
una de las posibles celdas. Estos datos se pueden guardar en una base de datos relacional con un esquema específico, o bien almacenarse
directamente en una base de datos multidimensional, como la representada en esta figura. A los datos almacenados de esta manera se les suele llamar
cubos. Aunque aquí se representa un cubo de solo tres dimensiones es posible tener cubos de cualquier número de dimensiones.
Las dimensiones que no aparecen en filas o columnas en una tabla se suelen llamar paginadas, y permiten determinar los datos que aparecerán en la
tabla, eligiendo uno de sus miembros. Por ejemplo, si en las filas están los productos y en las columnas los meses, la dimensión paginada que quedaría
sería la de provincias. En la dimensión de provincias se podría elegir una provincia concreta, lo que sería similar a cortar una rodaja del cubo concreta y
visualizar el contenido de sus celdas. Por ejemplo, la rodaja de Zaragoza sería la que queda detrás del todo en esta figura. Esta idea es generalizable a
cualquier número de dimensiones. Las imensiones pueden estar organizadas en jerarquías de modo que se pueden ver los datos a diferentes niveles.
Por ejemplo una jerarquía de fechas podría tener un primer nivel llamado “Todos”, seguido de un segundo nivel que incluyera los años, otro nivel de
meses, y así sucesivamente. Utilizada como dimensión paginada se podría elegir por tanto “Todos”, un año concreto, un mes concreto, etc. Utilizada en
filas o columnas podrían mostrarse tablas divididas por años, por meses, etc. Independientemente de cual sea el almacenamiento elegido para los datos
multidimensionales, debe existir un servidor que permita acceder a ellos para visualizar las
tablas tal como se explica, según vaya requiriéndolas la aplicación cliente. A este tipo de servidor se le llama servidor OLAP.