Issuu on Google+

Actividades ayudantía 25.06: Ejercicios Propuestos Integrante: Gabriela Behrend D./Ingeniería Comercial.

1. Realice una cadena de inserciones, esto es: a) Crear un procedimiento para agregar Ciudades. CREATE OR REPLACE PROCEDURE AGREGAR_CIUDAD(ID_CIUDAD IN NUMBER, NOM_CIUDAD VARCHAR2) IS BEGIN INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE) VALUES (ID_CIUDAD, NOM_CIUDAD); COMMIT; END AGREGAR_CIUDAD;

b) Crear un procedimiento para agregar Campus. CREATE OR REPLACE PROCEDURE AGREGAR_CAMPUS(ID_CAMPUS IN NUMBER, ID_CIUDAD IN NUMBER, NOM_CAMPUS VARCHAR2) IS BEGIN INSERT INTO CAMPUS (ID_CAMPUS, ID_CIUDAD, NOMBRE) VALUES (ID_CAMPUS, ID_CIUDAD, NOM_CAMPUS); COMMIT; END AGREGAR_CAMPUS;

c) Crear un procedimiento para agregar Carreras CREATE OR REPLACE PROCEDURE AGREGAR_CARRERA(ID_CARRERA IN NUMBER, ID_CAMPUS IN NUMBER, NOM_CARRERA VARCHAR2) IS BEGIN INSERT INTO CARRERAS (ID_CARRERA, ID_CAMPUS, NOMBRE) VALUES (ID_CARRERA,ID_CAMPUS, NOM_CARRERA); COMMIT; END AGREGAR_CARRERA;


d) Crear un procedimiento para agregar Estudiantes. CREATE OR REPLACE PROCEDURE AGREGAR_ESTUDIANTES(RUT_EST IN NUMBER, NOMBRES IN VARCHAR2, APELLIDOS IN VARCHAR2, EDAD IN NUMBER, DIRECCION IN VARCHAR2, ID_CARRERA IN NUMBER) IS BEGIN INSERT INTO ESTUDIANTES (RUT_EST, NOMBRES, APELLIDOS, EDAD, DIRECCION, ID_CARRERA) VALUES (RUT_EST, NOMBRES, APELLIDOS, EDAD, DIRECCION, ID_CARRERA); COMMIT; END AGREGAR_ESTUDIANTES;

2. Realice un procedimiento que actualice la edad de los estudiantes a partir de su RUT. CREATE OR REPLACE PROCEDURE ACTUALIZAR_EDAD(RUT_EST_NUEVO IN NUMBER, EDAD_ACTUAL IN NUMBER) IS BEGIN UPDATE ESTUDIANTES SET EDAD = EDAD_ACTUAL WHERE RUT_EST = RUT_EST_NUEVO; COMMIT; END ACTUALIZAR_EDAD;

3. Realice una función que entregue la edad promedio de los estudiantes de “PED. EN EDUCACIÓN DIFERENCIAL”. CREATE OR REPLACE FUNCTION PROM_EDAD_EST RETURN NUMBER IS PROMEDIO_EDAD NUMBER; BEGIN SELECT AVG(E.EDAD) INTO PROMEDIO_EDAD FROM ESTUDIANTES E, CARRERAS C WHERE E.ID_CARRERA = C.ID_CARRERA AND C.ID_CARRERA = 45; RETURN PROMEDIO_EDAD; END PROM_EDAD_EST;


4. Realice una función que entregue la suma de edades de los estudiantes del campus ISLA TEJA. La función debe llamarse SUMA_TEJA. CREATE OR REPLACE FUNCTION SUMA_TEJA RETURN NUMBER IS SUMA_EDAD_TEJA NUMBER; BEGIN SELECT SUM(E.EDAD) INTO SUMA_EDAD_TEJA FROM ESTUDIANTES E, CARRERAS C, CAMPUS CA WHERE E.ID_CARRERA = C.ID_CARRERA AND C.ID_CAMPUS = CA.ID_CAMPUS AND CA.NOMBRE = 'ISLA TEJA'; RETURN SUMA_EDAD_TEJA; END SUMA_TEJA;

5. Realice una función que cuente los estudiantes del campus ISLA TEJA. La función debe llamarse CUENTA_TEJA. CREATE OR REPLACE FUNCTION CUENTA_TEJA RETURN NUMBER IS SUMA_EST_TEJA NUMBER; BEGIN SELECT COUNT(*) INTO SUMA_EST_TEJA FROM ESTUDIANTES E, CARRERAS C, CAMPUS CA WHERE E.ID_CARRERA = C.ID_CARRERA AND C.ID_CAMPUS = CA.ID_CAMPUS AND CA.NOMBRE = 'ISLA TEJA'; RETURN SUMA_EST_TEJA; END CUENTA_TEJA;

6. Una vez realizado 4 y 5, ejecute la siguiente consulta y describa que arroja como resultado: El resultado que arroja es el promedio de las edades de los estudiantes de la isla teja. 7. Entregue el número total de estudiantes de cada una de las carreras, mostrando el nombre de la carrera y su número de estudiantes respectivos: Resuelto en la guía. 8. Entregue el número total de estudiantes de cada uno de los campus de forma similar al ejercicio 7. SELECT FROM WHERE AND GROUP

CA.NOMBRE AS CAMPUS, COUNT(E.RUT_EST) AS N_EST_X_CAMPUS ESTUDIANTES E, CARRERAS C, CAMPUS CA E.ID_CARRERA = C.ID_CARRERA C.ID_CAMPUS = CA.ID_CAMPUS BY CA.NOMBRE


9. Entregue el número total de estudiantes de cada una de las ciudades de forma similar al ejercicio 7. SELECT FROM WHERE AND AND GROUP

CI.NOMBRE AS CIUDAD, COUNT(E.RUT_EST) AS N_EST_X_CIUDAD ESTUDIANTES E, CARRERAS C, CAMPUS CA, CIUDAD CI E.ID_CARRERA = C.ID_CARRERA C.ID_CAMPUS = CA.ID_CAMPUS CA.ID_CIUDAD = CI.ID_CIUDAD BY CI.NOMBRE


Laboratorio N°4 de ayudantía