SlideShare ist ein Scribd-Unternehmen logo
1 von 5
UNIVERSIDAD AUSTRAL DE CHILE

FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS

INSTITUTO DE ADMINISTRACIÓN

ADMI 273




GUIA DE REPASO
   PLSQL-ORACLE
                                                              Integrante:

                                                        Makarena Ruiz H.



                                                                Profesor:

                                                        Cristian Salazar C.

                                                               Ayudante:

                                                        José Luis Carrasco

                                                              Asignatura:

                                      Sistemas de Información Empresarial




           Valdivia, 29 de junio del 2012
1.     Realice una cadena de inserciones, esto es:

- Crear un procedimiento para agregar Ciudades.

- Crear un procedimiento para agregar Campus.

- Crear un procedimiento para agregar Carreras

- Crear un procedimiento para agregar Estudiantes.



CREATE OR REPLACE PROCEDURE AGREGAR_CAMPUS(ID_CAMPUS IN NUMBER,
                    ID_CIUDAD IN NUMBER,
                    NOM_CAMPUS VARCHAR2) IS
BEGIN
INSERT INTO CAMPUS
(ID_CAMPUS, ID_CIUDAD, NOMBRE)
VALUES
(ID_CAMPUS, ID_CIUDAD, NOM_CAMPUS);
COMMIT;
END AGREGAR_CAMPUS;


2.     Realice un procedimiento que actualice la edad de los estudiantes a partir de su RUT.

CREATE OR REPLACE PROCEDURE AGREGAR_CARRERA(ID_CARRERA IN NUMBER,
                     ID_CAMPUS IN NUMBER,
                     NOM_CARRERA VARCHAR2) IS
BEGIN
INSERT INTO CARRERAS
(ID_CARRERA, ID_CAMPUS, NOMBRE)
VALUES
(ID_CARRERA,ID_CAMPUS, NOM_CARRERA);
COMMIT;
END AGREGAR_CARRERA;


3.    Realice una función que entregue la edad promedio de los estudiantes de “PED. EN
EDUCACIÓN DIFERENCIAL”.

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;




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 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;


5.     Realice una función que cuente los estudiantes del campus ISLA TEJA. La función debe
llamarse CUENTA_TEJA.

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;
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;

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;


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
wheree.ID_CARRERA = c.ID_CARRERA GROUP BY c.NOMBRE.

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;




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

SELECT CA.NOMBRE AS CAMPUS, COUNT(E.RUT_EST) AS N_EST_X_CAMPUS
FROM ESTUDIANTES E, CARRERAS C, CAMPUS CA
WHERE E.ID_CARRERA = C.ID_CARRERA
AND C.ID_CAMPUS = CA.ID_CAMPUS
GROUP BY CA.NOMBRE;
9.      Entregue el número total de estudiantes de cada una de las ciudades de forma similar al
ejercicio 7.

SELECT CI.NOMBRE AS CIUDAD, COUNT(E.RUT_EST) AS N_EST_X_CIUDAD
FROM ESTUDIANTES E, CARRERAS C, CAMPUS CA, CIUDAD CI
WHERE E.ID_CARRERA = C.ID_CARRERA
AND C.ID_CAMPUS = CA.ID_CAMPUS
AND CA.ID_CIUDAD = CI.ID_CIUDAD
GROUP BY CI.NOMBRE

Weitere ähnliche Inhalte

Andere mochten auch

01 unidad i introduccion
01 unidad i   introduccion01 unidad i   introduccion
01 unidad i introduccionvictdiazm
 
Abf leccion 04
Abf leccion 04Abf leccion 04
Abf leccion 04victdiazm
 
Abf leccion 01
Abf leccion 01Abf leccion 01
Abf leccion 01victdiazm
 
Abf leccion 03
Abf leccion 03Abf leccion 03
Abf leccion 03victdiazm
 
02 unidad i proceso
02 unidad i   proceso02 unidad i   proceso
02 unidad i procesovictdiazm
 
Abf leccion 02
Abf leccion 02Abf leccion 02
Abf leccion 02victdiazm
 
Semana 1 3 variables en bloques plsql
Semana 1 3 variables en bloques plsqlSemana 1 3 variables en bloques plsql
Semana 1 3 variables en bloques plsqlvictdiazm
 
Abf leccion 05
Abf leccion 05Abf leccion 05
Abf leccion 05victdiazm
 
Abf leccion 08
Abf leccion 08Abf leccion 08
Abf leccion 08victdiazm
 

Andere mochten auch (9)

01 unidad i introduccion
01 unidad i   introduccion01 unidad i   introduccion
01 unidad i introduccion
 
Abf leccion 04
Abf leccion 04Abf leccion 04
Abf leccion 04
 
Abf leccion 01
Abf leccion 01Abf leccion 01
Abf leccion 01
 
Abf leccion 03
Abf leccion 03Abf leccion 03
Abf leccion 03
 
02 unidad i proceso
02 unidad i   proceso02 unidad i   proceso
02 unidad i proceso
 
Abf leccion 02
Abf leccion 02Abf leccion 02
Abf leccion 02
 
Semana 1 3 variables en bloques plsql
Semana 1 3 variables en bloques plsqlSemana 1 3 variables en bloques plsql
Semana 1 3 variables en bloques plsql
 
Abf leccion 05
Abf leccion 05Abf leccion 05
Abf leccion 05
 
Abf leccion 08
Abf leccion 08Abf leccion 08
Abf leccion 08
 

Ähnlich wie Lab 25 06 (20)

Actividad 4 ayudantía
Actividad 4 ayudantíaActividad 4 ayudantía
Actividad 4 ayudantía
 
25.06.2012
25.06.201225.06.2012
25.06.2012
 
Ayudantia 2 sia
Ayudantia 2 siaAyudantia 2 sia
Ayudantia 2 sia
 
Ayudantia 2 sia
Ayudantia 2 siaAyudantia 2 sia
Ayudantia 2 sia
 
Tarea ahora
Tarea ahoraTarea ahora
Tarea ahora
 
Lab26.06.2012
Lab26.06.2012Lab26.06.2012
Lab26.06.2012
 
Trabajo sistemas
Trabajo sistemasTrabajo sistemas
Trabajo sistemas
 
Lab 25 06
Lab 25 06Lab 25 06
Lab 25 06
 
Laboratorio
LaboratorioLaboratorio
Laboratorio
 
Tarea ayudantia nº2
Tarea ayudantia nº2Tarea ayudantia nº2
Tarea ayudantia nº2
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
 
Laboratorio 2 - ayudantia
Laboratorio 2 - ayudantiaLaboratorio 2 - ayudantia
Laboratorio 2 - ayudantia
 
Laboratorio SIA - 2
Laboratorio SIA - 2Laboratorio SIA - 2
Laboratorio SIA - 2
 
Laboratorio sia 2 (1)
Laboratorio sia 2 (1)Laboratorio sia 2 (1)
Laboratorio sia 2 (1)
 
Trabajo ayudantía
Trabajo ayudantíaTrabajo ayudantía
Trabajo ayudantía
 
Laboratorio n2 de ayudantía sie
Laboratorio n2 de ayudantía  sieLaboratorio n2 de ayudantía  sie
Laboratorio n2 de ayudantía sie
 
Trabajo 2. ayudantía. elmar alarcón namuncura
Trabajo 2. ayudantía. elmar alarcón namuncuraTrabajo 2. ayudantía. elmar alarcón namuncura
Trabajo 2. ayudantía. elmar alarcón namuncura
 
Segundo informe ayudantía
Segundo informe ayudantíaSegundo informe ayudantía
Segundo informe ayudantía
 
PLSQL
PLSQLPLSQL
PLSQL
 
Lp2docclases
Lp2docclasesLp2docclases
Lp2docclases
 

Lab 25 06

  • 1. UNIVERSIDAD AUSTRAL DE CHILE FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS INSTITUTO DE ADMINISTRACIÓN ADMI 273 GUIA DE REPASO PLSQL-ORACLE Integrante: Makarena Ruiz H. Profesor: Cristian Salazar C. Ayudante: José Luis Carrasco Asignatura: Sistemas de Información Empresarial Valdivia, 29 de junio del 2012
  • 2. 1. Realice una cadena de inserciones, esto es: - Crear un procedimiento para agregar Ciudades. - Crear un procedimiento para agregar Campus. - Crear un procedimiento para agregar Carreras - Crear un procedimiento para agregar Estudiantes. CREATE OR REPLACE PROCEDURE AGREGAR_CAMPUS(ID_CAMPUS IN NUMBER, ID_CIUDAD IN NUMBER, NOM_CAMPUS VARCHAR2) IS BEGIN INSERT INTO CAMPUS (ID_CAMPUS, ID_CIUDAD, NOMBRE) VALUES (ID_CAMPUS, ID_CIUDAD, NOM_CAMPUS); COMMIT; END AGREGAR_CAMPUS; 2. Realice un procedimiento que actualice la edad de los estudiantes a partir de su RUT. CREATE OR REPLACE PROCEDURE AGREGAR_CARRERA(ID_CARRERA IN NUMBER, ID_CAMPUS IN NUMBER, NOM_CARRERA VARCHAR2) IS BEGIN INSERT INTO CARRERAS (ID_CARRERA, ID_CAMPUS, NOMBRE) VALUES (ID_CARRERA,ID_CAMPUS, NOM_CARRERA); COMMIT; END AGREGAR_CARRERA; 3. Realice una función que entregue la edad promedio de los estudiantes de “PED. EN EDUCACIÓN DIFERENCIAL”. CREATE OR REPLACE PROCEDURE AGREGAR_ESTUDIANTES(RUT_EST IN NUMBER, NOMBRES IN VARCHAR2, APELLIDOS IN VARCHAR2, EDAD IN NUMBER,
  • 3. 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; 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 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; 5. Realice una función que cuente los estudiantes del campus ISLA TEJA. La función debe llamarse CUENTA_TEJA. 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. 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; 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; 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 wheree.ID_CARRERA = c.ID_CARRERA GROUP BY c.NOMBRE. 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; 8. Entregue el número total de estudiantes de cada uno de los campus de forma similar al ejercicio 7. SELECT CA.NOMBRE AS CAMPUS, COUNT(E.RUT_EST) AS N_EST_X_CAMPUS FROM ESTUDIANTES E, CARRERAS C, CAMPUS CA WHERE E.ID_CARRERA = C.ID_CARRERA AND C.ID_CAMPUS = CA.ID_CAMPUS GROUP BY CA.NOMBRE;
  • 5. 9. Entregue el número total de estudiantes de cada una de las ciudades de forma similar al ejercicio 7. SELECT CI.NOMBRE AS CIUDAD, COUNT(E.RUT_EST) AS N_EST_X_CIUDAD FROM ESTUDIANTES E, CARRERAS C, CAMPUS CA, CIUDAD CI WHERE E.ID_CARRERA = C.ID_CARRERA AND C.ID_CAMPUS = CA.ID_CAMPUS AND CA.ID_CIUDAD = CI.ID_CIUDAD GROUP BY CI.NOMBRE