SlideShare una empresa de Scribd logo
TRIGGERS Activadores Disparadores
Implementación de integridad definida por el usuario y/o reglas de negocio Restricciones y  reglas de integridad Activadores (Triggers) Para definir reglas sobre eventos sobre una tabla. Se activan automáticamente al ocurrir el evento (INSERT, UPDATE o DELETE) sobre la tabla y ejecuta acciones definidas en caso de cumplirse las condiciones especificadas. Procedimientos Almacenados Para definir reglas (lógica) sobre eventos en general. Se ejecutan desde aplicaciones o al ser invocados por un usuario de la base de datos.
Activadores  ( triggers ) Integridad definida por el usuario Se activan automáticamente al ocurrir el evento (INSERT, UPDATE o DELETE) sobre la tabla y ejecuta acciones definidas en caso de cumplirse las condiciones especificadas. Usos : Validación de datos : mayor flexibilidad que restricción CHECK. Condicionar la actualización de la base de datos  : activándose antes (BEFORE) de actualizar la BD, se evita innecesarios bloqueo de recursos y posibles recuperaciones al estado anterior de una transaccion (ROLLBACK). Integridad entre diversas tabla s : mayor flexibilidad que restricciones/reglas de integridad referencial pues no es necesario la existencia de llaves foráneas (recuérdese que las relaciones en un esquema relacional se definen a traves de los valores de los datos).
Activadores   (triggers) DB2 Integridad definida por el usuario >>-CREATE TRIGGER--activador---+-NO CASCADE BEFORE-+-------> +-AFTER-------------+ >--+-INSERT------------------------------+-ON--tabla----> +-DELETE------------------------------+ +-UPDATE--+-------------------------+-+ |  +-----,-----------+  | |  V  |  | +-OF----------columna--+--+ >--+---------------------------------------------------------+-> |  +--------------------------------------+  | |  V  +-AS-+  |  | +-REFERENCING------+-OLD-+----+--nombre-correlación---++--+ |  +-AS-+  |  +-NEW-+----+--nombre-correlación----+ |  +-AS-+  |  +-OLD_TABLE-+----+--identificador---+ |  +-AS-+  |  +-NEW_TABLE-+----+--identificador---+ >--+-FOR EACH ROW--------+--MODE DB2SQL---| acción-activada |-->< |  | +-FOR EACH STATEMENT--+
acción-activada |--+---------------------------------+--------------------------> +-WHEN--(--condición-búsqueda--)--+ >--+-sentencia-SQL-activada-----------------------------+------| |  +----------------------------+  | |  V  |  | +-BEGIN ATOMIC----sentencia-SQL-activada--;--+--END--+ Activadores (triggers) Integridad definida por el usuario
Activadores (triggers) Integridad definida por el usuario Integridad entre la tabla PERSONA y la tabla CARGO : Restricción definida: No  debe permitirse la actualización del dato bonificación (en PERSONA) si el valor que se pretende asignarle excede el porcentaje máximo  sobre su sueldo definido para el cargo ocupado (en CARGO) por la persona.
Activadores (triggers) Integridad definida por el usuario
Activadores (triggers) Integridad definida por el usuario
Activadores (triggers) Integridad definida por el usuario
¿Que son los Triggers y como usarlos en MySQL 5.0? Desde la salida de la versión 5 de MySql se pueden usar triggers en las bases de datos creadas con este manejador. Los eventos pueden ser las sentencias INSERT, DELETE, UPDATE que modifican los datos de una tabla. Los triggeres se pueden ejecutar antes (BEFORE) y/o después (AFTER) de que sean modificados los datos. Los triggers tienen dos palabras clave, OLD y NEW que se refieren a los valores que tienen las columnas antes y después de la modificación. Los INSERT permiten NEW, los DELETE sólo OLD y los UPDATE ambas. Un ejemplo de trigger seria uno asociado a la sentencia UPDATE en una tabla de clientes, para guardar los datos que se modifican de un cliente en otra base de datos que serviría de auditoria.
..... y finalmente un trigger que se disparará cada vez que alguien modifique un dato de la tabla clientes y lo guardará en una tabla junto al nombre del usuario y la fecha. CREATE TRIGGER trigger_auditoria_clientes AFTER UPDATE ON clientes     FOR EACH ROW    INSERT INTO auditoria_clientes(name, anterior_seccion, usuario, modificado )    VALUES (OLD.nombre, OLD.seccion, CURRENT_USER(), NOW() );   Crearemos la tabla de clientes  CREATE TABLE clientes(             id int not null auto_increment,             nombre varchar(100),             seccion varchar(10),             PRIMARY KEY(id),             KEY(nombre) ) ENGINE = InnoDB; Y una tabla que será la que guardará los datos de la &quot;auditoria&quot; CREATE TABLE auditoria_clientes (    id int not null auto_increment,    nombre varchar(100),    anterior_seccion varchar(10),    usuario varchar(40),    modificado datetime,    primary key(id) ) ENGINE = InnoDB;

Más contenido relacionado

PDF
Commit&rollback
PDF
Triggers o disparadores en MySQL
PPT
Disparadores
DOC
Procedimientos Almacenados
PDF
Programación MySQL-Ejercicios
PDF
51191625 triggers
PPTX
Disparadores Trigger En Sql Y My Sql
Commit&rollback
Triggers o disparadores en MySQL
Disparadores
Procedimientos Almacenados
Programación MySQL-Ejercicios
51191625 triggers
Disparadores Trigger En Sql Y My Sql

La actualidad más candente (20)

PPTX
MANEJO DE SENTENCIAS DE DEFINICION
PPTX
Triggers o disparadores
PDF
Triggers en BD mysql
PPTX
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
DOCX
Sesión02 - Creación de objetos (Oracle)
PPTX
Comandos utilizados en sql
PPT
Actualización de bases de datos en MySQL
DOCX
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
PPT
PDF
Taller de MySQL (DDL)
PPT
PPT
Sql Consultas MáS Complejas
PPTX
Otros Objetos de Esquemas Z051 Cap 12
PPT
Comandosql2
PPTX
SQL: DDL, DML y SQL
PPTX
Combinacion de consultas y consultas multitablas
DOCX
Sesión03 - Creación de objetos (Oracle)
DOCX
Ejercicio sql tienda informatica (1)
PDF
Guia de ejercicio sql
MANEJO DE SENTENCIAS DE DEFINICION
Triggers o disparadores
Triggers en BD mysql
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
Sesión02 - Creación de objetos (Oracle)
Comandos utilizados en sql
Actualización de bases de datos en MySQL
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Taller de MySQL (DDL)
Sql Consultas MáS Complejas
Otros Objetos de Esquemas Z051 Cap 12
Comandosql2
SQL: DDL, DML y SQL
Combinacion de consultas y consultas multitablas
Sesión03 - Creación de objetos (Oracle)
Ejercicio sql tienda informatica (1)
Guia de ejercicio sql
Publicidad

Destacado (20)

PPS
Clase Sql
PPS
Clase Sql2
PPT
SQL-DDL
PPT
Presentación SQL Server 2012
PPTX
Campus M21 | Medienpraxis II: Online - Vorlesung I vom 30.01.2013
PDF
KEY
Einführung in SCRUM
PPTX
Lean Kanban FR 2013 - Vin et kanban
PDF
Ligação do Flex a um backend LAMP usando AMFPHP
PPT
Apresentação Java Web Si Ufc Quixadá
PDF
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
PDF
Tutorialphpmyadmin
PPTX
Campus M21 | Medienpraxis II: Online - Vorlesung III vom 11.02.2013
PPTX
Campus M21 | Medienpraxis II: Online - Vorlesung I vom 31.01.2013
KEY
Présentation LMAX Disruptor So@t
PDF
ECM-Webinar: Alfresco Migration Bestandsdaten Teil 2
PPT
MySQL Query Optimization
PPTX
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01-rev.
PPTX
NotORM
PPTX
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Clase Sql
Clase Sql2
SQL-DDL
Presentación SQL Server 2012
Campus M21 | Medienpraxis II: Online - Vorlesung I vom 30.01.2013
Einführung in SCRUM
Lean Kanban FR 2013 - Vin et kanban
Ligação do Flex a um backend LAMP usando AMFPHP
Apresentação Java Web Si Ufc Quixadá
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
Tutorialphpmyadmin
Campus M21 | Medienpraxis II: Online - Vorlesung III vom 11.02.2013
Campus M21 | Medienpraxis II: Online - Vorlesung I vom 31.01.2013
Présentation LMAX Disruptor So@t
ECM-Webinar: Alfresco Migration Bestandsdaten Teil 2
MySQL Query Optimization
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01-rev.
NotORM
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Publicidad

Similar a Triggers (20)

PPTX
Sql triggers v3
PDF
BDDII T1-2_TalentoDeBasededatosparaminovia
PPTX
Triggers-Activadores
PPTX
SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOS
PPTX
Trigger - INSERT- Base de Datos 2 .pptx
DOCX
Manejo De Sentencias De Definicion
PPTX
PPTX
TRIGGER-ACTIVADORES
PPTX
TRIGGERS-ACTIVADORES
PPT
Funciones store proc_triggers
PDF
Teoria procedimientos almacenados
PDF
Capitulo 6
PDF
Manualitosqlserver
PDF
Vistas
PPT
Mejoras en T-SQL para SQL Server 2005
DOCX
Postgres trigger
PDF
Tutorial disparadores
PDF
Dbd triggers
PPTX
Vistazo a SQL Server 2016
PDF
Transacciones y sql procedural EN MySQL
Sql triggers v3
BDDII T1-2_TalentoDeBasededatosparaminovia
Triggers-Activadores
SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOS
Trigger - INSERT- Base de Datos 2 .pptx
Manejo De Sentencias De Definicion
TRIGGER-ACTIVADORES
TRIGGERS-ACTIVADORES
Funciones store proc_triggers
Teoria procedimientos almacenados
Capitulo 6
Manualitosqlserver
Vistas
Mejoras en T-SQL para SQL Server 2005
Postgres trigger
Tutorial disparadores
Dbd triggers
Vistazo a SQL Server 2016
Transacciones y sql procedural EN MySQL

Más de bdatos (7)

PPSX
Concursos de Radio Nacionales e Internacionales
PPS
Concursos de radio nacionales e internacionales
PPS
Cual rig es el mejor
PPS
Diseño Eficiente BD
PPS
IntroBD
PPS
Algebra Relacional
PPS
Modelo Relacional
Concursos de Radio Nacionales e Internacionales
Concursos de radio nacionales e internacionales
Cual rig es el mejor
Diseño Eficiente BD
IntroBD
Algebra Relacional
Modelo Relacional

Último (20)

PDF
CyberOps Associate - Cisco Networking Academy
PPTX
Presentación PASANTIAS AuditorioOO..pptx
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPTX
Presentación de Redes de Datos modelo osi
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PPT
Que son las redes de computadores y sus partes
PDF
clase auditoria informatica 2025.........
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PDF
taller de informática - LEY DE OHM
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
CyberOps Associate - Cisco Networking Academy
Presentación PASANTIAS AuditorioOO..pptx
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Influencia-del-uso-de-redes-sociales.pdf
Presentación de Redes de Datos modelo osi
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Estrategia de apoyo tecnología grado 9-3
Que son las redes de computadores y sus partes
clase auditoria informatica 2025.........
El-Gobierno-Electrónico-En-El-Estado-Bolivia
introduccion a las_web en el 2025_mejoras.ppt
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Plantilla para Diseño de Narrativas Transmedia.pdf
taller de informática - LEY DE OHM
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Propuesta BKP servidores con Acronis1.pptx
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
SAP Transportation Management para LSP, TM140 Col18
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN

Triggers

  • 2. Implementación de integridad definida por el usuario y/o reglas de negocio Restricciones y reglas de integridad Activadores (Triggers) Para definir reglas sobre eventos sobre una tabla. Se activan automáticamente al ocurrir el evento (INSERT, UPDATE o DELETE) sobre la tabla y ejecuta acciones definidas en caso de cumplirse las condiciones especificadas. Procedimientos Almacenados Para definir reglas (lógica) sobre eventos en general. Se ejecutan desde aplicaciones o al ser invocados por un usuario de la base de datos.
  • 3. Activadores ( triggers ) Integridad definida por el usuario Se activan automáticamente al ocurrir el evento (INSERT, UPDATE o DELETE) sobre la tabla y ejecuta acciones definidas en caso de cumplirse las condiciones especificadas. Usos : Validación de datos : mayor flexibilidad que restricción CHECK. Condicionar la actualización de la base de datos : activándose antes (BEFORE) de actualizar la BD, se evita innecesarios bloqueo de recursos y posibles recuperaciones al estado anterior de una transaccion (ROLLBACK). Integridad entre diversas tabla s : mayor flexibilidad que restricciones/reglas de integridad referencial pues no es necesario la existencia de llaves foráneas (recuérdese que las relaciones en un esquema relacional se definen a traves de los valores de los datos).
  • 4. Activadores (triggers) DB2 Integridad definida por el usuario >>-CREATE TRIGGER--activador---+-NO CASCADE BEFORE-+-------> +-AFTER-------------+ >--+-INSERT------------------------------+-ON--tabla----> +-DELETE------------------------------+ +-UPDATE--+-------------------------+-+ | +-----,-----------+ | | V | | +-OF----------columna--+--+ >--+---------------------------------------------------------+-> | +--------------------------------------+ | | V +-AS-+ | | +-REFERENCING------+-OLD-+----+--nombre-correlación---++--+ | +-AS-+ | +-NEW-+----+--nombre-correlación----+ | +-AS-+ | +-OLD_TABLE-+----+--identificador---+ | +-AS-+ | +-NEW_TABLE-+----+--identificador---+ >--+-FOR EACH ROW--------+--MODE DB2SQL---| acción-activada |-->< | | +-FOR EACH STATEMENT--+
  • 5. acción-activada |--+---------------------------------+--------------------------> +-WHEN--(--condición-búsqueda--)--+ >--+-sentencia-SQL-activada-----------------------------+------| | +----------------------------+ | | V | | +-BEGIN ATOMIC----sentencia-SQL-activada--;--+--END--+ Activadores (triggers) Integridad definida por el usuario
  • 6. Activadores (triggers) Integridad definida por el usuario Integridad entre la tabla PERSONA y la tabla CARGO : Restricción definida: No debe permitirse la actualización del dato bonificación (en PERSONA) si el valor que se pretende asignarle excede el porcentaje máximo sobre su sueldo definido para el cargo ocupado (en CARGO) por la persona.
  • 7. Activadores (triggers) Integridad definida por el usuario
  • 8. Activadores (triggers) Integridad definida por el usuario
  • 9. Activadores (triggers) Integridad definida por el usuario
  • 10. ¿Que son los Triggers y como usarlos en MySQL 5.0? Desde la salida de la versión 5 de MySql se pueden usar triggers en las bases de datos creadas con este manejador. Los eventos pueden ser las sentencias INSERT, DELETE, UPDATE que modifican los datos de una tabla. Los triggeres se pueden ejecutar antes (BEFORE) y/o después (AFTER) de que sean modificados los datos. Los triggers tienen dos palabras clave, OLD y NEW que se refieren a los valores que tienen las columnas antes y después de la modificación. Los INSERT permiten NEW, los DELETE sólo OLD y los UPDATE ambas. Un ejemplo de trigger seria uno asociado a la sentencia UPDATE en una tabla de clientes, para guardar los datos que se modifican de un cliente en otra base de datos que serviría de auditoria.
  • 11. ..... y finalmente un trigger que se disparará cada vez que alguien modifique un dato de la tabla clientes y lo guardará en una tabla junto al nombre del usuario y la fecha. CREATE TRIGGER trigger_auditoria_clientes AFTER UPDATE ON clientes    FOR EACH ROW    INSERT INTO auditoria_clientes(name, anterior_seccion, usuario, modificado )    VALUES (OLD.nombre, OLD.seccion, CURRENT_USER(), NOW() );   Crearemos la tabla de clientes CREATE TABLE clientes(             id int not null auto_increment,             nombre varchar(100),             seccion varchar(10),             PRIMARY KEY(id),             KEY(nombre) ) ENGINE = InnoDB; Y una tabla que será la que guardará los datos de la &quot;auditoria&quot; CREATE TABLE auditoria_clientes (    id int not null auto_increment,    nombre varchar(100),    anterior_seccion varchar(10),    usuario varchar(40),    modificado datetime,    primary key(id) ) ENGINE = InnoDB;