Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

DM-practica-1 - Ariadna

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 16

INSTITUTO POLITÉCNICO

NACIONAL
ESCUELA SUPERIOR DE
CÓMPUTO
ACADEMIA INGENIERÍA DE SOFTWARE

Unidad de Aprendizaje: Data Mining


Profesor: M. en C. Alejandro Botello Castillo
Práctica no. 1: Diseño de una Base de Datos Multidimensional

ALUMNO: Ariadna Aidee Gracida Suárez


GRUPO: 3CV8
FECHA DE ENTREGA: Miércoles 6 de febrero
Número de Práctica: 1
Nombre de la Práctica: Diseño de una Base de Datos Multidimensional
REQUISITOS PREVIOS
Para la realización de la práctica se deberá tener instalado en la computadora el software:

 MySQL Server http://dev.mysql.com/downloads/mysql/


 MySQL WorkBench http://dev.mysql.com/downloads/workbench/
MARCO TEÓRICO
De acuerdo a lo visto en clase, se emplearán los conceptos del modelado multidimensional empleando
una herramienta CASE de modelado de bases de datos.
DESARROLLO DE LA PRÁCTICA:
Suponga el siguiente modelo de una base de datos de una empresa, que representa el registro de las ventas
de un negocio para determinados clientes en los productos que comercializa.

Se observa que la base de datos está diseñada bajo el modelo relacional y que cumple con las propiedades
de normalización. Sin embargo, la empresa está interesada en hacer análisis histórico de sus datos
generados, por lo que se ha decidido almacenar estos datos en un modelo multidimensional, que resuelva
las siguientes consultas:

 Se desea saber el total de productos vendidos, por categoría y por producto.


 El total de ventas de los productos vendidos, por categoría y por producto.
 El total de ventas de los productos, por categoría y por tipo (estado) de cliente.
 Los cinco productos más vendidos por categoría.
 Los cinco cliente más compradores por ciudad.
 Las cinco fechas en donde se obtuvieron más ventas por cada año.
 Las cinco fechas en donde se vendieron más productos por cada año.
 Los totales de las ventas de productos por categorías por cada mes del año.
De acuerdo a las preguntas interesantes del negocio, es necesario modelar hacia multidimensional la base
de datos anterior. El modelo propuesto es el siguiente:

1.- Mediante el software MySQL Workbench, crear el modelo multidimensional anterior. Inicie la
aplicación y genere una nueva conexión llamada multidimensional. Verifique que el servidor de bases de
datos MySQL Server este ejecutando. Los parámetros de conexión importantes son Hostname: 127.0.0.1,
Port: 3306, Username: root, Password: root. Nota: Hay que tomar en consideración que estos
parámetros pueden variar de acuerdo a las normas de la administración de los equipos en el Laboratorio,
por lo que las indicaciones se harán en clase.
2.- Por cuestiones de seguridad, agregue un nuevo usuario para el servidor de bases de datos, con nombre
multidimensional y contraseña multidimensional.

3.- Inserte un nuevo modelo y agregue un nuevo diagrama.


4.- Para cada una de las tablas del modelo multidimensional, cree el diagrama correspondiente en el panel
de trabajo, asegurándose que la definición de las columnas y las relaciones sea la correcta. Nota: Para las
columnas totalProductos, subtotal y Descuento de la tabla ventas, y la columna PrecioUnitario de la tabla
producto, se deberá establecer la restricción de valor por omisión a 0. De igual forma verifique las
restricciones de NOT NULL para todas las columnas de las tablas.

5.- El diagrama terminado deberá ser como se muestra en la siguiente figura:


6.- Del menú principal, elija la opción Database -> Forward Engineer y escriba los valores de conexión
para la base de datos multidimensional. Continúe con las opciones de generación de la base de datos.
Asegúrese de que el script generado de la base de datos sea consistente con las definiciones hechas en el
diagrama.
7.- Guarde su trabajo y revise mediante la consola de comandos que los objetos realmente fueron
creados y están correctos.
Entregables:

A) Incluya la captura del modelo multidimensional creada con la herramienta de MySQL WorkBench

B) Incluya el código SQL generado para el modelo multidimensional.

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;

SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;

SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

CREATE SCHEMA IF NOT EXISTS `multidimensional` DEFAULT CHARACTER SET utf8 COLLATE
utf8_general_ci ;

USE `multidimensional` ;

-- -----------------------------------------------------

-- Table `multidimensional`.`producto`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `multidimensional`.`producto` (

`cveProducto` INT NOT NULL ,


`descripcion` VARCHAR(100) NOT NULL ,

`precioUnitario` DOUBLE(7,2) NOT NULL ,

`presentacion` VARCHAR(50) NOT NULL ,

`productocol` VARCHAR(45) NOT NULL ,

PRIMARY KEY (`cveProducto`) )

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `multidimensional`.`categoria`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `multidimensional`.`categoria` (

`cveCategoria` SMALLINT NOT NULL ,

`Nombre` VARCHAR(20) NOT NULL ,

`descripcion` VARCHAR(120) NOT NULL ,

`categoriacol` VARCHAR(45) NOT NULL ,

PRIMARY KEY (`cveCategoria`) )

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `multidimensional`.`tiempo`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `multidimensional`.`tiempo` (

`idTiempo` INT NOT NULL ,

`anio` SMALLINT NOT NULL ,

`mes` SMALLINT NOT NULL ,

`dia` SMALLINT NOT NULL ,

`tiempocol` VARCHAR(45) NOT NULL ,


PRIMARY KEY (`idTiempo`) )

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `multidimensional`.`cliente`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `multidimensional`.`cliente` (

`idcliente` VARCHAR(8) NOT NULL ,

`cveCliente` INT NOT NULL ,

`Nombres` VARCHAR(30) NOT NULL ,

`Apellidos` VARCHAR(50) NOT NULL ,

`direccionEntrega` VARCHAR(100) NOT NULL ,

`ciudad` VARCHAR(40) NULL ,

`estado` VARCHAR(20) NULL ,

`pais` VARCHAR(30) NULL ,

`clientecol` VARCHAR(45) NULL ,

PRIMARY KEY (`cveCliente`) )

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `multidimensional`.`ventas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `multidimensional`.`ventas` (

`idventa` INT NOT NULL ,

`idTiempo` INT NOT NULL ,

`cveCliente` INT NOT NULL ,

`cveProducto` INT NOT NULL ,


`cveCategoria` SMALLINT NOT NULL ,

`totalProductos` INT NULL ,

`subTotal` DOUBLE(9,2) NULL ,

`descuento` DOUBLE(4,2) NULL ,

PRIMARY KEY (`idventa`) ,

INDEX `fk_ventas_cliente_idx` (`cveCliente` ASC) ,

INDEX `fk_ventas_tiempo1_idx` (`idTiempo` ASC) ,

INDEX `fk_ventas_categoria1_idx` (`cveCategoria` ASC) ,

INDEX `fk_ventas_producto1_idx` (`cveProducto` ASC) ,

CONSTRAINT `fk_ventas_cliente`

FOREIGN KEY (`cveCliente` )

REFERENCES `multidimensional`.`cliente` (`cveCliente` )

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_ventas_tiempo1`

FOREIGN KEY (`idTiempo` )

REFERENCES `multidimensional`.`tiempo` (`idTiempo` )

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_ventas_categoria1`

FOREIGN KEY (`cveCategoria` )

REFERENCES `multidimensional`.`categoria` (`cveCategoria` )

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_ventas_producto1`

FOREIGN KEY (`cveProducto` )

REFERENCES `multidimensional`.`producto` (`cveProducto` )

ON DELETE NO ACTION

ON UPDATE NO ACTION)
ENGINE = InnoDB;

USE `multidimensional` ;

SET SQL_MODE=@OLD_SQL_MODE;

SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;

SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
CUESTIONARIO

1.- Describa claramente las características de una bodega de datos (Data Warehouse).

Es una colección de datos orientado a temas, la información se organiza de manera que todos los datos
relativos al mismo evento queden unidos entre sí, excluyendo información que no será utilizada.

Los principales objetivos de éste son facilitar el acceso a la información, proteger la información, auxiliar
a la administración a comprender el pasado y planear el futuro.

Los datos son extraidos de una o varias bases de datos para que éstos sean transformados y así
posteriormente sean cargados al Data Warehouse.

2.- Describa las consideraciones a tomar en un esquema multdimensional con respecto a un modelo
relacional.

Los datos que se deberán descargar a la bodega de datos deberán ser únicamente aquellos que sean
relevantes para ejecutar las consultas solicitadas.

Se tienen algunas consideraciones, tales como evitar traslapes de información, el contar con bases de
datos completas y evitar inconsistencias en los datos.

3.- Describa las ventajas de resolución de consultas del negocio con respecto a un modelo
multidimensional comparado con un modelo relacional.

CONCLUSIONES

Escriba sus conclusiones (no personales) con respecto al desarrollo de esta práctica.

Las bases de datos de tipo relacional ha permitido a los usuarios manejar la información de múltiples
maneras a lo largo de los años. Con forme la tecnología ha avanzado se han expandido los criterios de
búsqueda así como la manera en la que se almacena la información, por lo que las bases de datos han
tenido que cambiar su arquitectura a manera que puedan satisfacer las nuevas necesidades.

Las bodegas de datos nos permiten explotar la gran cantidad de información que se almacena, de
manera que los usuarios vean los patrones de comportamiento y puedan aprender de datos históricos y
tomar prevenciones.
REFERENCIAS BIBLIOGRÁFICAS

1.- MySQL Documentation, http://dev.mysql.com/doc/

2.- Ralph Kimball: “The Data Warehouse Toolkit: Practical Techniques for Building Dimensional Data
Warehouses” John WIley & Sons, 1996. ISBN 0-471-15337-0

3.- C.J. Date: “Introducción a los sistemas de bases de datos” Pearson Educación, 2001. ISBN 968-444-
419.

4.- Ramez A. Elmasri & Shamkant B. Navathe: “Fundamentos de Sistemas de Bases de Datos”. Addison-
Wesley, 2002 [3ª edición]. ISBN 84-782-9051-6.

5.- Henry F. Korth, Abraham Silberschatz & S. Sudarshan: “Fundamentos de Bases de Datos”. Mc-Graw
Hill, 2002 [4ª edición]. ISBN 84-481-3654-3.

También podría gustarte