UNIVERSIDAD AUSTRAL DE CHILE FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS AUDITORÍA

TAREA DE AYUDANTIA SISTEMAS DE INFORMACION ADMINISTRATIVA

NOMBRE: YOLANDA MOLINA G
PROFESOR:

CRISTIAN SALAZAR
AYUDANTE:

JOSE LUIS CARRASCO
CARRERA:

AUDITORIA

EJERCICIOS DE SQL: 1.- Realice una cadena de inserciones, esto es:
- Crear un procedimiento para agregar Ciudades.

create or replace procedure agrega_ciudad(id_ciudad in number, nom_ciudad in varchar2)is begin insert into ciudad (id_ciudad, nombre) values (id_ciudad, nom_ciudad); commit; end agrega_ciudad;
- Crear un procedimiento para agregar Campus. create or replace procedure agrega_campus(id_campus in number, nom_campus in varchar2, id_ciudad in number)is begin insert into campus (id_campus, nombre, id_ciudad) values (id_campus, nom_campus, id_ciudad); commit; end agrega_campus; - Crear un procedimiento para agregar Carreras. create or replace procedure agrega_carrera(id_carrera in number, nom_carrera in varchar2, id_campus in number)is begin insert into carreras (id_carrera, nombre, id_campus) values (id_carrera, nom_carrera, id_campus); commit; end agrega_carrera; - Crear un procedimiento para agregar Estudiantes. create or replace procedure agrega_estudiante(rut_est in number, nom_estudiante in varchar2, nom_apellido in varchar2, edad in number, fono in number, direccion in varchar2, id_carrera in number)is begin insert into estudiantes (rut_est, nombres, apellidos, edad, fono, direccion, id_carrera) values (rut_est, nom_estudiante, nom_apellido, edad, fono, direccion, id_carrera); commit; end agrega_estudiante;

2.- Realice un procedimiento que actualice la edad de los estudiantes a partir de su RUT.
create or replace procedure actualiza_rut_edad(rut_est_act in number, edad_act in number) is begin update estudiantes set edad = edad_act where rut_est = rut_est_act; commit; end actualiza_rut_edad;

3.- Realice una función que entregue la edad promedio de los estudiantes de “PED. EN EDUCACIÓN DIFERENCIAL”.
create or replace function est_diferencial(nombre_carrera in varchar2) return number is valor_est_diferencial number; begin select AVG(e.edad) into valor_est_diferencial from estudiantes e, carreras c where e.id_carrera = c.id_carrera and c.nombre = nombre_carrera; return valor_est_diferencial; end est_diferencial;

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(nombre_campus in varchar2) return number is valor_sum_teja number; begin select sum(e.edad) into valor_sum_teja from estudiantes e, carreras c, campus cs where e.id_carrera = c.id_carrera and c.id_campus = cs.id_campus and cs.nombre = nombre_campus; return valor_sum_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(nombre_campus in varchar2) return number is valor_cuenta_teja number; begin select count(*) into valor_cuenta_teja from estudiantes e, carreras c, campus cs where e.id_carrera = c.id_carrera and c.id_campus = cs.id_campus and cs.nombre = nombre_campus; return valor_cuenta_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;

La consulta arroja el promedio de edad de los estudiantes del campus Isla Teja, dejándolo en una lista que nombra este valor como NX
(EN EL CUADRO SIGUIENTE, LA CONSULTA NO RESULTA)

7.- (RESUELTO) 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:
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 número total de estudiantes de cada uno de los campus de forma similar al ejercicio 7.
SELECT cm.NOMBRE as NOMBRE_CARRERA,count(e.RUT_EST) as NUMERO_ESTUD FROM ESTUDIANTES e, CARRERAS c, CAMPUS cm where e.ID_CARRERA = c.ID_CARRERA GROUP BY cm.NOMBRE

9.- Entregue el número total de estudiantes de cada una de las ciudades de forma similar al ejercicio 7.
SELECT ciu.NOMBRE as CAMPUS, count(e.RUT_EST) as NUMERO_ESTUD FROM ESTUDIANTES e, CARRERAS c, CAMPUS cm, CIUDAD ciu where e.ID_CARRERA = c.ID_CARRERA and c.Id_Campus = cm.id_campus and cm.Id_Ciudad = ciu.id_ciudad GROUP BY ciu.NOMBRE

Sign up to vote on this title
UsefulNot useful