Você está na página 1de 13

Administracin de Sistemas

Gestores de Base de Datos


Prueba Prctica de Triggers

Antonio Esteban Lpez Prez 2 ASIR SEMI

Antonio Esteban Lpez Prez 2 ASIR SEMI

Administracin de Sistemas
Gestores de Base de Datos
Prueba Prctica de Triggers

Previo ............................................................................................ 2
Ejercicio 1 ....................................................................................... 4
Ejercicio 2 ....................................................................................... 6
Ejercicio 3 ....................................................................................... 7
Ejercicio 4 ....................................................................................... 9
Ejercicio 5 ..................................................................................... 12

Antonio Esteban Lpez Prez 2 ASIR SEMI

Previo
Previo
Crear Base de datos Cursos
Crear Tablas matriculas y alumnos con los campos que se consideres necesarios

Creamos la BBDD y las tablas

Antonio Esteban Lpez Prez 2 ASIR SEMI


y Creamos varios registros

Antonio Esteban Lpez Prez 2 ASIR SEMI

Ejercicio 1
Crea un trigger que cuente las matriculas que se van dando de alta por sesin. El
procedimiento debe mostrar el resultado cada vez que se realice una llamada al
mismo desde la consola.
Usamos una variable global para llevar la cuenta de inserciones
Dentro del trigger debemos comprobar si la variable existe, sino la creamos

Si vemos su contenido est a null porque no ha sido creada

Como se puede ver, funciona. Hemos agragado 4 registros y se actualiza la variable


(se ha creado sola).
4

Antonio Esteban Lpez Prez 2 ASIR SEMI

Antonio Esteban Lpez Prez 2 ASIR SEMI

Ejercicio 2
Modifica la tabla alumnos aadiendo un campo que sea IBAN y crea un trigger que
inserte un valor en dicho campo cada vez que se d de alta un nuevo alumno.
El valor insertado ser ES00 + entidad (campo entidadalu de la tabla alumno) +
sucursal (campo sucursalalu de la tabla alumno) + nmero de cuenta (campo
numcuentaalu de la tabla alumno).
Agregamos un nuevo campo

Creamos el trigger para modificar el campo new.iban ANTES de la insercin:

Al insertar 2 registros vemos que el trigger actualiza el campo a 0 con la


concactenacin

Antonio Esteban Lpez Prez 2 ASIR SEMI

Ejercicio 3
Crea una nueva tabla en la base de datos que se llame estadstica_alumnos y que
tenga los campos fecha y nmero alumnos. Esta tabla recoger los alumnos dados
de alta en una fecha determinada. Para insertar datos en la tabla crear un trigger
que inserte nuevos registros o, en su defecto, modifique los ya existentes, cada vez
que se inserte un nuevo alumno en la tabla alumnos.
Creamos la tabla con dos campos, fecha y numalumnos, muy sencilla.
Este es el trigger de insercin en Alumnos. Si exite un registro en la tabla estadsticas
lo cactualizamos y si no no existe lo creamos:

Insertamos 2 alumnos y vemos que se crea el registro a la fecha de hoy (la fecha de la
mq virtual est mal, es de septiembre).

Antonio Esteban Lpez Prez 2 ASIR SEMI

Antonio Esteban Lpez Prez 2 ASIR SEMI

Ejercicio 4
Crea una nueva tabla en la base de datos que nos permita hacer una auditora de
los cambios realizados en la tabla matriculas.
Crear los triggers necesarios para insertar datos en dicha tabla cada vez que un
usuario modifique, inserte o borre datos en la tabla. Los campos de la nueva tabla
recogern los valores antiguos, los valores nuevos, el usuario que realiza la
modificacin, la fecha y hora en la que se realiza la modificacin y la accin
realizada (INSERT, UPDATE o DELETE).
Creamos la tabla:

Eliminamos el trigger creado para el ejercicio 1 (solo puede haber un trigger por
accin)
Primero creamos el de INSERCIN en matriculas

Probamos a insertar dos registros:

Antonio Esteban Lpez Prez 2 ASIR SEMI

Funciona!! Ahora vamos a realizar el de modificacin que es CASI igual:

Modificamos un registro y vemos que se crea el registro correspondiente:

10

Antonio Esteban Lpez Prez 2 ASIR SEMI


El trigger de DELETE:

Borramos los dos regstros creados previamnte:

11

Antonio Esteban Lpez Prez 2 ASIR SEMI

Ejercicio 5
Crear un evento para que a partir de 01-01-2015 , cada mes se registren en una
tabla llamada segundo los alumnos de segundo curso que se hayan modificado en
menos de 30 dias
Creamos el evento programado filtrando los registros:

Con fecha de modificacin menor de 30 dias con DATEDIFF


Cuya accin es UPDATE (nada de INSERT o DELETE)
Cuyo nuevo curso es segundo (todos los que empiezan por 2)

12

Você também pode gostar