martes, febrero 26, 2013

Actividad para V Sistemas

Investigar el siguiente tema:

Implementación de Aplicaciones con Triggers en MySQL
Haga un ejemplo en donde se compruebe un Triggers

18 comentarios:

Anónimo dijo...

Sirve para simular un deshacer de una tabla, trigger que guarda de forma automática los valores de los campos anteriores y los nuevos valores en caso de modificación de un registro. Cómo crear, eliminar y mostrar triggers en MySQL.
Un trigger o disparador en una Base de datos, procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.

Anónimo dijo...

Implementación de Aplicaciones con Triggers en MySQL

MySQL incorpora disparadores, o como lo llaman los angloparlantes y los entendidos del tema ‘triggers’. Se trata de un objeto de base de datos asociado a una tabla que se activa cuando se produce un evento previamente especificado en la tabla indicada (hasta el momento los eventos válidos son INSERT, UPDATE y DELETE). Estos objetos eran ya habituales en otros sistemas de base de datos, y MySQL los implementó entre otras cosas por petición popular. La verdad es que estos disparadores pueden ahorrarnos trabajo y líneas de código.
Ejemplo:

La sintaxis para crear un disparador en MySQL es la siguiente:

CREATE TRIGGER nombre_disp {BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON nombre_tabla FOR EACH ROW sentencia_disp

La sintaxis para borrarlo es:

DROP TRIGGER nombre_disp

Nombre: Jean Carlos Toa

Anónimo dijo...

DIEGO SANCHEZ
5TO SISTEMAS
Sirve para simular un deshacer de una tabla, trigger que guarda de forma automática los valores de los campos anteriores y los nuevos valores en caso de modificación de un registro. Cómo crear, eliminar y mostrar triggers en MySQL.
Un trigger o disparador en una Base de datos, procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.

Anónimo dijo...

Alumno: Gustavo Pullupaxi
IMPLEMENTACIÓN DE APLICACIONES CON TRIGGERS EN MYSQL

Los triggers o disparadores son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) (inserciones, modificaciones, borrados, creación de tablas, etc.).
Unas opciones no muy usadas cuando se trabaja con MySQL son los triggers y los procedimientos almacenados (stored procedures), supongo que a que es algo nuevo en MySQL y la gente no está acostumbrada a estas dos funcionalidades.
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.
CREATE TABLE `ventas` (
`vendedor` int(11),
`producto` int(11),
`importe` float
)
CREATE TABLE `comisiones` (
`vendedor` int(11),
`comision` float
)

Anónimo dijo...

Mylena Rodríguez
Los Triggers son simplemente procedimientos guardados en la base de datos que se ejecutan antes (BEFORE) y/o después (AFTER) de algún(os) eventos (INSERT, DELETE, UPDATE) sobre la tabla que fue asociada al trigger.
Tienen dos palabras claves, OLD y NEW que simbolizan los valores anteriores o nuevos de la columna.
• Los INSERT permiten NEW
• Los DELETE sólo OLD
• Los UPDATE ambas, NEW y OLD.
• DELIMITER $$: Cambiamos el delimitador a ‘$$’ para poder usar ; en el medio sin cerrar el CREATE TRIGGER.
• CREATE TRIGGER ‘actualizoPuntaje’: Esto crea el trigger, y obviamente le ponemos un nombre para identificarlo.
• AFTER INSERT ON Votos: Aca decimos que esto se dispare luego (after) de un INSERT en la tabla Votos.
• FOR EACH ROW BEGIN: Hacemos un foreach por todos los ROWS afectados (recuerden que un insert puede ser múltiple) y finalmente BEGIN señala el comienzo de nuestro código.
• UPDATE Articulos SET puntaje = (SELECT AVG(puntos) FROM Votos WHERE articuloID = NEW.articuloID ) WHERE id = NEW.articuloID; : Hacemos un update de la tabla Articulos, seteando el campo puntaje con el promedio de todos los “puntos” en la tabla Votos del articulo, el objeto NEW representa a los nuevos datos, así que si queremos saber el id del articulo, es NEW.articuloID, en el caso de la instrucción UPDATE también contamos con OLD.
• END$$: Termina el CREATE TRIGGER.
• Así se puede de todo, sin tocar una linea de código de la página y obviamente tiene sus ventajas, por ejemplo, estamos seguros que si o si se va a realizar la acción, y no tenemos el problema de olvidarnos.

Anónimo dijo...

Un trigger o disparador en una Base de datos , es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.
Los triggers son usados para mejorar la administración de la Base de datos,Además, pueden generar valores de columnas, pueden prevenir errores de datos, sincronizar tablas, modificar valores de una vista, auditorías de seguridad, etc.

La estructura básica de un trigger es:
Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar.

Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional o de tipo nulidad.
Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.
Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.


Nombre: juan alarcon

Anónimo dijo...

Alan Lopez

Objetos relacionados con tablas y almacenados en la base de datos se ejecutan o se muestran cuando sucede algún evento
Los eventos pueden ser las sentencias INSERT, DELETE, UPDATE

Unknown dijo...

Triggers MySQL
Nombre: Alexis Pilco
Carrera: 5to Sistemas
Otra de las nuevas características incluidas en MySQL, además de los procedimientos almacenados, son los triggers, que traducido sería algo así como disparadores, son oyentes, que se mantienen a la escucha de los eventos que puedan producirse en una tabla (insert , update y delete) y ejecutan un código antes (before) o después (after) de que se produzca este evento.
Con los triggers podemos hacer cosas tan interesantes como mantener un log de que usuarios hace modificaciones en una tabla, que usuarios borran registros, o insertan, o lo que se te ocurra.
Para referenciar las columnas de antes y después de que el vento se haya disparado, se usan las palabras clave OLD y NEW. Con la sentencia insert solo se permite NEW, con update se permiten ambas y con delete solo OLD.
Sintaxis necesaria para crear un trigger
CREATE TRIGGER
{BEFORE|AFTER}
{INSERT|UPDATE|DELETE}
ON
FOR EACH ROW
BEGIN
END;

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...

Eduardo Diaz

Triggers SQL

Los triggers o disparadores son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) (inserciones, modificaciones, borrados, creación de tablas, etc).
Usos
Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute la sentencia de SQL. Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc. Permite implementar programas basados en paradigma lógico (sistemas expertos, deducción).
Componentes principales
La estructura básica de un trigger es:
• Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar.
• Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional o de tipo nulidad.
• Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.

EJEMPLO

Ejemplo
Un sencillo ejemplo (para SQL Server) sería crear un Trigger para insertar un pedido de algún producto cuando la cantidad de éste, en nuestro almacén, sea inferior a un valor dado.
BEFORE UPDATE ON tabla_almacen
FOR ALL records
IF :NEW.producto < 100 THEN
INSERT INTO tabla_pedidos(producto) VALUES ('1000');
END IF;
SELECT DBO.POLVE.TEST
END



Anónimo dijo...

Moisés Andrade
¿Qué son los triggers?
Son bloques de código que se ejecutan al realizar un evento en un campo de una tabla. Código para crear CREATE TRIGGER nombre_trigger momento evento ON nombre_tabla ON EACH ROW sentencia. Para Borrar drop trigger nombre_trigger;
Los triggers solo pueden ser borrados por un usuario capaz de crearlos (ROOT o SUPER)

Anónimo dijo...

Implementación de Aplicaciones con Triggers en MySQL
Nombre: Jenyfer Utitiaja

Son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) inserciones, modificaciones, borrados, creación de tablas, etc.Los eventos pueden ser un INSERT, un UPDATE o un DELETE de datos de la tabla, y podemos detallar si queremos que los pasos se dén antes (BEFORE) del evento o después (AFTER) del evento.

CREATE TRIGGER trigger_auditoria_clientes AFTER UPDATE ON clientes
FOR EACH ROW
BEGIN
INSERT INTO auditoria_clientes(nombre, anterior_ejecutivo_cuenta, usuario, cambiado)

Anónimo dijo...

Trigger (disparador)
Es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE).
Pueden prevenir errores de datos, sincronizar tablas, modificar valores de una vista, auditorías de seguridad, etc.
Su estructura
• Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar.
• Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional o de tipo nulidad.
• Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.
Tipos
• Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
• Statement Triggers (o disparadores de secuencia): son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
Nombre: Fabiola Guaranda

Anónimo dijo...

Alexis Diaz

Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute sentencias de SQL determinadas para tal efecto.
Para crear un trigger o disparador en MySQL Server se debe usar alguna aplicación que permita ejecutar sentencias SQL, por ejemplo MySQL Administrator con MySQL Query Browser.
Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.

Ejemplo sería crear un Trigger para insertar un pedido de algún producto cuando la cantidad de éste, en nuestro almacén, sea inferior a un valor dado.
BEFORE UPDATE ON tabla_almacen
FOR ALL records
IF :NEW.producto < 100 THEN
INSERT INTO tabla_pedidos(producto) VALUES ('1000');
END IF;
SELECT DBO.POLVE.TEST
END

Anónimo dijo...

Nombre:Javier Noboa


Unas opciones no muy usadas cuando se trabaja con MySQL son los triggers y los procedimientos almacenados (stored procedures), supongo que a que es algo nuevo en MySQL y la gente no está acostumbrada a estas dos funcionalidades.

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.

CREATE TABLE `ventas` (
`vendedor` int(11),
`producto` int(11),
`importe` float
)
CREATE TABLE `comisiones` (
`vendedor` int(11),
`comision` float
)

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 (esto es una justificación para no usar un cron o algo parecido).

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. Todo se realizará en un procedimiento almacenado.

DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`sp_comisiones`$$
CREATE PROCEDURE `test`.`sp_comisiones` (IN mivendedor INT)
BEGIN
DECLARE micomision INT DEFAULT 0;
DECLARE suma INT;
DECLARE existe BOOL;
select IFNULL(sum(importe),0) into suma from ventas where producto = 1 and vendedor = mivendedor;
SET micomision = micomision + (suma * 0.15);
select IFNULL(sum(importe),0) into suma from ventas where producto = 2 and vendedor = mivendedor;
SET micomision = micomision + (suma * 0.1);
select IFNULL(sum(importe),0) into suma from ventas where producto = 3 and vendedor = mivendedor;
SET micomision = micomision + (suma * 0.2);
select count(1)>0 into existe from comisiones where vendedor = mivendedor;
if existe then
UPDATE comisiones set comision = comision+micomision where vendedor = mivendedor;
else
insert into comisiones (vendedor, comision) values (mivendedor, micomision);
end if;
END$$
DELIMITER ;

Anónimo dijo...

Trigger (disparador)

Un trigger o disparador en una Base de datos , es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.
Los triggers son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute sentencias de SQL determinadas para tal efecto.

La estructura básica de un trigger es:
Llamada de activación.
Restricción.
Acción a ejecutar.

Existen dos tipos de disparadores:
Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.

__________________________________________________
EJEMPLO DE UN TRIGGER

CREATE TABLE log_accesos
(
codigo int(11) NOT NULL AUTO_INCREMENT,
usuario varchar(100),
fecha datetime,
PRIMARY KEY (`codigo`)
)
ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1

delimiter $$
CREATE TRIGGER ajsoluciones.tg_auditoria_accesos
BEFORE INSERT ON ajsoluciones.factura
FOR EACH ROW
BEGIN
INSERT INTO ajsoluciones.log_accesos (usuario, fecha)
values (CURRENT_USER(), NOW());
END$$
delimiter ;

Anónimo dijo...

- LUIS CAMBAL -

Trigger (disparador)

Un trigger o disparador en una Base de datos , es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.
Los triggers son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute sentencias de SQL determinadas para tal efecto.

La estructura básica de un trigger es:
Llamada de activación.
Restricción.
Acción a ejecutar.

Existen dos tipos de disparadores:
Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.

__________________________________________________
EJEMPLO DE UN TRIGGER

CREATE TABLE log_accesos
(
codigo int(11) NOT NULL AUTO_INCREMENT,
usuario varchar(100),
fecha datetime,
PRIMARY KEY (`codigo`)
)
ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1

delimiter $$
CREATE TRIGGER ajsoluciones.tg_auditoria_accesos
BEFORE INSERT ON ajsoluciones.factura
FOR EACH ROW
BEGIN
INSERT INTO ajsoluciones.log_accesos (usuario, fecha)
values (CURRENT_USER(), NOW());
END$$
delimiter ;

- LUIS CAMBAL -

Anónimo dijo...

Implementación de Aplicaciones con Triggers en MySQL

Trigger (disparador)
Un trigger o disparador en una Base de datos , es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE).

Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:

Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.

2:) ejemplo en donde se compruebe un Triggers

CREATE TRIGGER jefes
BEFORE INSERT OR UPDATE OF cojefe ON Empleado
FOR EACH ROW
DECLARE supervisa INTEGER;
BEGIN
/*Seleccionar empleados que supervisa el jefe*/
/*Comprobar si supervisa > 5 empleados*/
END;

NOMBRE:HENRY CAMBAL
CURSO 5to SISTEMAS