Ejercicio Final

Ejercicio

Usando las tablas creadas en las practicas realizar lo siguientes ejercicios.
Tabla Carrera
Tabla Alumno
Incidencia
Tabla Alum_res
#Cve_carr      N(3)
Nom_c           C(30)
Director         C(2)
Total_C
Estadistic       num

#Matricula        num(4)
Nombre            C(30)
Apellido           C(30)
Curp                 C(15)
Fecha_ingreso   Fecha
Sexo                  C(1)
prom               Num(7,2)
Beca               Num
Estatus *
#Folio          Num(3)
Mat       
Fecha_i           Fecha
Tipo **
Osbserv        C(100)
MAT              
prom
beca         num
Fecha_r


  • * Estatus : A (alta), B (baja), S (suspendido), BT (baja temporal).
  • ** Tipo FI,FJ,RI,RJ
Existe una tabla Acum_beca_c con  los campos  mes num, cve_c, monto_t, fecha_reg  cargados con  el total pagado por beca al mes por carrera, obtenido de la tabla ALUMNO, mas un campo llamado fecha_res.

Crear  procedimientos para:

  1. Crear un procedimiento que limpie la tabla Acum_beca_c  y la cargue nuevamente poniendo en mes el mes en curso, la cve_c  de la tabla alumno,  el total de la beca pagada por carrera y la fecha en curso.
  2. Crear un procedimiento que genere N número de registros en la tabla Registro con los campos Folio num y PK, f_gen, el folio debe ser un consecutivo incrementado en uno a partir del folio mayor existente en la tabla.
  3. Un procedimiento que actualice el promedio de un alumno especifico de la siguiente manera:
Si el promedio es menor de 6 la beca será de 0
Si el promedio esta entre 6 y 7 la beca será de 300
Para promedios mayores de 7 la beca será de 1000.
  1. Procedimiento que : Eliminar una carrera especifica, siempre que el director se  encuentre vacio. Hacer lo necesario para eliminarla ( usar IF y subconsultas)
  2. Eliminar todos los alumnos con estuts B y que NO tengan incidencias.
  3. Crear una FUNCION que reciba la matricula de un alumno y regrese una clasificacion de la siguiente manera:
Si el promedio es menor que 6 regresa *
Si el promedio esta entre 6 y 8 regresa tantos * como sea su promedio
Cualquier promedio mayor a 8 regresara DESTACADO

  1. De la sintaxis para :
a)     Cree un objeto que permita ver  el nombre completo del alumno, mes (obtenida de fecha) de incidencia y cantidad de incidencias cometidas por mes.
b)    Cree un objeto que me permita agilizar la consulta sobre la tabla alumno  basándose en las consultas del  ejercicio donde este involucrada la tabla.
c)     Cree un objeto que me permita ver la tabla grupo  del usuario sc07sc1, sabiendo que soy el usuario xxx02 y ya tengo permiso para consultar y modificar la tabla.
d)    El campo beca  de la tabla alumno  tiene una validación llamada sysxx07 que solo permite valores entre 100 y 999.99. De la sintaxis con la que se obtiene el nombre y los pasos necesarios para que la beca este entre 1000 y 5000. La tabla YA tiene registros
e)     Existe una tabla ALUMNO_RES. Actualice los promedios nulos de la tabla ALUMNO con el promedio  de respaldo con fecha de respaldo del mes y  año en curso
f)     Crear un procedimiento que elimine todos los alumno con estatus B  y BT, que no tengan incidencias  y que hayan ingresado en una fecha específica y que pertenezca a una carrera sin director.
g)    Crear un trigger que registre la información requerida en la tabla BITACORA(fecha, tabla, usuario, movimiento: Agrega, Elimina o Actualiza,observaciones) cada vez que se agregue, elimine o actualice  una incidencia. (1p)
  1. Haga las siguientes consultas
a)     Despliegue el nombre del alumno completo separado por un -, asegurándose que este en mayúsculas, la fecha de ingreso (con formato: 25- may-1900), * clasificación  (USE FUNCION CREADA EN EL PUNTO 6), sexo sustituyendo M por Hombre y F por mujer e INDETERMINADO para cualquier otro valor. Solo alumnos que ingresaron en el mes en curso y con promedio menor a 6. Ordenados por fecha de ingreso y sexo (1 p)
b)    Despliegue el nombre y apellido de los alumnos , mes y año de la incidencia y folio. Si no tiene incidencias deberá aparecer 0 en el folio. Deberán aparecer todos los alumnos  tengan o no incidencias. Ordenada por mes y nombre del alumno. (1 p)
c)     Desplegar el folio de la incidencia, matricula  y cantidad total de incidencias   por  alumno.  Solo aquellos alumnos con mas de  2 incidencias injustificadas. Deberá estar ordenado por cantidad total de incidencias (USE SUBQ). (1p)
d)    Despliegue nombre de la carrera, total de créditos solo carreras con alumnos. (Deberán hacerse dos consultas una usando el IN (NOT IN) y otra el EXISTS (NOT EXISTS).(1p)


  1. Evaluar cada una de las siguientes declaraciones. Determinar si es permitido y corregir si es necesario.
Declare
    • V_id                number(4);
    • V_x,v_y, v_z    varchar2(10);
    • V_fcump                     date not null;
    • V_en_stock      boolena:=1;

  1. Evalue el siguiente bloque anónimo y determine el valor de las siguientes variables  (indique el motivo del error y comente en caso de ser necesario):
a)     Valor de v_peso en subbloque.
b)    Valor de v_nva_loc en subbloque.
c)     Valor de v_mensaje en subbloque.
d)    Valor de v_peso en bloque principal.
e)     Valor de v_nva_loc en bloque principal.
Valor de v_mensaje en bloque principal.
DECLARE
v_pesonumber(3):= 600;
v_mesjvarchar(255) := 'PRODUCTO 1';
BEGIN
V_peso :=v_peso + 5;
V_mesj := ‘BLOQUE PRINCIPAL’
     /*SUB BLOQUE*/
    DECLARE
v_pesonumber(3) := 1;
v_mesjvarchar(255) := 'SUBBLOQUE';
v_nvalocvarchar2(50) :='EUROPA';
    BEGIN
v_peso := v_peso +1;
v_nvaloc := 'ESTE '|| v_nvaloc;
    END;
v_peso := v_peso +1;
v_mesj := v_mesj || 'BQ PRINCIPAL 2PTE';
v_nvaloc := 'OESTE '|| v_nvaloc;
dbsm_output.put_line( v_mesj);
END;



4 comentarios:

  1. Hola miss buen día realizando los ejercicios me están surgiendo varias dudas. En consultas y procedimientos no tengo problemas.son en funciones...quisiera saber si dará un repaso el día de hoy por favor...Saludos

    ResponderEliminar
    Respuestas
    1. Buenas tardes sr, me puede escribir a mi correo por favor. malf0411@gmail.com

      Eliminar
  2. Maestra buen dia, me podria proporcinar su correo electronico, ya necesito contactarla mil gracias

    ResponderEliminar