1. UNIVERSIDAD AUSTRAL DE CHILE
Facultad De Ciencias Económicas y Administrativas
Instituto de Administración
Ayudante:
José Luis Carrasco
Nombre:
Makarena Pinchulef
2. 1.- Realice una cadena de inserciones, esto es:
Crear un procedimiento para agregar Ciudades.
createorreplaceprocedure NOMBRE_CIUDAD(ID_CIUDAD_pinnumber, NOMBRE_pinvarchar2) is
begin
insertinto CIUDAD(ID_CIUDAD,NOMBRE)
values (ID_CIUDAD_p,NOMBRE_p );
COMMIT;
end NOMBRE_CIUDAD;
Crear un procedimiento para agregar Campus.
Create or replace procedure NOMBRE_CAMPUS(ID_CAMPUS_pinNUMBER, NOMBRE_pinvarchar2,
ID_CIUDAD_pinvarchar2) is
begin
insertinto CAMPUS(ID_CAMPUS,NOMBRE,ID_CIUDAD)
values (ID_CAMPUS_p,NOMBRE_p,ID_CIUDAD_P);
COMMIT;
end NOMBRE_CAMPUS;
Crear un procedimiento para agregar Carreras
Create or replace procedure agregar_carreras(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_carreras;
Crear un procedimiento para agregar Estudiantes.
create or replace procedure agregar_estudiantes(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_estudiantes;
3. 2. Realice un procedimiento que actualice la edad de los estudiantes a partir de su RUT.
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”.
create or replace function edad_promedio(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 edad_promedio;
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;
4. 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:
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