Professional Documents
Culture Documents
Laboratorio
Laboratorio
Autor Fabin Aguilar Salazar Rodrigo Contreras Coronado Profesor Cristian Salazar C.
Ayudante Jos Luis Carrasco
Ejercicios Propuestos:
a)
BEGIN INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE) VALUES (ID_CIUDAD, NOM_CIUDAD); COMMIT; END AGREGAR_CIUDAD;
b)
BEGIN INSERT INTO CAMPUS (ID_CAMPUS, ID_CIUDAD, NOMBRE) VALUES (ID_CAMPUS, ID_CIUDAD, NOM_CAMPUS); COMMIT; END AGREGAR_CAMPUS;
c)
BEGIN INSERT INTO CARRERAS (ID_CARRERA, ID_CAMPUS, NOMBRE) VALUES (ID_CARRERA,ID_CAMPUS, NOM_CARRERA); COMMIT; END AGREGAR_CARRERA;
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;
d)
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 funcin que entregue la edad promedio de los estudiantes de PED. EN EDUCACIN 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 funcin que entregue la suma de edades de los estudiantes del campus ISLA TEJA. La funcin 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 funcin que cuente los estudiantes del campus ISLA TEJA. La funcin 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: SELECT (SUMA_TEJA/CUENTA_TEJA) as NX FROM DUAL;
7.- (RESUELTO) Entregue el nmero total de estudiantes de cada una de las carreras, mostrando el nombre de la carrera y su nmero de estudiantes respectivos:
SELECT c.NOMBRE as CARRERA,count(e.RUT_EST) as N_ESTUDIANTES FROM ESTUDIANTES e, CARRERAS c where e.ID_CARRERA = c.ID_CARRERA GROUP BY c.NOMBRE
8.- Entregue el nmero 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 nmero 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