Mini curso: Inteligencia de negocios (Bodega y Minería de Datos) aplicación práctica Mauro Callejas Cuervo Ecuador, Mayo 2014 Sesión 2 – TALLER 2 Grupo de Investigación en Software Universidad Pedagógica y Tecnológica de Colombia
Narrativa.
Consulta 1
Consulta 2.
Modelo multidimensional.
Creación BD Multidimensional Table `eden_multi`.`empresa_d` CREATE `empresa_d` ( `id` INT NOT NULL, `nombre` VARCHAR(45) NOT NULL, PRIMARY KEY (`id`) ); Table `eden_multi`.`producto_d` CREATE TABLE `producto_d` ( `id` INT NOT NULL, `nombre` VARCHAR(45) NOT NULL, PRIMARY KEY (`id`) ); Table `eden_multi`.`periodo_d` CREATE TABLE `periodo_d` ( `anio` INT NOT NULL, `mes` INT NOT NULL, PRIMARY KEY (`anio`, `mes`) ); Table `eden_multi`.`ventas_h` CREATE TABLE `ventas_h` ( `idventas` INT NOT NULL, `unidades` INT NOT NULL, `empresa_id` INT NOT NULL, `empresa_nombre` VARCHAR(45) NOT NULL, `producto_id` INT NOT NULL, `producto_nombre` VARCHAR(45) NOT NULL, `periodo_anio` INT NOT NULL, `periodo_mes` INT NOT NULL, PRIMARY KEY (`idventas`), CONSTRAINT `fk_ventas_empresa` FOREIGN KEY (`empresa_id` ) REFERENCES `empresa_d` (`id` ), CONSTRAINT `fk_ventas_producto1` FOREIGN KEY (`producto_id` ) REFERENCES `producto_d` (`id` ), CONSTRAINT `fk_ventas_periodo1` FOREIGN KEY (`periodo_anio`, `periodo_mes` ) REFERENCES `periodo_d` (`anio`, `mes` ));
Inserción de Datos
Consultas en el relacional CUBE SELECT p.nombre, e.nombre, periodo_anio, periodo_mes, sum(unidades) FROM empresa e, producto p, ventas v WHERE v.empresa_id=e.id AND v.producto_id=e.id AND empresa_id=1 GROUP BY p.nombre, e.nombre, periodo_anio, periodo_mes WITH CUBE / ROLLUP SELECT p.nombre, e.nombre, periodo_anio, periodo_mes, sum(unidades) FROM empresa e, producto p, ventas v WHERE v.empresa_id=e.id AND v.producto_id=e.id AND empresa_id=1 GROUP BY p.nombre, e.nombre, periodo_anio, periodo_mes WITH ROLLUP / Consultas en el multidimensional CUBE SELECT empresa_nombre, producto_nombre, periodo_anio, periodo_mes, sum(unidades) FROM ventas_h WHERE empresa_id=1 GROUP BY empresa_nombre, producto_nombre, periodo_anio, periodo_mes WITH CUBE / ROLLUP SELECT empresa_nombre, producto_nombre, periodo_anio, periodo_mes, sum(unidades) FROM ventas_h WHERE empresa_id=1 GROUP BY empresa_nombre, producto_nombre, periodo_anio, periodo_mes WITH ROLLUP / Consultas Relacional - Multidimensional
Gracias