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:
- 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.
- 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.
- 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.
- Procedimiento que : Eliminar una carrera especifica, siempre que el
director se encuentre vacio. Hacer
lo necesario para eliminarla ( usar IF y subconsultas)
- Eliminar todos los alumnos con estuts B y que NO tengan
incidencias.
- 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
- 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)
- 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)
- 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;
- 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;
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
ResponderEliminarBuenas tardes sr, me puede escribir a mi correo por favor. malf0411@gmail.com
EliminarMaestra buen dia, me podria proporcinar su correo electronico, ya necesito contactarla mil gracias
ResponderEliminarBuenas tardes, malf0411@gmail.com
Eliminar