Diferencia entre triggers y

Download Report

Transcript Diferencia entre triggers y

Instituto Tecnologico de Las Americas

TEMA:

Diferencia entre trigger y stored procedure.

MATERIA:

Base de Datos Avanzada

DOCENTE:

Ana Quintana Pérez

EXPOSITOR:

Gregory Hidalgo

• Trigger.

• Stored Procedure.

• Diferencias entre Trigger y Stored Procedure.

• Ejemplos.

Trigger (Disparador) En Base de datos , es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación de inserción (INSERT), actualización (UPDATE) o borrado (DELETE).

• Usos de los Trigger: Para mejorar la administración de las Base de Datos.

• • • • Prevención de errores de datos.

Sincronización de las tablas.

• Modificación de los datos en las vistas de la base de datos.

Tipos de Trigger: Row Triggers : son aquellas que se ejecutaran n-veces si se llama n-veces desde la tabla asociada al trigger Statement Triggers : son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.

Estructura básica de un Trigger: • Llamada de activación.

• Restricción.

• Acción a ejecutar

Es un programa, fragmento de código o como su nombre lo indica un procedimiento, el cual es almacenado físicamente en una base de datos.

• Usos de los Stored Procedure: Son utilizados para realizar consultas SQL sobre los objetos del banco de datos de una manera abstracta.

• Agrupar en forma exclusiva parte de algo específico que se desee realizar .

• Validación de datos, integrados dentro de la estructura del banco de datos.

• Usos de los Stored Procedure: Encapsulación de un API para un proceso complejo o grande que podría requerir la ejecución de varias consultas SQL.

• Para el control de gestión de operaciones.

• Para ejecutar procedimientos almacenados dentro de una transacción de tal manera que las transacciones sean efectivamente transparentes para ellos.

Diferencias entre Trigger y Stored Procedure • • • La principal diferencia es que los Triggers en realidad son Stored procedure.

La velocidad en reponder a las peticiones de usuarios es mayor en los Stored Procedure que en los Trigger.

Los trigger son pequeños fragmentos de codigo y los stored procedure pueden encapsular procesos grandes y complejos.

Ejemplo de Trigger en MySQL CREATE TRIGGER ver_salario BEFORE UPDATE ON empleados REFERENCING NEW ROW FOR EACH ROW AS n, OLD ROW AS IF n.salario <> o.salario THEN END IF o

Ejemplo de Trigger en PostgresQL CREATE OR REPLACE FUNCTION actualizar() RETURNS TRIGGER AS $ejemplo$ BEGIN NEW.nombre := NEW.nombres || ' ' || NEW.apellidos ; RETURN NEW; END; $ejemplo$ LANGUAGE plpgsql; CREATE TRIGGER ejemplo BEFORE INSERT OR UPDATE ON 'tabla' FOR EACH ROW EXECUTE PROCEDURE actualizar();

Ejemplo de stored procedure en MySQL DELIMITER | CREATE PROCEDURE autos( IN velocidad int, IN marca varchar(50)) BEGIN IF velocidad < 120 then INSERT INTO familiares VALUES (velocidad,marca); ELSE INSERT INTO deportivos VALUES (velocidad,marca); END END; IF ; |