17
Triggers y Stored Procedures con MicroOLAP Database Designer en MySQL 5 Universidad San Pedro Victor Hugo Salas Diaz

Triggers y Stored Procedures con MicroOLAP Database Designer

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Triggers y Stored Procedures con MicroOLAP Database Designer

Triggers y Stored Procedures con MicroOLAP Database Designer en

MySQL 5

Universidad San Pedro

Victor Hugo Salas Diaz

Page 2: Triggers y Stored Procedures con MicroOLAP Database Designer

Introducción

Unas opciones no muy usadas cuando se trabaja con MySQL son los triggers y los procedimientos almacenados (stored procedures), pero esto se debe a que es algo nuevo en mysql y la gente no está acostumbrada a estas dos funcionalidades que nos permiten reducir la complejidad de las aplicaciones que usan la base de datos.

Page 3: Triggers y Stored Procedures con MicroOLAP Database Designer

Triggers (Disparadores)

Un trigger es un mecanismo de la base de datos para ejecutar automáticamente una sentencia SQL cuando ocurre un evento.

Una tabla sólo pueden tener trigger de INSERT o DELETE, y mas de un UPDATE mientras que las columnas que intervienen en el update sean disjuntas.

Page 4: Triggers y Stored Procedures con MicroOLAP Database Designer

Stored Procedures (Procedimientos Almacenados)

Son un conjunto de sentencias SQL y sentencias SPL (stored procedure language) agrupadas como un objeto que se almacena en la base de datos en las tablas del sistema.

Son chequeadas sintácticamente y optimizadas en el momento de su creación.

Page 5: Triggers y Stored Procedures con MicroOLAP Database Designer

Caso Practico

Vamos a mostrar un ejemplo de uso de triggers y procedimientos almacenados paso a paso. Quizás el ejemplo no sea el más correcto, o simplemente sea poco útil, pero lo importante es el uso en sí, no el ejemplo.

Nuestro sistema tendrá dos tablas, una con ventas y la otra con comisiones. En la primera se almacenarán cada venta que se realiza en un comercio, y en la segunda las comisiones que le corresponden a cada vendedor en el momento.

Page 6: Triggers y Stored Procedures con MicroOLAP Database Designer

Paso 1

Primero crearemos las tablas ventas y comisiones con sus respectivos atributos y tipos de dato, para ello cargamos el MicroOLAP Database Designer y procedemos a crear un proyecto nuevo haciendo click en File – New, después de esto procedemos a cambiar el tipo de base datos dando click en Diagram – Default Database Options y en Default table type elegimos InnoDB y le damos en OK, luego click en Table y procedemos a crear ambas tablas, presionamos ESC y dando doble click ingresamos sus atributos en el separador Columns y finalmente creamos la entidad relación.

Page 7: Triggers y Stored Procedures con MicroOLAP Database Designer

Captura

Page 8: Triggers y Stored Procedures con MicroOLAP Database Designer

Procederemos a crear el Stored Procedure (Procedimiento Almacenado) para ello daremos click en Stored Routine y se creara una tabla que representa al Stored Procedure le damos doble click y procedemos a ingresar los parámetros y el procedimiento en si donde se realizaran los siguientes cálculos:

– Las comisiones se calcula de una forma especial, le corresponde un porcentaje de las ventas según el tipo de producto, y es importante para los vendedores el que se sepa en cada momento qué comisiones lleva ganadas.

– Para calcular qué comisión le corresponde a un vendedor, calcularemos los porcentajes para cada tipo de producto vendido y luego lo añadiremos/actualizaremos en la tabla de comisiones.

Paso 2

Page 9: Triggers y Stored Procedures con MicroOLAP Database Designer

Paso 3

Colocamos el nombre al procedimiento almacenado ( sp_comisiones ), luego ingresamos los parametros nombre, clase y tipo de dato ( mivendedor, IN y INT respectivamente).

Luego procedemos a crear el procedimiento en si declarando primero las variables a utilizar y ingresando los cálculos en si, luego le damos en OK.

Page 10: Triggers y Stored Procedures con MicroOLAP Database Designer

Captura

Page 11: Triggers y Stored Procedures con MicroOLAP Database Designer

Paso 4

Ahora crearemos el Trigger o Disparador para ello le daremos doble click en la tabla ventas nos vamos al separador Triggers y damos click en Add, allí ingresamos nombre, tiempo en que se ejecutara, antes de que acción y en boddy le damos click y aparecerá un botón le damos click y nos abrirá un editor allí ira la sentencia que llamara al procedimiento almacenado cuando se inserta un nueva venta de un vendedor determinado y finalmente le damos en OK y otra ves en OK.

Page 12: Triggers y Stored Procedures con MicroOLAP Database Designer

Capturas

Page 13: Triggers y Stored Procedures con MicroOLAP Database Designer

Paso 5

Ahora crearemos el script para ello iremos a Database – Generate Database y nos cargara una ventana allí seleccionaremos donde guardar el script y con que nombre, luego iremos a options allí en la opción Delimiter solo dejaremos una sola barra horizontal | y finalmente le daremos en Generate script.

Page 14: Triggers y Stored Procedures con MicroOLAP Database Designer

Captura

Page 15: Triggers y Stored Procedures con MicroOLAP Database Designer

Ultimo Paso

Finalmente nos queda insertar este script en mysql para ello se necesitara de wamp server a partir de la versión 2.0b o 2.0c estas versiones traen el phpmyadmin 2.11.5 que permiten trabajar con sentencias mysql que contengan stored procedures y triggers.

Primero abriremos el phpmyadmin http://localhost/phpmyadmin/ luego iremos a la opción importar y buscamos el script a traves de examinar y le damos continuar eso sera todo con eso tendremos creado la base datos.

Page 16: Triggers y Stored Procedures con MicroOLAP Database Designer

Capturas

Page 17: Triggers y Stored Procedures con MicroOLAP Database Designer

FIN