UPC
DISEÑO DE BASE DE DATOS
Carrera : Ingeniería de Sistemas de Información / Ingeniería de Software / Ciencias de
la Computación
Curso : Diseño de Base de Datos
PRACTICA DIRIGIDA 11
Trabajando con la base de datos Northwind elabore las siguientes Funciones, Procedimientos y
Triggers
1. Crear una función que devuelva el numero de empleados
2. Crear una función que devuelva el número de subordinados un jefe (Empleado)
3. Crear una función que liste el número de ordenes por empleado, si solo se conoce parte del
nombre del empleado.
4. Crear una función que liste para un País (Parámetro de entrada), el Nombre de la compañía,
Ciudad, País, Nombre de Producto, Cantidad, Precio Unitario y Descuento de Producto.
5. Ejecute la función Cos(0), luego la función Getdate( ) repetidas veces
6. Crear un procedimiento almacenado que liste el nombre de la compañía, nombre del
contacto, ciudad y número de teléfono de los clientes
7. Crear un procedimiento almacenado que actualice el precio unitario de los productos en un
determinado porcentaje para una categoría. (Parámetros % = real, categoria = entero)
8. Modificar el anterior procedimiento de tal modo que el parámetro de porcentaje sea entero
9. Crear un trigger que notifique en una tabla eventos(fecha, motivo), si las unidades en stock
de la(s) tupla(s) de tabla PRODUCTS es menor a 5.
En la entidad eventos, fecha de tipo “DATETIME” y motivo de tipo Varchar(255)
10. Sean las dos tablas siguientes:
DEPT (N_DEPT, LOCALIDAD, … , NUM_EMP)
EMP (COD_EMP, NOMBRE, N_DEPT)
Con Clave Foranea EMPLEADO.N_DEPT --->DEPT, e implemente los siguientes
triggers y explique la accion que realizan.
CREATE TRIGGER borrar_emp
AFTER DELETE ON emp
FOR EACH ROW
(UPDATE dep.num_emp = det.num_emp -1
WHERE dept. n_dept = emp.n_dept);
CREATE TRIGGER insertar_emp
AFTER INSERT ON emp
FOR EACH ROW
(UPDATE dept.num_emp = dept.num_emp + 1
WHERE dept.n_dept = emp.n_dept);