Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Triggers (Disparadores), Apuntes de Programación de Bases de Datos

1. Introducción a los triggers. • Qué son y cuándo se usan. • Tipos de triggers (Before, After, Instead Of). 2. Crear y gestionar triggers. • Triggers en eventos DML (INSERT, UPDATE, DELETE). • Triggers en eventos DDL (CREATE, ALTER, DROP). 3. Casos prácticos: Control y auditoría con triggers. Ejercicio: Crear un trigger que registre automáticamente las operaciones de inserción en una tabla de auditoría.

Tipo: Apuntes

2024/2025

A la venta desde 17/06/2025

eddrick-2
eddrick-2 🇲🇽

23 documentos

1 / 16

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
MODULO 6 Triggers (disparadores)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga Triggers (Disparadores) y más Apuntes en PDF de Programación de Bases de Datos solo en Docsity!

MODULO 6

Triggers (disparadores)

ÍNDICE

Módulo 6: Triggers (Disparadores)

Introducción a los triggers.

Qué son y cuándo se usan.

Tipos de triggers (Before, After, Instead Of).

Crear y gestionar triggers.

Triggers en eventos DML (INSERT, UPDATE, DELETE).

Triggers en eventos DDL (CREATE, ALTER, DROP).

Casos prácticos: Control y auditoría con triggers.

Ejercicio : Crear un trigger que registre automáticamente las operaciones

de inserción en una tabla de auditoría.

Tarea

¿QUÉ SON?

Un trigger es un bloque de código PL/SQL que se ejecuta automáticamente en respuesta

a un evento específico sobre una tabla, vista o esquema.

Los eventos pueden ser de tres tipos:

DML (Data Manipulation Language): INSERT, UPDATE, DELETE.

DDL (Data Definition Language): CREATE, ALTER, DROP.

Eventos del sistema: Login, logout, errores, etc.

¿CUÁNDO SE USAN LOS

TRIGGERS?

Auditoría: Registrar cambios en las tablas.

Automatización: Generar valores, realizar validaciones, o actualizar otras tablas

automáticamente.

Control de datos: Prevenir modificaciones no autorizadas o realizar validaciones

personalizadas.

TIPOS DE TRIGGERS

Según el alcance del evento:

Fila a fila (FOR EACH ROW): Se ejecuta una vez por cada fila afectada por la

operación.

Por sentencia (Statement level): Se ejecuta una vez por cada operación,

independientemente de cuántas filas se vean afectadas.

CREAR Y GESTIONAR

TRIGGERS

Ejemplo básico de trigger DML: Auditoría de inserciones

Vamos a crear un trigger que registre automáticamente las operaciones de

inserción en una tabla de auditoría. Utilizaremos estas dos tablas para nuestro

ejemplo.

CREAR Y GESTIONAR

TRIGGERS

Crea un trigger llamado

trigger_auditoria_inserciones

El trigger se aplica después de una inserción en

la tabla tabla_empleados

El trigger se aplica a cada fila

insertada

Inserta un nuevo registro en la tabla

auditoria_empleados

Se obtiene el próximo valor de la secuencia

Utiliza el valor del id_empleado recién insertado en

tabla_empleados

Registra la operación como ‘Inserción’

Registra la fecha de la operación con

SYSDATE

CREAR Y GESTIONAR

TRIGGERS

Hacemos un instert en la

tabla_empleados

Utilizamos un select donde

comprobamos que nuestro insert fue

efectivo

Con el select en la tabla

auditoria_empleados comprobamos que el

trigger funciono

CASOS PRÁCTICOS: CONTROL Y

AUDITORÍA CON TRIGGERS

Caso 1: Validar antes de una inserción (BEFORE)

Ahora cada vez que insertamos un nuevo empleado y su salario sea menor a 1000

nos saldrá un mensaje de error

CASOS PRÁCTICOS: CONTROL Y

AUDITORÍA CON TRIGGERS

Caso 2: Registrar operaciones DML en una tabla (AFTER INSERT/UPDATE/DELETE)

Registrar todas las operaciones realizadas sobré una tabla:

Crea un trigger llamado trigger_auditorial_dml

El trigger se dispara después de un insert, update

o delete

Indica que el trigger se ejecutara una vez por cada fila que se inserte, actualice o borre

en la tabla tabla_empleados

Inserta un registro en la tabla auditoria_empleados

cada vez que se inserte en la tabla

Verifica si la operación es una

actualización

Verifica si la operación es una

eliminación

Inserta un registro en la tabla auditoria_empleados

cada vez que se actualice en la tabla

Inserta un registro en la tabla auditoria_empleados

cada vez que se elimine un registro en la tabla

TAREA: TRIGGER PARA CREAR

UNA TIENDA

La idea es que crees una tabla de productos y una donde se hagan los

registro de los trigger, puedes usar una secuencia para facilitarte las

cosas, pero lo mas importante es que tus trigger sean para diferentes

operaciones, como que los precios de producto no sean 0, o que haya un

trigger cuando se inserte un producto nuevo, por su puesto probar los

mismos verificando que se hayan registrado correctamente.