taller de base de datos Procedimientos y bloques anónimos PL/SQL. 1. Desarrollar un procedimiento almacenado que permita insertar un registro en en la tabla sección previo a insertar deberá verificar que el numero de secciones asignadas al profesor no sobrepase las 8 secciones. (mensaje “numero de secciones sobrepasadas”) (3 ptos). 2. Desarrollar un procedimiento almacenado que permita borrar asignaciones de un alumno (tabla se_asigna), deberá verificar que el numero de secciones no baje de 2 asignaciones por alumno (3 ptos). 3. Desarrollar un procedimiento almacenado que permita mostrar las secciones que tiene asignado un profesor, ademas deberá de contar el numero de asignaturas que imparte esto ultimo será un parámetro de salida del procedimiento(out) (4 ptos). 4. Realizar un bloque anónimo que permita catalogar a un profesor según el numero de asignaturas que imparte (deberá de utilizar el procedimiento anterior) (4 ptos). • Si el numero de asignaturas que imparte es superior a 4 “sobrecargado” • Si el numero de asignaturas que imparte es menor a 4 y superior a 2 normal”. • Si el numero de asignaturas es menor o igual a 2 “Baja carga”. “Carga 5. Desarrollar un procedimiento que permita calcular el pago por asignatura que recibe un profesor, este pago va a depender de las horas semanales de la asignatura y el numero de semestres que se imparte (tabla asignatura), tener en cuenta que el profesor puede tener mas de una sección para la misma asignatura (tabla sección). el precio por hora deberá ser una constante ($8000) al igual las semanas por semestre (16), solo recibirá por parámetro el código de la asignatura y la cédula del profesor (6 ptos). • Numsec * ( (Horassem * precioporhora) * ( semestre * semanasporsemestre ) ) ! ! ej: Profesor Marta Medina ! Cédula:4567890 ! Asignatura: AA0001 ! Numero secciones : 2 ! Horas semanales: 8 ! Semestre : 1! ! Calculo : 2 * ( (8 * 8000) * (1 *16) ) 6. Al ejercicio anterior agregar el manejo de excepciones (No encontrado, Mas de un registro) (2 ptos). 7. Analice la instrucción sql presentada y responda las siguientes preguntas: (6 ptos) taller de base de datos • ¿Que interrogante responde la sentencia sql?. • ¿Cual es la función de la instrucción RANK() y por que se utiliza en la consulta? • ¿Cual es la función de ROWNUM en la consulta y por que se utiliza?. select cedprof, cuenta from (select cedprof, cuenta, rank() over (order by cuenta desc) rnk from (select cedprof, count(cedprof) cuenta from seccion group by cedprof ) ) where rnk = 1 and rownum = 1; 8. Lleve la consulta anterior a un procedimiento almacenado que envíe a un bloque anónimo (parámetro out) la CEDPROF y CUENTA (4 puntos). Formato de entrega Para la fecha estipulada se debe entregar un archivo RAR con la siguiente nomenclatura primera letra de su nombre seguido por su apellido junto con la palabra procedimientos ej: bgarciaProcedimientos.rar deberá ser enviado a la siguiente dirección de correo tareas@interaktiv.cl con en el asunto Taller procedimientos. El archivo deberá contener: • En formato sql debidamente comentado, las instrucciones PL-SQL para los procedimientos y bloques anónimos respectivos de cada pregunta.