RESOLUCIÓN TAREA AYUDANTÍA
SISTEMAS DE INFORMACIÓN ADMINISTRATIVA
Profesor responsable : Cristian Salazar Ayudante
: José Luis Carrasco
Alumna
: Silvana Palma O.
Carrera
: Auditoría
1.- Realice una cadena de inserciones, esto es: - Crear un procedimiento para agregar Ciudades. SQL: create or replace procedure agregar_nuevaciudad(id_ciudad in number, nom_ciudad in varchar2)is begin insert into ciudad (id_ciudad, nombre) values (id_ciudad, nom_ciudad); commit; end agregar_nuevaciudad; - Crear un procedimiento para agregar Campus. SQL: create or replace procedure agregar_nuevocampus(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 agregar_nuevocampus; - Crear un procedimiento para agregar Carreras SQL: create or replace procedure agregar_nuevascarreras(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 agregar_nuevascarreras;
- Crear un procedimiento para agregar Estudiantes. SQL: create or replace procedure agregar_nuevosestudiantes(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 agregar_nuevosestudiantes;
2.- Realice un procedimiento que actualice la edad de los estudiantes a partir de su RUT. SQL: create or replace procedure actualiza_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_edad; 3.- Realice una función que entregue la edad promedio de los estudiantes de “PED. EN EDUCACIÓN DIFERENCIAL”. SQL: create or replace function promedio_edad(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 promedio_edad; 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. SQL: 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. SQL: 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;
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 SQL: 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 SQL: 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