Está en la página 1de 11

Nombre de la materia

Bases de Datos

Nombre de la Licenciatura
Ingeniería en Sistemas Computacionales

Nombre del alumno


Antonio De Jesús Pascual Martínez

Matrícula
000575512

Nombre de la Tarea
Semana 6 Sintaxis de triggers y vistas

Unidad #6
Reglas de validación y programación

Nombre del Tutor


Martha Gabriela López Alegría

Fecha
13/08/2018
Unidad #: 6 Reglas de validación y programación
Bases de Datos

INTRODUCCION

Para ahorrarnos tiempo en las actualizaciones que requerimos de los datos y garantizar que nuestra base de
datos y los respaldos esten actualizados al dia con los movimientos que hemos realizado recientemente
debemos hacer un uso correcto de nuestra base de datos una de las mejores formas de hacerlo es usando
disparadores o Triggers, estos son capacez de llevar acabo ejecuciones de una terea especifica
automaticamente y corriendo en un segundo plano, asi por ejemplo al hacer la eliminacion o actualizacion de
algun registro en nuestra base de datos, automaticamente se actualiza o agregua otro registro que sea
necesario, ahorrandonos tiempo en hacerlo manualmente y ademas protegiendo de que la base de datos no
se vea afectada por ejemplo por el borrado de datos.

2
Unidad #: 6 Reglas de validación y programación
Bases de Datos

DESARROLLO

Tipos de Triggers.

 Triggers de tabla
Este disparador se activa cuando existe una acción DML en una tabla.
 Triggers de vista
Este disparador se activa al ejecutar una acción DML sobre una vista.
 Triggers de sistema
Este disparador se activa al producirse un evento en la base de datos

Para disparar los triggers se utiliza un código llamado PL/SQL, quien ejecuta las acciones que se
relacionan con la generación del disparador, las operaciones globales son centralizadas, creación
de reglas de integridad complejas, y generación automática de tareas administrativas.
Se deben de indicar varios parámetros para garantizar un correcto funcionamiento del Trigger.

Los principales eventos son INSERT, UPDATE, o DELETE. Si queremos lanzar un evento que
queremos que se lleve acabo antes o después utilizamos BEFORE o AFTER y si queremos que se
ejecute para vistas que no admiten instrucciones DML utilizaremos INSTEAD OF “en lugar de…”
También se deben de indicar el número de veces que queremos que se ejecute y si su tipo es de
instrucción (es la operación por defecto, se activan por cada evento solo una vez, y se activa
aunque la instrucción DML no produzca resultados), o de fila (por cada fila afectada por el evento se
activa una vez, un evento UPDATE desencadena un Trigger y si por ejemplo ejecuta 10 filas se
ejecuta una vez por fila)
Los Triggers de instrucción tienen la diferencia en las líneas:
 REFERENCING que nos permite para valores antiguos señalar un nombre y otro para los
nuevos.
Al ejecutar UPDATE modificamos valores antiguos (OLD) para los nuevos (NEW), estos comandos
nos posibilitan el acceso respectivamente a estos valores.

3
Unidad #: 6 Reglas de validación y programación
Bases de Datos

Por eso es que ya desde la función REFERENCING asignamos los valores NEW u OLD, para
referenciar determinada tabla.
 FOR EACH ROW esta ultima hace que el disparador sea de fila, ósea que su ejecución se
repite por cada fila afectada por la instrucción DML.Para que el disparador se ejecute en el
apartado WHEN, este pone una condición que deben de cumplir los registros, y solo lo harán con
las filas que cumplan dicha condición.

La instrucción BEGIN esta precedida del símbolo dos puntos (:) al valor NEW u OLD, :NEW.nombre
y :OLD.nombre . De esta forma cuando generamos un cambio se añade una fila por el registro
modificado cada vez que modificamos los registros de una tabla, cuando esto pasa se vuelven nulos
los valores OLD, y al borrar registros los NEW son los valores afectados.

Para que asociemos un disparador a un evento deberemos señalar el momento donde se ejecuta:

Evento Momento Se disparan


STARTUP after Después de arrancar la instancia
SHUTDOWN Before Antes de apagar la instancia
LOGON After Después de que el usuario se conecta a la base de datos
LOGOFF Before Antes de la conexión de un usuario
SERVERERROR Before/after Cuando ocurre un error en el servidor
CREATE Before/after Antes o después de crear un objeto en el esquema
DROP Before/after Antes o después de borrar un objeto en el esquema
ALTER Before/after Antes o después de cambiar un objeto en el esquema
TRUNCATE Before/after Antes o después de ejecutar un comando truncate
GRANT Before/after Antes o después de ejecutar un comando grant
REVOKE Before/after Antes o después de ejecutar un comando revoke
DLL Before/after Antes o después de ejecutar cualquier comando de definición de
datos

4
Unidad #: 6 Reglas de validación y programación
Bases de Datos

Sintaxis necesaria para crear un trigger

CREATE TRIGGER <nombre>


{BEFORE|AFTER}
{INSERT|UPDATE|DELETE}
ON
<tablename>
FOR EACH ROW
BEGIN
<sentenciasSQL>
END;

Ejemplo de trigger

1.- Para este ejemplo utilizaremos la herramienta Wampserver 2.0 y entraremos en la consola
de Mysql

5
Unidad #: 6 Reglas de validación y programación
Bases de Datos

2.-Creamos Base de datos con nombre “prueba”

3. Seleccionamos la base de Datos para utilizarla mysql> use prueba; Creamos la tabla
clientes

6
Unidad #: 6 Reglas de validación y programación
Bases de Datos

4. Creamos tabla “auditoria_clientes”, la cual utilizaremos para registrar los cambios, que
hamaos sobre la tabla clientes

5. Creamos tres trigger o disparadores.

 Trigger para insertar: Inserta_auditoria_clientes

7
Unidad #: 6 Reglas de validación y programación
Bases de Datos

 Trigger para modificar Modifica_auditoria_clientes

 Trigger para eliminar Elimina_auditoria_clientes

8
Unidad #: 6 Reglas de validación y programación
Bases de Datos

6.- Introduccion de datos en Tabla clientes

7.- este es el resultado en la Tabla clientes

9
Unidad #: 6 Reglas de validación y programación
Bases de Datos

9.- finalmente este es el resultado en la Tabla Auditoria_clientes

CONCLUSIONES

Gracias al conocimiento y la utilizacion de los triggers o disparadores tenemos una gran ayuda si
queremos modificar un gran numero de informacion automaticamente y a la vez evitar errores
humanos ya sea por que omitimos algo o simplemente por falta de atencion, es por esto que se hace
indispensable aplicar esta herramienta para poder crear una Base de Datos que sea profecional y a
su vez funcional, debemos de saber cual es la situacion y el momento correcto para usar cada uno
de los triggers para ayudarnos a controlar y reducir errores y problemas cuando operemos y
prestemos servicio como administradores de base de datos.

1
0
Unidad #: 6 Reglas de validación y programación
Bases de Datos

BIBLIOGRAFIA

Bases de datos Marqués, M. (2011).


http://gc.initelabs.com/syllabus/cloud/visor.php?container=L1IS106_1098_661_31895_0&obje
ct=Bases-de-Datos.pdf

Sistemas gestores de Bases de Datos Sánchez, J (2009).


http://gc.initelabs.com/syllabus/cloud/visor.php?container=L1IS106_1098_661_31896_0&obje
ct=Sistemas_gestores_de_Bases-de-Datos_2009-2010.pdf

Mysql: Trigger tipo Insert (La Salle, n.d).


https://youtu.be/PucZENTyYLU

mysql vistas (Davalillo, 2013).

1
1

También podría gustarte