Laboratorio de Bases de Datos Jonathan Medina Gómez Práctica 1: Cursores y manejo de Excepciones Fecha de Entrega: 24 de Noviembre 2015 (En clase) 1. (1 punto) Escriba un bloque PL/SQL que cree las siguientes tablas (Asigne según su criterio el tipo de dato de cada atributo y la unicidad y obligatoriedad de los mismos). Producto Productor Venta ID * ID * ID * Descripcion Direccion Fecha Nombre Productor_id ** Nombre Producto_id *** Cantidad Cantidad Precio *Clave Primaria **Clave foránea a Productor ***Clave foránea a Producto 2. (2.5 puntos) Realice un bloque PL/SQL para resolver cada una de las siguientes consultas. (No utilice JOINS de SQL, si necesita relacionar tablas hágalo por medio de cursores y variables de PL/SQL, utilice sólo lo visto en clase). 2.1 Imprima en pantalla el nombre y la descripción del producto que más se ha vendido. 2.2 Imprima en pantalla el nombre de todos los productos existentes ordenados por su ID. 2.3 Imprima en pantalla para cada productor: Su nombre, el número de productos que ofrece y el nombre y precio de cada uno de ellos. 2.4 Imprima en pantalla todas las ventas (ID, Fecha, Cantidad y Nombre del Producto) que ha realizado el productor con ID = XXX entre dos fechas dadas. 2.5 Imprima en pantalla los productos que no tiene registrada ninguna venta ordenados por su precio de menor a mayor. 3. (0.75 puntos) Realice un bloque PL/SQL para cumplir la siguiente restricción del sistema: “Cuando un producto tiene una cantidad inferior a 10 unidades, su precio se incrementa en un 5%” (Use la cláusula CURRENT OF dentro del cursor con el cual recorrerá la tabla de productos). 4. (0.75 puntos) Realice un bloque PL/SQL que imprima el nombre de cada producto, además: Si el precio del producto es mayor al promedio de todos los productos del sistema, imprimir “Producto con precio mayor al promedio” Si el precio del producto es menor o igual al promedio de todos los productos del sistema, imprimir “Producto con precio menor o igual al promedio”. Nota: Tenga en cuenta que para cada bloque creado debe manejar correctamente TODAS las excepciones que puedan ocurrir durante la ejecución.
© Copyright 2024