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




CURSO: SISTEMA DE INFORMACIÓN ADMINISTRATIVAS




             LABORATORIO Nº5 SIA




                       Franco Osses.




               Valdivia, Junio del 2012.
Ejercicios Propuestos:

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;


    Promedio de edad de los estudiantes del campus Isla Teja, dejándolo en una lista que nombra este valor como NX

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
Selección el nombre de las carreras como columna carreras y entregue el número de estudiantes por carrera desde
    la tabla carreras y estudiantes esto agrupado por nombre de carreras.

8. Entregue el número total de estudiantes de cada uno de los campus de forma similar al ejercicio 7.




9. Entregue el número total de estudiantes de cada una de las ciudades de forma similar al ejercicio 7.

Laboratorio Nº5 SIA

  • 1.
    UNIVERSIDAD AUSTRAL DECHILE FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS ESCUELA DE AUDITORÍA CURSO: SISTEMA DE INFORMACIÓN ADMINISTRATIVAS LABORATORIO Nº5 SIA Franco Osses. Valdivia, Junio del 2012.
  • 2.
    Ejercicios Propuestos: 1. Realiceuna 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;
  • 3.
    2. Realice unprocedimiento 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.
    4. Realice unafunció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;
  • 5.
    6. Una vezrealizado 4 y 5, ejecute la siguiente consulta y describa que arroja como resultado: Select (SUMA_TEJA/CUENTA_TEJA) as NX From DUAL; Promedio de edad de los estudiantes del campus Isla Teja, dejándolo en una lista que nombra este valor como NX 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
  • 6.
    Selección el nombrede las carreras como columna carreras y entregue el número de estudiantes por carrera desde la tabla carreras y estudiantes esto agrupado por nombre de carreras. 8. Entregue el número total de estudiantes de cada uno de los campus de forma similar al ejercicio 7. 9. Entregue el número total de estudiantes de cada una de las ciudades de forma similar al ejercicio 7.