triggers y stored procedures con microolap database designer
DESCRIPTION
TRANSCRIPT
![Page 1: Triggers y Stored Procedures con MicroOLAP Database Designer](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/7.jpg)
Captura
![Page 8: Triggers y Stored Procedures con MicroOLAP Database Designer](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/10.jpg)
Captura
![Page 11: Triggers y Stored Procedures con MicroOLAP Database Designer](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/12.jpg)
Capturas
![Page 13: Triggers y Stored Procedures con MicroOLAP Database Designer](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/14.jpg)
Captura
![Page 15: Triggers y Stored Procedures con MicroOLAP Database Designer](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/16.jpg)
Capturas
![Page 17: Triggers y Stored Procedures con MicroOLAP Database Designer](https://reader033.vdocuments.mx/reader033/viewer/2022051211/553897ea4a7959437c8b47b1/html5/thumbnails/17.jpg)
FIN