Tema: Mineria de datos. Objetivo Especifico Que el estudiante: - Aprenda a crear procedimientos para Mineria de datos Introducción Teórica La minería de datos (DM, Data Mining) consiste en la extracción no trivial de información que reside de manera implícita en los datos. Dicha información era previamente desconocida y podrá resultar útil para algún proceso. En otras palabras, la minería de datos prepara, sondea y explora los datos para sacar la información oculta en ellos. Bajo el nombre de minería de datos se engloba todo un conjunto de técnicas encaminadas a la extracción de conocimiento procesable, implícito en las bases de datos. Está fuertemente ligado con la supervisión de procesos industriales ya que resulta muy útil para aprovechar los datos almacenados en las bases de datos. Las bases de la minería de datos se encuentran en la inteligencia artificial y en el análisis estadístico. Mediante los modelos extraídos utilizando técnicas de minería de datos se aborda la solución a problemas de predicción, clasificación y segmentación. Material y Equipo - Computadora con Oracle 10G XE. - Guía de Laboratorio. Procedimiento Se necesita que para una base de datos comercial podamos crear un Cubo de Información donde se puedan ver las dimensiones de Producto, Fecha y Tipo de Cliente Vamos a Generar la Siguiente Base de datos de Ventas Comerciales: 1. Ocupe el Siguiente Codigo para crear la base de datos Transaccional, se crearan las tablas cliente, productos, ventas y ventas detalle, agregue 10 registros de clientes, 10 registros de ventas(y agregue 2 registros en ventas detalle por cada registro en ventas) y 5 registros en productos CREATE TABLE “AC_CLIENTE" ( "ID_CLIENTE" NUMBER NOT NULL ENABLE, "NOMBRE" VARCHAR2(40 BYTE) NOT NULL ENABLE, "APELLIDO" VARCHAR2(20 BYTE) NOT NULL ENABLE, "FECHANAC" DATE NOT NULL ENABLE, "TIPO_CLIENTE" VARCHAR2(20 BYTE), CONSTRAINT "AC_CLIENTE_PK" PRIMARY KEY ("ID_CLIENTE") ) CREATE TABLE “AC_PRODUCTO" ( "ID_PRODUCTO" NUMBER NOT NULL ENABLE, "NOMBRE" VARCHAR2(20 BYTE) NOT NULL ENABLE, "PRECIOU" NUMBER DEFAULT 0.0 NOT NULL ENABLE, CONSTRAINT "AC_PRODUCTO_PK" PRIMARY KEY ("ID_PRODUCTO") ) CREATE TABLE “AC_VENTAS" ( "ID_CLIENTE" NUMBER NOT NULL ENABLE, "ID_VENTA" NUMBER NOT NULL ENABLE, "MONTO" NUMBER NOT NULL ENABLE, "FECHA" DATE NOT NULL ENABLE, CONSTRAINT "AC_VENTAS_PK" PRIMARY KEY ("ID_VENTA") ) CREATE TABLE "AC_VENTAS_DETALLE" ( "ID_VENTAS" NUMBER NOT NULL ENABLE, "ID_PRODUCTO" NUMBER NOT NULL ENABLE, "CANTIDAD" NUMBER NOT NULL ENABLE, "PRECIOU" NUMBER NOT NULL ENABLE, "SUBTOTAL" NUMBER NOT NULL ENABLE ) 2. Ahora se creara la tabla multidimensional (Datawarehouse) donde se guardaran las dimensiones que necesitamos evaluar CREATE TABLE "AC_MULTIDIMENSIONAL" ( "PRODUCTO" VARCHAR2(20 BYTE), "MONTO_VENTAS" NUMBER DEFAULT 0, "FECHA" DATE, "TIPO_CLIENTE" VARCHAR2(20 BYTE) ) 3. Despues crearemos nuestro programa ETL el cual estara guardando los datos a nuestra tabla multidimensional, como nuestro Datawarehouse esta tambien en Oracle ocuparemos un procedimiento almacenado CREATE OR REPLACE PROCEDURE "DMS"."LLENADO_MULTIDIMENSIONAL" AS BEGIN insert into ac_multidimensional (producto, fecha, tipo_cliente, monto_ventas) select t2.nombre, t3.fecha, t1.tipo_cliente,sum(t4.subtotal) from ac_cliente t1 , ac_producto t2 , ac_ventas t3 , ac_ventas_detalle t4 where t1.id_cliente= t3.id_cliente and t3.id_venta= t4.id_ventas and t2.id_producto= t4.id_producto group by t2.nombre, t3.fecha, t1.tipo_cliente ; END LLENADO_MULTIDIMENSIONAL; 4. Ejecute el Procedimiento Almacenado para llenar nuestra tabla multidimensional Se necesita hacer por mes los dias de la semana con mas movimiento de facturacion 5. Se creara la siguiente tabla que contendra nuestra información de movimiento por dia de semana CREATE TABLE "AC_MULTI_MINE" ( "MES" VARCHAR2(20 BYTE), "ANIO" NUMBER, "DIA" VARCHAR2(20 BYTE), "MONTO" NUMBER ) 6. Se creara un procedimiento almacenado el cual en base al promedio mensual de ventas por producto hara CREATE OR REPLACE PROCEDURE LLENADO_MULTIDIMENSIONAL_MIN AS BEGIN insert into ac_multi_mine select to_char(fecha,'MONTH') as MES, to_char(fecha,'YYYY') as ANIO, case when to_char(fecha,'D')=7 then 'SABADO' when to_char(fecha,'D')=1 then 'DOMINGO' when to_char(fecha,'D')=2 then 'LUNES' when to_char(fecha,'D')=3 then 'MARTES' when to_char(fecha,'D')=4 then 'MIERCOLES' when to_char(fecha,'D')=5 then 'JUEVES' when to_char(fecha,'D')=6 then 'VIERNES' END as DIA,sum(monto_ventas) as MONTO_VENTAS from ac_multidimensional group by to_char(fecha,'MONTH'),to_char(fecha,'YYYY'),to_char(fecha,'D'); END LLENADO_MULTIDIMENSIONAL_MIN; 7. Vaya a Microsoft Excel y en el menu de DATA haga click sobre From Other Sources 8. En el siguiente cuadro de mensajes seleccione “New Data Source” 9. En el siguiente cuadro de opciones, seleccione un nombre seleccione el driver de Oracle “Oracle in XE” 10. Despues hacer click en Conectar y digitar su service name (XE) y su usuario y clave con el cual se conecta a su base de datos 11. Seleccionamos la tabla multidimensional que hemos creado 12. Una vez hayamos creado nuestra Conexión, aceptamos el nuevo Datasource creado y en el cuadro de dialogo seleccionaremos todos los campos de nuestra tabla multidimensional y hacemos click en siguiente 13. En el cuadro de dialogo de filtros y ordenamiento daremos click en siguiente 14. Cuando estemos en la pantalla de selección del Query Wizard seleccionaremos Cubos OLE 15. Cuando le demos finalizar nos mostrar el cuadro de dialogo de los Cubos OLE 16. En esta opcion se deben de seleccionar todos los campos 17. Cuando finalize el Wizard guarde el cubo con un nombre y vera la siguiente ventana 1. En la siguiente ventana arrastre los campos que selecciono y vea como puede cambiar la visualizacion de la información Ejercicio 1. Se necesita que defina cuales son los mejores dias de venta en base al monto de facturación diario por tipo de producto y edad de las clientes