Sunteți pe pagina 1din 18

UNIVERSIDAD NACIONAL AUTÓNOMA DE

MÉXICO

FACULTAD DE CONTADURÍA Y ADMINISTRACIÓN

Licenciatura En Informática

Bases de
Datos
Autor: L.I. María de Lourdes Isabel
Ponce Vásquez

AGOSTO - DICIEMBRE 2008


Contenido
UNIDAD 7. NUEVAS TÉCNOLOGÍAS..................................................................................................................3
Objetivos Específicos.......................................................................................................................3
7.1. Introducción..............................................................................................................................3
7.2. Almacenes de Datos (Dataware Housing)................................................................................3
7.2.1. Bases de Datos operacionales y Almacenes de datos.......................................................3
7.2.2. Arquitectura de un Almacén de Datos................................................................................4
7.2.3. Modelos de Datos para Almacenes de Datos....................................................................5
7.2.4. Consultas al Almacén de datos y la Extensión OLAP de SQL-1999..................................8
7.2.5. Técnicas de Indexación......................................................................................................9
7.2.6. Vistas y Materialización de Vistas....................................................................................10
7.3. Minería de Datos.....................................................................................................................12
7.3.1. Propósitos de la Minería de Datos...................................................................................12
7.3.2. Tipos de Descubrimiento de Conocimiento .....................................................................13
7.3.3. Métodos Usados para Desarrollo de Reglas....................................................................15
7.1.1.1. Árboles de decisión....................................................................................................15
7.1.1.2. Regresión...................................................................................................................15
7.1.1.3. Redes Neuronales......................................................................................................16
7.1.1.4. Agrupación.................................................................................................................17
7.3.4. Aplicaciones de la Minería de Datos................................................................................17

Unidad 7. Nuevas Tecnologías Página 2


UNIDAD 7. NUEVAS TÉCNOLOGÍAS

Objetivos Específicos
 Conocer la tecnología de Dataware Housing (almacén de datos)
 Aprender las diferencias entre una BD operacional y un almacén de datos
 Describir la arquitectura básica de un almacén de datos
 Mostrar los modelos de datos para almacenes de datos
 Conocer la tecnología de minería de datos
 Describir los métodos empleados para el desarrollo de reglas de minería de datos
 Comprender las aplicaciones de la minería de datos
7.1. Introducción
Muchas organizaciones que usan tecnología estándar de BD para recolectar y procesar cantidades
masivas de sus datos operacionales han empezado a ver sus datos actuales e históricos como
fuente de información que les ayude a tomar mejores decisiones, por ejemplo, decisiones sobre
dónde abrir una nueva tienda, la audiencia para una campaña de publicidad, qué créditos aprobar y
cuándo solicitar más artículos, pueden realizarse con mayor confianza cuando se basan en el
análisis cuidadoso de patrones encontrados en los datos existentes. En ocasiones, estos datos
proceden de varias BD y en vista de que muchos de los análisis de datos realizados son recurrentes
y predecibles, los proveedores de DBMS y el personal de sistemas han comenzado a diseñar
sistemas para realizar estas funciones. Los almacenes de datos (dataware house), el procesamiento
analítico en línea (OLAP – On Line Analytical Processing) y la minería de datos (data minning)
ofrecen esta funcionalidad y son el origen de esta última unidad.

El mercado para estos sistemas ha tenido gran crecimiento desde mediados de los noventa, y los
proveedores han sacado partido de la popularidad del estos términos para impulsar un mercado de
diversos productos relacionados y los consultores han ofrecido una gran variedad de servicios
relacionados con los almacenes de datos. Sin embargo, los almacenes de datos difieren bastante de
las BD tradicionales en su estructura, funcionamiento, rendimiento y propósito.

7.2. Almacenes de Datos (Dataware Housing)


El término Dataware House (Almacen de datos) fue acuñado por W.H. Inmon, quién los definió
como: una colección de datos orientados a temas, integrados, variante en el tiempo y no volátil que
soporta el proceso de toma de decisiones de las organizaciones. Un almacén de datos está pensado
para soporte de aplicaciones de toma de decisiones en vez del procesamiento ordinario de
transacciones. Está optimizado para extraer datos, en oposición al procesamiento de transacciones.

7.2.1. Bases de Datos operacionales y Almacenes de datos


Las BD operacionales tradicionales soportan procesamiento de transacciones en línea (OLTP),
que característicamente involucra un limitado número de transacciones repetitivas, cada una de las
cuales afecta unas cuantas tuplas a la vez en una BD relacional. Una BD como esta está
desarrollada para proporcionar las necesidades de información de los usuarios finales, y está
diseñada para soportar las operaciones diarias de la empresa. La alta disponibilidad y eficiencia en el
desempeño son factores críticos en el éxito de una BD operacional. Debe proporcionar soporte para
Unidad 7. Nuevas Tecnologías Página 3
un gran número de operaciones en línea en un corto tiempo. Una BD operacional se actualiza en
tiempo real, con forme ocurren las transacciones. Las actualizaciones, inserciones y eliminaciones
deben realizarse rápidamente para mantener la BD en un estado que refleje el ambiente actual de la
empresa.

En contraste, un almacén de datos soporta OLAP (Procesamiento Analítico en Línea) y toma de


decisiones. Los datos en un almacén de datos pueden tomarse directamente de múltiples BD
operacionales, en diversos periodos de tiempo (datos históricos), y también puede incluir datos de
otras fuentes, sumarizando datos y metadatos. Las fuentes pueden tener diferentes modelos o
estándares, pero los almacenes de datos integran los datos de modo que los usuarios ven un modelo
consistente. Un almacén de datos generalmente contiene muy grandes cantidades de datos y está
optimizado para el procesamiento de consultas eficiente y la presentación de resultados para soporte
de decisiones. Las actualizaciones no son tan frecuentes como lo son el las BD operacionales, pero
son realizadas periódicamente. Las aplicaciones OLAP generalmente deben recorrer grandes
cantidades de datos par producir resultados. El analista examina los datos almacenados en el
almacén de datos usando consultas complejas, generalmente involucrando operadores de
agregación y agrupaciones. Éstos hacen análisis en series de tiempo usando los datos históricos.

7.2.2. Arquitectura de un Almacén de Datos


A diferencia de una BD operacional, para la cual los requerimientos pueden especificarse por
adelantado, un almacén de datos debe diseñarse para soportar consultas específicas y nuevas y
tipos de análisis no anticipados. Una arquitectura típica, los datos se toman de fuentes de datos, los
cuales pueden incluir múltiples BD operacionales, otras entradas como archivos independientes y
datos de ambiente como información geográfica o datos financieros. Los datos deben extraerse de
las fuentes usando herramientas de sistemas de almacenamiento que pueden acomodar las
diferencias entre fuentes heterogéneas. Los datos son reformateados en una forma consistente. Los
datos también pueden verificarse por integridad y validación, un proceso llamado limpieza de datos,
para asegurar su calidad antes de cargarse en el almacén de datos. Los datos son después
colocados en el modelo de datos para el almacén de datos y cargados, ya que pueden provenir de
diversos modelos, se deben transformar generalmente de un modelo relacional, orientado a objetos,
de red o jerárquico a un modelo multiimensional. El proceso de carga es una larga transición, ya que
un gran volumen de datos es generalmente involucrado, de modo que el sistema debe usar
herramientas de manejo de transacciones para asegurar la recuperación apropiada en caso de que
fallen durante la transacción de carga. El DBMS que soporta el almacén de datos tiene un catálogo
del sistema que almacena metadatos, y otros componentes del sistema de BD. Los almacenes de
datos se usan entonces para soportar consultas para OLAP, para proporcionar información para
sistemas de soporte de decisiones que se usan por administradores para hacer decisiones
estratégicas, y para proporcionar los datos para herramientas de minería de datos que descubren
nueva información acerca de patrones en los datos. Ciertos segmentos de los datos se organizan en
subconjuntos llamados data marts, que se enfocan en situaciones específicas. Por ejemplo, un data
mart puede contener información especializada sobre un solo departamento en la organización.
Todos estos usos pueden culminar en nuevo conocimiento, que puede ser usado entonces como
fuente de datos de la cual se pueden formatear datos y poner en el almacén de datos. Los datos de
todas las fuentes de datos deben ser periódicamente refrescados. Si existe suficiente espacio de
almacenamiento, los nuevos datos se agregan simplemente al almacén de datos existente y los
datos anteriores se mantienen mientras sean útiles. De lo contrario, los datos que ya no se usan se
purgan periódicamente y se agregan nuevos datos. La frecuencia y alcance de las actualizaciones
depende del ambiente. Los factores que deben ser considerados para decidir la política de
actualización incluyen cuánto espacio de almacenamiento está disponible, si el almacén de datos
necesita datos recientes, si puede estar fuera de línea durante la actualización, y cuánto dura el

Unidad 7. Nuevas Tecnologías Página 4


proceso de transmitir los datos, limpiar, formatear, cargar y construir índices. La política usual es
hacer actualizaciones parciales periódicamente.

Extraer
Data Marts
SSD
Formatear
Modelo DBMS Almacén Soporte
Limpiar de Datos
OLAP

Refrescar

Fuentes Catálogo
de Datos Minería de
Datos

Arquitectura de un Almacén de Datos

7.2.3. Modelos de Datos para Almacenes de Datos


Aunque los modelos en las fuentes de datos pueden variar, el almacén de datos debe usar un solo
modelo consistente que se acomode a las necesidades de los usuarios. Los almacenes pueden
almacenarse en BD relacionales, sin embargo, generalmente se usa un modelo multidimensional.
Se puede pensar en datos almacenados en una matriz multidimensional llamada cubo de datos o
hipercubo.

Cada celda del cubo contiene datos agregados que relacionan elementos de las dimensiones. Los
usuarios pueden ver los datos por cualquier dimensión que les interese, acercando el contenido de
los datos al modelo mental del analista del negocio y facilitando su navegación.

De hecho, las dimensiones actúan como índices para identificar valores dentro del cubo. El
componente de acceso de los almacenes de datos soporta funcionalidad de hoja de cálculo
extendida, un procesamiento de consultas eficiente, consultas estructuradas, consultas ad hoc,

Unidad 7. Nuevas Tecnologías Página 5


minería de datos y vistas materializadas. Así, el usuario puede navegar por los datos de distintas
maneras:

 Drill-down (exploración descendente), el usuario navega entre los niveles de los datos desde
los más resumidos a los más detallados, ofreciendo una visión más concreta y disgregando
los datos. Por ejemplo, al hacer drill-down en una dimensión geográfica con el objetivo de ver
las ventas producidas en un periodo, se pueden ver las ventas de un mes particular y
después esas ventas por tipos de productos.
 Roll-up (exploración ascendente ó agregación), desplaza jerarquías hacia arriba, agrupando
en unidades mayores a través de una dimensión y que puede ser simple (los totales por
producto se agregan por mes y estos por años) o expresiones complejas que afectan a la
consolidación de datos de varias dimensiones.
 Slicing y Dicing (rebanar y cortar), con estos nombres se le conoce a la capacidad de ver la
BD desde diferentes puntos de vista, haciendo proyecciones sobre alguna dimensión. Así, por
ejemplo una rebanada de la BD de ventas puede corresponder a las ventas de los productos
en un año. El corte en rebanadas suele hacerse frecuentemente a lo largo del eje de tiempo
para analizar las tendencias y encontrar patrones.
 Pivoting (pivotar, pivotación o rotación), consiste en reorientar la visión multidimensional de
los datos rotando el cubo de daos para mostrar una orientación diferente, por ejemplo, en dos
dimensiones se pueden cambiar las filas por columnas, en vez de tener productos, por región,
en cada mes, se puede pivotear a regiones por mes, de cada producto.
 Nesting (anidamiento o sub-cubo), es una técnica de visualización utilizada para mostrar el
resultado de una consulta multidimensional que devuelve un sub-cubo, nuevamente haciendo
algún tipo de proyección de los datos.
 Reach through (derivación), es un modelo de extender los datos accesibles al usuario final
más allá de lo que se encuentra almacenado en el servidor OLAP, consultando y recuperando
de forma automática datos de un almacén o sistema OLTP, generalmente obteniendo
atributos que se calculan mediante operaciones con valores almacenados y derivados.

No hay razones para limitar los datos en un cubo de datos a dos o tres dimensiones. Los
diseñadores pueden almacenar fechas usando tantas dimensiones como deseen (en hipercubos), si
estas dimensiones son de interés para ellos. Sin embargo, más allá de la tercera dimensión, no se
puede dibujar una representación física de los cubos de datos. Aún así, es posible aplicar el proceso
de pivoteo, rollup, y drilling down a hipercubos.

Los primeros almacenes de datos usaban arreglos multidimensionales, creando sistemas OLAP
multidimensionales (MOLAP). Si se usa un modelo relacional, se describe el sistema como un
sistema OLAP relacional (ROLAP). Un almacén de datos relacional consiste de múltiples tablas
relacionales.

Un esquema ampliamente usado para almacenes de datos multidimensionales es un esquema de


estrella. Existe una tabla central de renglones de datos, llamado tabla de factual o de hechos, que
almacena datos no agregados, observables, está compuesta de tuplas, una por cada hecho
registrado. La tabla factual tiene algunos atributos que representan dimensiones y otros atributos
dependientes que son de interés. Cada dimensión se representa en su propia tabla, y las tablas
dimensionales pueden verse como puntos de una estrella cuyo centro es la tabla factual. Por
ejemplo, en la siguiente figura, la tabla factual ORDEN, se muestra en el centro. Cada tupla de esta
tabla proporciona información acerca de una orden, la cual involucra la venta de productos a un
cliente particular. Para cada orden la tabla almacena noOrden, idProducto, idCliente, idVendedor,
fecha, precioUnitario y cantidadOrdenada. Existen tablas dimensionales para el producto, cliente,
vendedor y fecha. Cada una de ellas puede usarse como una dimensión en un hipercubo,

Unidad 7. Nuevas Tecnologías Página 6


permitiendo hacer consultas sobre las ventas de un producto particular, las ventas a un cliente
particular, las ventas de un vendedor, o las ventas hechas en una fecha específica.

Las tablas dimensionales Producto, Cliente, Vendedor y Fecha se muestran relacionándose con sus
atributos dimensionales correspondientes de la tabla factual. Normalmente estos atributos son llaves
foráneas en la tabla factual. Las tablas dimensionales proporcionan información adicional acerca de
cada dimensión.

Por ejemplo, la tabla dimensional vendedor proporciona más detalles del vendedor que toma la
orden. Los atributos restantes de la tabla factual, noOrden, precioUnitario y cantidadOrdenada, son
atributos dependientes. Una variación del esquema de estrella es el esquema copo (snowflake), en
el cual las tablas dimensionales tienen dimensiones, porque están normalizadas. Algunos almacenes
de datos normalizan hasta tercera forma normal para poder acceder a los datos con mayor detalle
Por ejemplo, la dimensión Producto puede tener una tabla dimensional Proveedor, que contiene los
datos de los proveedores y se relaciona mediante el numProveedor, si hay otras tablas no
normalizadas se normalizan formando un copo con la tabla factual en el centro.

Una constelación de hechos es un conjunto de tablas factuales que comparten algunas tablas de
dimensiones, limitando las consultas que pueden hacerse al almacén de datos. Así, se puede tener
una tabla de hechos que incluye predicciones económicas y que comparte la tabla de dimensiones
de producto con la tabla de hechos de resultados económicos.

Producto
idProducto Vendedor
nombre idVendedor
numProveedor nombre
nombreProveedor apellido
teléfonoProveedor Órden dirección
costo noOrden teléfono
idProducto zona
idCliente ventasAnuales
idVendedor
fecha
precioUnitario
Cliente cantidadOrdenada
idCliente
nombre Fecha
dirección día
teléfono mes
límiteCrédito año

Esquema de Estrella
Vendedor
Proveedor idVendedor
numProveedor Producto
. nombre
nombre idProducto apellido
dirección nombre Órden dirección
teléfono numProveedor noOrden teléfono
estado costo idProducto zona
idCliente ventasanuales
idVendedor
Cliente fecha Fecha
idCliente precioUnitario
día
nombre cantidadOrdenada
mes
dirección
año
teléfono
límiteCrédito

Esquema de Copo

Unidad 7. Nuevas Tecnologías Página 7


7.2.4. Consultas al Almacén de datos y la Extensión OLAP de
SQL-1999
Las funciones de agregado SUM, COUNT, MAX, MIN y AVG son parte del estándar SQL92. Estas
funciones pueden usarse en algunas consultas de rebanar y cortar para un almacén de datos. La
forma general de esta consulta es:

SELECT <atributos agrupados> <función agregado>


FROM <tabla factual>, <tablas dimensionales>
WHERE <atributo = constante>…<atributo = constante>
GROUP BY <atributos agrupados>;

Por ejemplo, para la tabla factual Orden con el esquema:


Orden (noOrden, idProducto, idCliente, idVendedor, fecha, precioUnitario,
cantidadOrdenada)

y la tabla dimensional Producto con esquema:

Producto(idProducto, nombre, numProveedor, costo)

Se puede escribir:

SELECT idProducto, SUM(cantidadOrdenada)


FROM Orden O, Producto P
WHERE O.idProducto = P.idProducto AND
P.numProveedor = 101
GROUP BY P.idProducto;

Lo que muestra una lista de productos surtidos por el proveedor 101 y la cantidad total de cada uno.
Nótese que se ha obtenido una rebanada sobre Producto y se ha cortado sobre el numProveedor
para esta consulta.

Típicamente las consultas para almacenes de datos requieren funciones de agregado adicionales.
SQL99 incluye las funciones stddev (desviación estándar), y variance (varianza) para atributos
simples. Estas son medidas estadísticas estándar que indican cómo divulgar un conjunto de valores
de datos significativos. Por ejemplo, una desviación estándar alta del total de las ventas mensuales
podría indicar que la cantidad de ventas varía ampliamente de un mes a otro, mientras que una
desviación estándar baja podría indicar que las ventas permanecen constantes en el período. Otras
funciones estadísticas son correlación, covarianza y regresión, que aplican a pares de atributos.

SQL99 también tiene funciones para calcular el rank (rango ordinal) para valores de datos. Por
ejemplo, si el esquema de la tabla Vendedor es:

Vendedor(idVendedor, nombre, apellido, dirección, teléfono, zona, ventasAnuales)

Se puede querer encontrar en rango de vendedores de acuerdo a su total de ventas. El comando:

SELECT idVendedor, rank() over (order by (ventasAnuales) Desc)


FROM Vendedor
WHERE apellido = ‘Jackson’;
Unidad 7. Nuevas Tecnologías Página 8
Desplegará el id del vendedor y el rango del vendedor Jackson. Si dos personas tienen la misma
cantidad de ventas, obtienen el mismo rango, pero el siguiente rango es saltado. Por ejemplo, si dos
personas obtienen las ventas más altas, ambos obtienen el rango 1, pero el siguiente vendedor
obtiene el rango 3. Si no se desean saltar números, se puede usar dense_rank() en vez de rank. La
cláusula order by dentro de la función rank indica que el atributo se usa para el rango, no despliega
las tuplas en el orden del rango, si se desean obtener en orden se debe agregar la cláusula ORDER
BY al final de la consulta.

La cláusula GROUP BY también se ha extendido en SQL99 con las opciones CUBE y ROLLUP
para datos cúbicos. Por ejemplo, si la tabla factual Ventas es:

Ventas(numeroTienda, nombreDepartamento, mes, cantidad)

Y las tablas dimensionales para tienda, departamento y mes para los datos de un supermercado se
representan el cubo de datos, la consulta:

SELECT nombreDepartamento, numeroTienda, mes, sum(cantidad)


FROM Ventas
GROUP BY CUBE(nombreDepartamento, numeroTienda, mes);

Produce las ocho posibles combinaciones GROUP BY para los tres atributos, departamento, tienda y
mes. La agrupación será hecha sólo por departamento, sólo por tienda, sólo por mes, por la
combinación de tienda y mes, la combinación tienda y departamento, la combinación de mes y
departamento, la combinación de los tres y de ninguno. En contraste al cubo, que agrupa sobre
todas las posibles combinaciones de los atributos nombrados, el ROLLUP permite a los usuarios
especificar qué atributos se usan para la agregación. Si se escribe:

SELECT nombreDepartamento, numeroTienda, mes, sum(cantidad)


FROM Ventas
GROUP BY ROLLUP(nombreDepartamento, numeroTienda);

Se agregan todos los pares de valores nombresDepartamento y numeroTienda y también sólo


nombreDepartamento, pero no sobre numeroTienda.

7.2.5. Técnicas de Indexación


La cantidad de datos en el almacén de datos puede ser tan grande que los índices eficientes son
importantes de modo que las consultas puedan ejecutarse en una cantidad de tiempo razonable. Ya
que los datos en un almacén de datos no es actualizable por transacciones ordinarias, es
relativamente estático. Sin embargo, una vez que se crean los índices para los datos, el costo de
mantenerlos no es un factor. Técnicas especiales de indexación, incluyendo indexación de mapa de
bits (o bitmap) e indexación de reunión, que son eficientes para grandes cantidades de datos
estadísticos se aplican al ambiente de almacenes de datos.

Los índices de mapas de bits se construyen para cualquier atributo que tenga un número limitado
de distintos posibles valores. Estos son especialmente apropiados si el dominio es pequeño. Para
cada valor en el dominio, se construye un vector de bits para representar esos valores, colocando un
1 en la posición para ese valor. Por ejemplo, la siguiente figura muestra la tabla Profesores con un
índice de mapa de bits para nivel y otro para departamento. Ya que el primer registro de Profesor
tiene un nivel de Profesor, el primer renglón del índice de nivel tiene un 1 en la columna Profesor. Ya
que el departamento del primer registro de Profesor es Arte, existe un 1 en la columna Arte del

Unidad 7. Nuevas Tecnologías Página 9


primer renglón del índice de departamento. Los índices de mapas de bits ocupan menos espacio que
los índices estándar, y permiten procesamiento eficiente de algunas consultas directamente desde el
índice. Por ejemplo en la consulta:

SELECT COUNT()
FROM Profesor
WHERE nivel = ‘Profesor’ AND departamento = ‘Arte’;

Los dos índices pueden ser comparados construyendo un nuevo vector de bits para usar el operador
AND, comparando el cuarto bit del vector de bits con el primer bit del vector de departamento. El
número de 1s en el nuevo vector de bits es el número de Profesores en el departamento Arte.
Procedimientos similares pueden usarse para acelerar otras operaciones, incluyendo la reunión.

Profesor
idProf nombre depto nivel
P101 Adams Arte Profesor
P105 Tanaka Informática Instructor
P110 Byrne Matemáticas Asistente
P115 Smith Historia Asociado
P221 Smith Informática Profesor

Índice de mapa de bits para nivel Índice de mapa de bits para Departamento
Instructor Asistente Asociado Profesor
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Arte Informática Historia Matemáticas
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
0 1 0 0

Ya que la reunión es difícil cuando las tablas son grandes, el almacén de datos puede usar
indexación de reunión para acelerar las consultas con reunión. La mayoría de las operaciones de
reunión son hechas sobre llaves foráneas. En un almacén de datos usando un esquema de estrella,
la operación de reunión generalmente involucra comparación de tablas factuales con tablas
dimensionales. Un índice de reunión relaciona los valores de una tabla dimensional a los renglones
de la tabla factual. Para cada valor del atributo índice en la tabla dimensional, el índice almacena el
ID de las tuplas en la tabla factual teniendo ese valor. Por ejemplo, para la tabla de órdenes que
contiene el cliente, si se tiene un índice de reunión sobre la tabla de dimensión de cliente, para cada
cliente este índice mantiene los identificadores de las órdenes que correspondan a cada cliente. Los
índices de reunió pueden tener varias dimensiones.

7.2.6. Vistas y Materialización de Vistas


Las vistas juegan un papel importante en los almacenes de datos, como en las BD operacionales,
incluyendo el ambiente del usuario. Los operadores SQL incluyendo los operadores de extensión
OLAP de CUBE y ROLLUP, pueden ser desarrollados sobre vistas y tablas. El comando de SQL

Unidad 7. Nuevas Tecnologías Página 10


CREATE VIEW simplemente define la vista y no crea nuevas tablas. Cuando una consulta se escribe
sobre una vista, una forma en que puede ejecutarse es mediante el uso de modificación de
consultas, que remplaza la referencia en la línea WHERE de la definición del VIEW. Por ejemplo, se
puede tener una vista MejoresVendedores definida por:

CREATE VIEW MejoresVendedores


AS SELECT V.idVendedor, V.apellido, V.nombre, V.telefono, V.ventasAnuales
FROM Vendedor V
WHERE V.ventasAnuales > (SELECT AVG(ventasAnuales)
FROM Vendedor);

Si se escribe una consulta usando la vista, como:

SELECT SUM(V.ventasAnuales)
FROM MejoresVendedores V;

Y si se usa modificación de consulta, la referencia en la línea cláusula FROM se remplaza por la


definición de la vista, resultando:

SELECT SUM(B.ventasAnuales)
FROM (SELECT V.idVendedor, V.apellido, V.nombre, V.telefono, V.ventasAnuales
FROM Vendedor V
WHERE V.ventasAnuales > (SELECT AVG(ventas)
FROM Vendedor) AS B;

En un ambiente de almacén de datos, donde las consultas y vistas son muy complejas y donde el
analista usa el sistema en un ambiente interactivo, la modificación de consultas puede generar
retrasos inaceptables en tiempos de respuesta. Sin embargo, un método alterno de manejo de vistas
es materializarlas, resolverlas previamente a partir de la definición y almacenarlas para usos
posteriores. Para acelerar el procesamiento, pueden crearse índices para las vistas materializadas.

El diseñador del almacén de datos debe considerar qué vistas deben materializarse, examinando las
restricciones de almacenamiento contra los posibles beneficios de velocidad las consultas más
importantes. El diseñador también debe decidir una política de mantenimiento para materializar
vistas. Cuando las tablas origen cambian, la vista también debe actualizarse. Esto puede realizarse
como parte de la transacción de actualización para las tablas base, como una política llamada
mantenimiento inmediato de vistas, que hace más lenta la transacción de actualización para el
almacén de datos. Una alternativa es usar mantenimiento de vistas diferido. Algunas políticas
posibles incluyen:

 Actualización Perezosa, que actualiza la vista cuando una consulta ejecuta una vista y la
versión de la materialización actual es obsoleta.
 Actualización Periódica, que actualiza la vista a intervalos regulares de tiempo.
 Actualización Forzada, que actualiza la vista después de que un número específico de
actualizaciones se han hecho a las tablas base.

El proceso de actualización puede hacerse volviendo a ejecutar la vista materializada. Sin embargo,
para vistas complejas, especialmente aquellas con reuniones o agregaciones, esto puede ser muy
costoso. En vez de eso, la actualización puede hacerse incrementalmente, incorporando sólo los
cambios hechos a las tablas base.

Unidad 7. Nuevas Tecnologías Página 11


7.3. Minería de Datos
La minería de datos es el proceso de descubrir nueva información buscando en grandes cantidades
de datos. El propósito es descubrir patrones, reglas o tendencias en los datos que sean útiles para la
organización. Además de la tecnología de BD, la minería de datos usa técnicas de los campos de
estadística e inteligencia artificial, especialmente descubrimiento de conocimiento. Ya que involucra
grandes cantidades de datos, es necesario tener una BD grande o un Almacén de Datos (Data
Warehouse). La minería de datos puede usarse con una BD operacional o un Almacén de datos,
suficientemente grande. Anteriormente se mencionó la minería de datos como una de las
aplicaciones principales para los almacenes de datos, junto con OLAP y sistemas de soporte a las
decisiones. Un almacén de datos que se usa como fuente de minería de datos debe incluir datos
sumarizados y renglones de datos tomados de las fuentes de datos originales como de BD
operacionales. Ya que los tipos de operaciones usadas en minería de datos difieren de las analíticas
para OLAP y sistemas para soporte de decisiones, las aplicaciones de minería de datos deben ser
consideradas en el diseño original del almacén de datos. La minería de datos, generalmente requiere
conocimiento del dominio (por ejemplo, el ambiente de la empresa estudiada) y conocimiento del
proceso de minería de datos. El formato de los datos requeridos generalmente es un “archivo plano”
en el cual todos los datos para cada caso de valores observados aparecen como un renglón simple,
en vez de relacionales u objeto-relacionales. Si los datos no se representan como casos individuales,
o si se requieren reuniones (joins) para poner todos los datos de un caso junto, se debe dedicar un
esfuerzo considerable a preparar los datos y reformatearlos. Sin embargo, el diseño del almacén de
datos debe crearse con la minería de datos en mente.

7.3.1. Propósitos de la Minería de Datos


Para la mayoría de las empresas, el principal propósito de la minería de datos es proporcionar
conocimiento que dará a la empresa una ventaja competitiva, permitiendo obtener mayores
utilidades. Las compañías usan la minería de datos con la esperanza de ser capaces de cumplir lo
siguiente:

 Predecir. La minería de datos puede mostrar el modo en que actuarán ciertos atributos en el
futuro. Por ejemplo, estudiando los datos de tres supermercados, se puede probablemente,
predecir las ventas para el mismo período el siguiente año. Si se tiene una BD sobre salud,
que contiene datos de las epidemias de gripe de los cinco inviernos anteriores,
probablemente se puede predecir el número de tales infecciones para el siguiente invierno.
Determinados patrones de ondas sísmicas pueden predecir un terremoto con una alta
probabilidad.
 Clasificar. La minería de datos puede dividir los datos de modo que las diferentes clases o
categorías se puedan identificar basándose en combinaciones de parámetros. Por ejemplo, a
partir de los datos crediticios de los clientes en el pasado, se puede clasificar un cliente nuevo
como una buena o mala oportunidad de crédito. La clasificación también se usa en medicina,
para determinar cuál de los diagnósticos severos posibles es el apropiado para un paciente,
basado en datos anteriores acerca de otros pacientes y sus síntomas.
 Identificar. Los patrones pueden servir para identificar la existencia de un artículo, evento o
actividad. Por ejemplo, si se conoce el patrón típico de las existencias de ventas que se
presentó en casos previos, y se observa el mismo patrón ocurriendo nuevamente, se puede
identificar el mercado actual. Las compañías de seguros estudian patrones y características
de reclamaciones previas conocidas como fraudes para determinar cuáles de las nuevas
reclamaciones pueden ser fraudes.
 Optimizar. Uno de sus objetivos puede ser optimizar el uso de recursos limitados como el
tiempo, espacio, dinero o materiales y maximizar las variables de salida como las ventas o
Unidad 7. Nuevas Tecnologías Página 12
beneficios bajo un conjunto de restricciones. La minería de datos puede modelar escenarios
para ayudar a determinar el mejor lugar para equipamiento, la forma más lucrativa para
invertir el dinero o la forma más eficiente de usar el tiempo disponible para maximizar la
productividad u obtener otros objetivos.

El término minería de datos se emplea en un sentido muy amplio. En algunas situaciones incluye
análisis estadístico y optimización restringida, así como aprendizaje automático. No existe una línea
bien definida entre estas disciplinas.

7.3.2. Tipos de Descubrimiento de Conocimiento


El descubrimiento de conocimiento en bases de datos (KDD – Knowledge Discovery in Databases),
abarca más que la minería de datos. El proceso de descubrimiento de conocimiento está compuesto
de seis fases:

 Selección. Obtener los datos relativos a elementos específicos o categorías de elementos, o


datos procedentes de una región o área concreta. Por ejemplo, las órdenes de un solo
cliente.
 Limpieza de datos. Corregir los datos no válidos o eliminar tuplas con datos incorrectos. Por
ejemplo, corregir códigos postales inválidos o eliminar registros con prefijos telefónicos
incorrectos.
 Enriquecimiento. Ampliar los datos con fuentes de información adicionales. Por ejemplo,
agregar datos de edad, ingresos y valoración crediticia.
 Transformación de datos y/o codificación. Para reducir la cantidad de datos. Por ejemplo,
se pueden agrupar los códigos de productos por categorías (audio, video, electrónicos,
accesorios, etc.), los códigos postales se pueden agrupar por área geográfica, los ingresos
dividirse en diez niveles, etc.
 Minería de datos. Para extraer reglas y patrones diferentes. Por ejemplo asociaciones,
secuencias, clasificaciones, descubriendo conocimiento sobre patrones de compra en
relación a edades, ingresos y regiones de los clientes; que se usarán para lanzar nuevos
productos, campañas publicitarias, etc.
 Presentación y visualización de la información descubierta. Los resultados se pueden
presentar usando listas, gráficas, tablas de resumen o visualizaciones.

En los sistemas expertos, el conocimiento se obtiene usando la lógica deductiva. Un sistema experto
de ingeniería de inferencia se usa para aplicar las leyes de lógica a hechos almacenados en la BD
para deducir nuevos hechos en forma mecánica. El conocimiento se puede clasificar como inductivo
o deductivo. La minería de datos usa inducción en vez de deducción. Examina un gran número de
casos y concluye que existe un patrón o regla. El conocimiento puede representarse en gran
variedad de formas, incluyendo reglas, árboles de decisión, redes neuronales o jerarquías de clases
marcos de referencia (frames).

El conocimiento descubierto puede describirse de las siguientes formas:

 Reglas de asociación: estas reglas establecen una correlación entre la presencia de un


conjunto de elementos con otro rango de valores para otro conjunto de variables. Tienen la
forma {x} => {y}, donde x y y son eventos que ocurren al mismo tiempo. Un ejemplo típico
involucra pares de productos que los clientes generalmente compran juntos, analizando los
datos de la cesta de compra, que muestra cuáles elementos se compraron en una
transacción. Por ejemplo, si un cliente compra pan, es probable que compre mantequilla al
mismo tiempo. La regla puede expresarse como una implicación:

Unidad 7. Nuevas Tecnologías Página 13


{pan} => {mantequilla}

Nótese que ambos lados, izquierdo (pan) y derecho (mantequilla) pueden ser conjuntos de
elementos en vez de elementos individuales. Dos medidas importantes conectadas a las
reglas de asociación son el soporte y la confianza. Para un conjunto de elementos, el soporte
es el porcentaje de transacciones en el conjunto de datos que contienen todos estos
elementos incluidos en ambos lados. Nótese que la transacción puede incluir elementos
adicionales que no son parte de la asociación. Por ejemplo, si se tiene un millón de registros
de ventas, y 100,000 de ellas incluyen ambos, pan y mantequilla, el soporte para la regla pan
=> mantequilla es 10%. Si el soporte es bajo, implica que no hay una evidencia abrumadora
de que los elementos ocurran conjuntamente. La confianza es una medida de qué tan
seguido se comprueba la regla como verdadera, esto es, para los casos donde el lado
izquierdo de la implicación está presente, la confianza es el porcentaje de aquellos en los que
el lado derecho también está presente. Para un millón de registros de ventas, probablemente
500,000 incluyen pan, pero sólo 100,000 de ellos incluyen también mantequilla, así que la
confianza en esta regla es 20%. El soporte y la confianza no van necesariamente unidos, por
lo tanto, el objetivo de las reglas de asociación de la minería de datos es el de generar todas
las reglas posibles que superen en un mínimo los umbrales de soporte y confianza
especificados por el usuario.
 Reglas de clasificación: la clasificación es el problema de colocar instancias en la categoría
correcta de varias posibles categorías. El objetivo es crear jerarquías de clases a partir de
conjuntos de eventos o transacciones. Las clases pueden ser predefinidas o determinarse
durante la tarea de clasificación. El sistema se desarrolla para proporcionar un conjunto de
instancias pasadas para las cuales la clasificación correcta se conoce, llamado conjunto de
entrenamiento. Usando estas muestras, el sistema desarrolla un método para clasificar
correctamente un nuevo elemento cuya clase es actualmente conocida. Un ejemplo clásico
de regla de clasificación es el problema de decidir cuáles clientes son merecedores de
crédito, basado en hechos como ingresos, propiedades, etc.
 Patrones secuenciales: lo que se persigue es encontrar una secuencia de acciones o
eventos, detectando asociaciones entre eventos con determinadas relaciones temporales.
Una aplicación típica de patrones secuenciales es la predicción de que un cliente que compra
un producto particular en una transacción seguirá con la compra de un producto relacionado
en otra transacción. Por ejemplo, una persona que compra una impresora en una tienda de
computadoras, probablemente comprará papel en su próxima visita. Tales patrones se
representan como secuencias. La secuencia {impresora}{papel} representa dos visitas del
mismo cliente en las cuales el patrón secuencial es observado, esto es, el cliente compra una
impresora en la primera visita y papel en la siguiente visita. El porcentaje de veces que ocurre
una secuencia en el conjunto de transacciones de ventas es el soporte para el patrón. La
primera subsecuencia, {impresora}, es llamada predictor o previsor de la segunda
subsecuencia {papel}. La confianza para estas predicciones es la probabilidad que cuando
{impresora} ocurre en una visita, {papel} ocurrirá en una siguiente visita. Esta probabilidad
puede calcularse examinando el renglón de datos de las transacciones de ventas
observadas. Los patrones secuenciales pueden involucrar más de un elemento en cada
subsecuencia, y más de una subsecuencia. En términos generales, si la secuencia S1, S2,…
Sn, donde Si es un conjunto de elementos, ha sido válida, entonces S1 es un predictor de S2 a
Sn.
 Patrones de series de tiempo. Una serie de tiempo es una secuencia de eventos que son
del mismo tipo. La minería de datos puede detectar similitudes en las posiciones de las series
de tiempo. Por ejemplo, si el total de ventas para un supermercado se calcula y registra al
final de cada mes durante un largo período de tiempo, estas medidas constituyen una serie
de tiempo. Los datos de series de tiempo pueden estudiarse para descubrir patrones y

Unidad 7. Nuevas Tecnologías Página 14


secuencias. Por ejemplo, se pueden observar los datos y encontrar el período más largo
cuando las ventas aumentan, o encontrar la declinación de un mes al siguiente. Los precios
de almacenamiento, tasas de intereses, tasas de inflación, y muchas otras cantidades pueden
analizarse usando series de tiempo.
7.3.3. Métodos Usados para Desarrollo de Reglas
Existen diversas técnicas que ayudan a descubrir reglas dependiendo del tipo de reglas a descubrir.

7.1.1.1. Árboles de decisión

Un método de desarrollo de reglas de clasificación es desarrollar un árbol de decisión. El árbol que


se muestra a continuación se usa para tomar decisiones acerca de si aceptar a un estudiante en una
universidad, basado en una predicción de si el estudiante será un estudiante mediocre, promedio,
bueno o excelente. Considera el promedio del estudiante en preparatoria y el total del examen. Si el
promedio es menor a 70% y el examen está abajo de 1000, la predicción es que el estudiante será
mediocre en el colegio. En el otro extremo, si el promedio está arriba de 90 y el examen arriba de
1400, el sistema predice que el estudiante será excelente. El árbol puede construirse inicialmente
examinando los registros de estudiantes pasados, considerando sus características de Promedio en
Preparatoria y Examen. Estos atributos se llaman atributos particionales, ya que permiten definir
instancias de muestra a romper o particionar en clases disjuntas. Las condiciones particionales se
muestran en las ramas. Nótese que las condiciones no tienen que ser idénticas en todas las ramas.
Por ejemplo, si el promedio más alto de preparatoria es arriba de 90, se considera sólo las
calificaciones del examen arriba de 1400, y no se usa el valor 1000, como se hace en otras ramas.

Promedio
Prepa
Mediocre
<70
70-90 >90
Promedio
Examen Examen Examen
<1000 Bueno
<1000 >1400 >1400 >1400
Excelente

1000-1400 1000-1400 >1400

Árbol de decisión
7.1.1.2. Regresión

La regresión es una aplicación especial de la regla de clasificación. Es un método estadístico para


predecir los valores de un atributo, Y, (llamado la variable dependiente), dados los valores de
atributos X1, X2, …, Xn (llamadas variables independientes). Un ejemplo es son los exámenes de los
alumnos y el promedio de la preparatoria son variables independientes para predecir el promedio al
final de cuatro años de la universidad, que es la variable dependiente. Muchos paquetes estadísticos
de software permiten identificar hechos potenciales que son útiles para predecir el valor de las
variables dependientes. Usando progresión lineal, el paquete encuentra la contribución o peso de
cada variable independiente para la predicción, en forma de coeficientes, a0, a1, … an para una
función lineal teniendo la forma:

Y = a0 + a1 X1 + a2 X2 + . . . + an Xn

Unidad 7. Nuevas Tecnologías Página 15


La fórmula derivada representa una curva que corresponde a los valores observados tan
detalladamente como sea posible.

En minería de datos, se puede pedir directamente al sistema que identifique las variables
independientes, y encuentre la función de regresión. Los sistemas de minería de datos también
pueden usar regresión no lineal, usando la aproximación mediante una curva correspondiente,
encontrando la ecuación de la curva que corresponde a los datos observados tan detalladamente
como sea posible. También puede trabajar con datos no numéricos.

7.1.1.3. Redes Neuronales

Estas técnicas incluyen una variedad de métodos usando un conjunto de muestras para todas las
variables para encontrar las relaciones más fuertes entre variables y observaciones. Los métodos
tienen origen en el campo de la inteligencia artificial. Estos usan una forma generalizada de
regresión, proporcionando un método iterativo y usando una técnica de ajuste de curva para
encontrar una función a partir del conjunto de muestras. Las redes neuronales usan un método de
aprendizaje, adaptándose con forme aprenden nueva información examinando muestras adicionales.
Por ejemplo, un modelo simple de una red neuronal que representa compras en Internet, puede
predecir los clientes potenciales que comprarán en un sitio específico. Algunas variables de entrada
que involucran edad, educación e ingresos se usan en las predicciones. Por ejemplo, se ha
demostrado que los graduados mayores de 21 años con ingresos mayores a 50,000 dólares
compran equipos de fotografía en Internet. En la etapa de aprendizaje la red obtiene un conjunto de
muestras de prueba que proporcionan hechos acerca de estos valores de entrada para un ejemplo
de clientes, y también el sitio en el que solicitan. Las capas ocultas se desarrollan por el sistema con
forme examina estos casos, usando técnicas de regresión generalizadas. Además de los casos
proporcionados, el sistema refina sus capas ocultas hasta que ha aprendido a predecir
correctamente un cierto porcentaje. Entonces prueba los casos proporcionados para evaluar el
sistema. Si se desempeña bien en los casos de prueba, el sistema puede ser usado para nuevos
datos donde la salida es conocida.

Las redes neuronales tienen diversos elementos que hacen difícil trabajar con ella. Uno de los
problemas principales es que la curva concuerde. El conjunto de datos de entrenamiento, como
cualquier otro renglón de datos, siempre tiene cierta cantidad de “ruido”, inconsistencias o
variaciones que no son significativas y que deben ser ignoradas. En vez de eso, las redes
neuronales pueden acomodar sus funciones de predicción para contabilizar estos valores,
produciendo una curva que corresponde perfectamente al conjunto de muestras. La función de
predicción se realizará pobremente sobre nuevos datos. Un segundo problema es que el
conocimiento de cómo el sistema toma sus predicciones está en las capas ocultas, de modo que los
usuarios no tienen una buena vista del razonamiento usado. A pesar del modelo de regresión, donde
los coeficientes muestran la contribución de cada atributo, el peso asignado a los hechos en el
modelo no puede ser interpretado de modo natural por los usuarios. Aún cuando el modelo puede
trabajar bien, la salida puede ser difícil de comprender e interpretar.
edad
< 21
libros
edad
> 21

Artículos
<
prepa
Capas deportivos

Ocultas
prepa
Viajes

Equipo
profe
sional
fotográfico

Unidad 7. Nuevas Tecnologías


<
5000 Página 16
>
5000
Modelo Simple de una Red Neuronal

7.1.1.4. Agrupación

La agrupación o segmentación se refiere a métodos usados para colocar tuplas en clusters o grupos
que pueden ser disjuntos o traslapados. Usando un conjunto de muestras, el sistema identifica un
conjunto finito de clusters en los cuales las tuplas de la BD pueden ser agrupadas. Las tuplas en
cada cluster son similares, compartiendo algunas propiedades y son diferentes a las tupla en otros
clusters. Similarmente se miden usando algún tipo de función de distancia que es definida para los
datos. Por ejemplo, si edad es un atributo, la diferencia entre las edades de las personas puede ser
usada como la función de distancia. En algunos problemas, las categorías pueden ser organizadas
jerárquicamente. Un ejemplo puede ser de gente agrupada por educación y niveles de ingresos.
Mostrando el grado máximo completado por cada persona en el eje de las X y los ingresos anuales
en el eje de Y. A partir de los datos, se puede notar que existen tres grupos. Hay gente con el nivel
más bajo de educación que tienen bajos ingresos, gente con bajos niveles de educación con
ingresos moderadamente altos y gente con alto nivel de educación con altos ingresos.

80000
60000
Ingresos

40000
20000
0
0 5 10 15 20
Nivel Educativo

Método de Agrupación

7.3.4. Aplicaciones de la Minería de Datos


La minería de datos tiene usos en una amplia variedad de contextos de toma de decisiones en el
ámbito empresarial. Entre las más útiles están las siguientes:

 Ventas al menudeo.
o Manejo de relaciones con los clientes (MRC). Es una nueva aplicación de la
minería de datos. El MRC permite que una venta a menudeo proporcione una
experiencia personalizada de ventas a los clientes para crear lealtad de los clientes.
La minería de datos se usa para identificar y anticipar las necesidades de los clientes,
de modo que las ventas tendrán elementos que solicitan y podrán sugerir productos
relacionados que el cliente compra. Por ejemplo, las tiendas de libros por Internet
analizan las preferencias de clientes por región y el historial de ventas para sugerir
nuevas compras o sugerir compras relacionadas a la actual
o Las campañas publicitarias usan minería de datos para identificar los clientes que
probablemente comprarán en respuesta a los anuncios. Para firmas de ventas por
catálogo, se usa para identificar a aquellos que responderán positivamente. Los datos
se pueden crear en respuesta a un modelo. Ese modelo, que incluye datos

Unidad 7. Nuevas Tecnologías Página 17


demográficos y geográficos, se usa para identificar a la gente que responderá
positivamente a nuevas campañas, basadas en su demografía y otros atributos.
 Bancos y Finanzas
o Créditos. Vendedores a menudeo, Bancos, y otros que proporcionan crédito a los
clientes pueden usar una variedad de técnicas de minería de datos para construir un
modelo para determinar si se proporciona un crédito a un nuevo cliente.
o Detección de fraudes y prevención. La minería de datos ha sido usada
satisfactoriamente para detectar transacciones de tarjetas de crédito fraudulentas,
tanto en tiempo real como después de del hecho, negando las transacciones
potenciales. Las compañías de seguros también han usado minería de datos para
determinar si los reclamos son fraudulentos. La industria de telecomunicaciones
también usa la minería de datos para detectar usos fraudulentos del uso de sistemas
telefónicos.
 Producción
o Optimización del uso de recursos. Los modelos de minería de datos pueden ser
usados para determinar el mejor empleo de equipo, recursos humanos y materiales.
o Optimización del proceso de producción. El proceso de producción por si mismo
puede ser analizado para determinar el mejor costo/beneficio y/o forma más eficiente
de producir productos.
o Diseño de productos, Examinando los datos acerca de defectos de productos y
reparándolos, las productoras pueden eliminar partes que pueden ser defectuosas,
mejorando el diseño. Los resultados de investigaciones de mercado pueden también
ser usadas para diseñar productos que los consumidores pueden preferir.
 Medicina
o Determinar la efectividad de tratamientos. Los pacientes, proveedores de
medicamentos, y seguros de salud se benefician de la capacidad de determinar qué
tratamientos son más efectivos. La minería de datos no sólo proporciona las bases
para resultados estadísticos de estudios de varios tratamientos, sino que revela
hechos escondidos que tienen influencia en el tratamiento.
o Analizar efectos de drogas. Antes y después de que una droga sale al mercado, una
gran cantidad de datos deben recolectarse y proporcionarse acerca de los efectos de
las drogas. Los estudios a gran escala sobre las drogas, involucran grandes
cantidades de datos, y juegan un papel vital en la industria farmacéutica.
o Encontrar relaciones. Los patrones entre los cuidados de los pacientes y los
tratamientos pueden ser determinados. Además de la relación obvia entre el
tratamiento o droga y el paciente, relaciones ocultas entre otros factores, como el
lugar donde se proporciona el cuidado, y el restablecimiento, pueden ser descubiertas
usando minería de datos.

Las investigaciones en el área de almacenes de datos y minería de datos son muy activas, cada vez
existen más herramientas para el manejo de estas tecnologías, con mayor cantidad de
funcionalidades y cada vez mejores.

Tarea.
a. Leer al menos 2 fuentes adicionales sobre los temas vistos en esta unidad y hacer un resumen
de la unidad (máximo 1 cuartilla). No olvidar conclusiones y bibliografía.
b. Cuál es la diferencia entre OLAP y OLTP, entre el esquema de estrella y de copo, entre las vistas
de las BD transaccionales y las de un almacén de datos y entre los patrones secuenciales y las
series de tiempo.
c. Investigar qué herramientas proporciona MySQL para Almacén de datos y Minería de datos.

Unidad 7. Nuevas Tecnologías Página 18

S-ar putea să vă placă și