Sunteți pe pagina 1din 6

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES


DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #7

Facilitador(a): Cristian Pinzón Asignatura: Base de Datos II (8399)


Estudiante: Fecha: 28/10/2016 Grupo:

A. TÍTULO DE LA EXPERIENCIA
Programando: Disparadores (Triggers)

B. TEMAS:
 Tema #6: Disparadores

C. OBJETIVO(S):
 Estudiar los Disparadores en Lenguaje SQL y su aplicación en la programación

D. RECURSOS:
 Microsoft Transact SQL (T-SQL)
 Computadora
 Proyector Multimedia
 Diapositivas en Power Point
 Material utilizado por el profesor

E. RÚBRICAS:
Criterio Ponderación (100%)
Calidad en la presentación del laboratorio 20%
Calidad del contenido del Laboratorio 60%
Puntualidad en la entrega de la tarea 20%

Ponderación
Criterio Indicadores a evaluar en el criterio (100%)

A. Calidad en la  Calidad en la presentación y formalidad del


presentación del informe de laboratorio. Hoja de presentación 20%
laboratorio y estructura del informe
B. Calidad del  Contenido del Laboratorio. Todos los
contenido del problemas resueltos 60%
laboratorio
C. Puntualidad en
 Fecha puntual en la entrega del Informe del
la entrega del 20%
Laboratorio.
laboratorio
Evaluación Final 100%
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #7

F. ENUNCIADO DE LA EXPERIENCIA O PROCEDIMIENTO:

Los estudiantes realizarán el laboratorio de Disparadores (Triggers) en SQL utilizando el Microsoft SQL Server. La
base de Datos propuesta para el laboratorio es la base de Datos BD_ACADEMICA y la Base de Datos
DB_Empresa_XYZ. Los script de creación y carga están disponible en la plataforma Dropbox.

Con este trabajo se da un seguimiento a la parte teórica, dada en clases, y se desarrolla un enfoque práctico del
laboratorio entendiendo el comportamiento de los Disparadores.

Cómo evidencia del trabajo, los estudiantes resolverán cada problema y realizarán capturas de pantalla donde se
presente los resultados de los problemas tanto los resueltos como los propuestos. Finalizado el laboratorio, los
estudiantes subirán de forma individual su laboratorio a través del formulario web habilitado.

Problemas Resueltos
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema Resuelto #1. Explique qué hace el siguiente código del Disparadores.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--Creación de la Tabla a Eliminar


CREATE TABLE TB_HORARIO
(
Cod_Horario int not null primary key,
Descripcion_horario varchar (50) not null,
)
GO
--Creación del Trigger
CREATE TRIGGER TR_SEGURIDAD_BD
ON DATABASE FOR DROP_TABLE, ALTER_TABLE

AS
BEGIN
RAISERROR ('No está permitido borrar ni modificar tablas!',
16, 1)
ROLLBACK TRANSACTION
END
GO
--Eliminando el Disparador
DROP TABLE TB_HORARIO
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #7

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema Resuelto #2. Explique qué hace el siguiente código del Disparadores.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CREATE TRIGGER TR_Insertar_Nuevo_Registro_Facultad


ON TB_FACULTAD
FOR INSERT
AS
PRINT 'Se ha adicionado nuevo Registro en la Tabla Facultad.'
GO

--Probando el Trigger. Insertando nuevo registro.


INSERT INTO TB_FACULTAD (Cod_Facultad, Nombre_Facultad)
VALUES (115, 'Facultad de Ingeniería en Sistemas Computacionales')
GO

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema Resuelto #3. Explique qué hace el siguiente código del Disparadores.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CREATE TRIGGER TR_Insertar_Nuevo_Registro_Facultad


ON TB_FACULTAD
FOR INSERT
AS
PRINT 'Se ha adicionado nuevo Registro en la Tabla Facultad.'
GO

--Probando el Trigger. Insertando nuevo registro.


INSERT INTO TB_FACULTAD (Cod_Facultad, Nombre_Facultad)
VALUES (115, 'Facultad de Ingeniería en Sistemas Computacionales')
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #7

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema Resuelto #4. Explique qué hace el siguiente código del Disparadores.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CREATE TABLE DB_INSERCION_REGISTRO


(
IdRegistro INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
Fecha_Hora DATETIME NOT NULL DEFAULT (GETDATE()),
Usuario VARCHAR(60) NOT NULL DEFAULT (USER_NAME()),
Accion VARCHAR(50) NOT NULL,
Descripcion VARCHAR(500) NOT NULL
)
GO

INSERT INTO DB_INSERCION_REGISTRO(Accion, Descripcion)


VALUES('Prueba de Almacenamiento', 'Insertar')
GO

SELECT * FROM DB_INSERCION_REGISTRO


GO

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema Resuelto #5. Explique qué hace el siguiente código del Disparadores.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Creación de un desencadenador AFTER INSERT.
CREATE TRIGGER Tr_Insercion_Facultad
ON TB_FACULTAD
AFTER INSERT
AS
BEGIN
DECLARE @nombre_facultad VARCHAR(60)
SELECT @nombre_facultad = TB_FACULTAD.Nombre_Facultad
FROM INSERTED TB_FACULTAD
INSERT INTO DB_INSERCION_REGISTRO (Accion,
Descripcion)
VALUES ('Inserción de datos',
'Se ha insertado un nuevo registro en
la tabla facultad con el nombre: ' +
@nombre_facultad)
END
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #7

-- Insertando nuevos registros


INSERT INTO TB_FACULTAD (Cod_Facultad, Nombre_Facultad)
VALUES (145, 'Facultad de Astronomia')

Problemas Propuestos
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema #1. Resuelva el problema propuesto en Lenguaje SQL
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Escriba el código SQL que permita darle mantenimiento a la base de datos.


A través de un procedimiento almacenado se debe eliminar las
calificaciones de un curso y al mismo tiempo, a través de un evento de
un disparador, eliminar el curso correspondiente. Se debe pasar como
parámetro de entrada, del procedimiento almacenado, el código del curso
de las calificaciones a eliminar.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema #2. Resuelva el problema propuesto en Lenguaje SQL
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Escriba el código de un Disparador que permita una vez actualizado
el nombre de la carrera, actualizar todos los correos de los
estudiantes afiliados a la carrera actualizada. El Correo
Electrónico debe quedar con el nuevo nombre de la carrera más el
servidor '@utp.ac.pa'.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problema #3. Resuelva el problema propuesto en Lenguaje SQL
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Escriba el código de un Disparador que permita actualizar el año a todos
los registros de un curso para un docente en un año y semestre concreto
disparando el evento desde un procedimiento almacenado. Se deben pasar
como parámetros de entrada del procedimiento almacenado: El año a
corregir, el nuevo año, el código del docente y el semestre. Luego desde
un Trigger se debe actualizar todas las calificaciones de los estudiantes
matriculados en ese curso, asignando como calificación cero (0).
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #7

G. RESULTADOS:
 Conocimiento sobre la programación de Procedimientos Almacenados en el desarrollo de
aplicaciones de software con Transact SQL.

H. CONSIDERACIONES FINALES:
Opinión del estudiante sobre el logro del objetivo y el desarrollo de la experiencia.

S-ar putea să vă placă și