Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ciclo 2018-I
Escuela Profesional de Ingeniería de Sistemas e Informática
Examen
Final 0203-02410
BASE DE DATOS
Tipo C Nota en letras:
Alumno: Código:
ESTIMADO ESTUDIANTE, SE LE RECUERDA:
USO OBLIGATORIO DEL CORREO INSTITUCIONAL, PARA SU COMUNICACIÓN.
Si aún no cuenta con su clave, solicítelo a su coordinador.
Presentar su Documento de Identidad a solicitud del evaluador.
Resuelva el examen utilizando lapicero y con letra legible.
Evite borrones y enmendaduras.
Evite el plagio. De presentarse el caso se anulará el examen y la
calificación será cero (00).
INDICACIONES PARA La redacción y ortografía serán tomadas en cuenta en la evaluación
EL ALUMNO: Al finalizar el examen debe asegurarse de FIRMAR EL ACTA DE
EVALUACIÓN.
Queda prohibido el uso de dispositivos móviles durante el tiempo fijado
para el examen escrito, el incumplimiento ocasiona la ANULACION DEL
EXAMEN.
¡Éxitos!
Preguntas:
2. Para los objetos creados en el punto 1 de su Sistema de pañales de bebé, cree stored
procedures dentro un package, los cuales realicen lo siguiente (usar nomenclatura de
objetos):
2.1. Realice una búsqueda de Items y los muestre a través de 4 filtros / parametros de
búsqueda que tengan en la tabla tipos de datos diferentes (tipos de dato: entero, decimal,
string y fecha). (3 puntos)
UAP-DUED20181
SECCIÓN 01
CABECERA
PROCEDURE SP_INS_COLOR
(
PO_VRETORNO OUT VARCHAR2,
PI_COL_DESCRIP VARCHAR2
);
END PK_MANT_PAÑALES;
CUERPO
CREATE OR REPLACE PACKAGE BODY PK_MANT_PAÑALES IS
PROCEDURE SP_BUSCA_PAÑALES
(
PO_CURSOR IN OUT CUR_DATO,
PI_TALLA VARCHAR2,
PI_FECFAB VARCHAR2,
PI_TIP_PAÑ VARCHAR2
)
IS
BEGIN
UAP-DUED20181
SECCIÓN 01
OPEN PO_CURSOR FOR
SELECT
PA.PAÑAL_ID,
CO.COMP_TALLA,
TO_CHAR(PA.PAÑAL_FECFAB,'DD-MM-YYYY') PAÑAL_FECFAB,
PA.PAÑAL_PRECIO
FROM JUNIORS2009141401.SMP_PAÑALES PA
WHERE PA.PAÑAL_TALLA LIKE '%'|| PI_TALLA ||'%'
AND (
(PI_FECFAB IS NULL)
OR
(PI_FECFAB IS NOT NULL AND PI_FECFAB =
TO_CHAR(CO.COMP_FECFAB,'DD/MM/YYYY') )
)
AND (
(PI_TIPO_PAÑAL IS NULL)
OR
(PI_TIPO_PAÑAL IS NOT NULL AND PI_TIP_PAÑ = TO_CHAR(PA.TIP_PAÑ))
);
END;
PROCEDURE SP_INS_PAÑALES
(
PO_VRETORNO OUT VARCHAR2,
PI_PAÑ_ID NUMBER,
PI_MANT_PAÑ VARCHAR2,
PI_NRSERIE VARCHAR2,
PI_FECFAB VARCHAR2,
PI_TIPO_PAÑ NUMBER
)
IS
VN_CONTADOR NUMBER;
BEGIN
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
PO_VRETORNO := SUBSTR(SQLERRM, 11);
END;
PROCEDURE SP_ACT_COMPUTADORAS
(
PO_VRETORNO OUT VARCHAR2,
PI_PAÑ_ID NUMBER,
PI_MAR_ID NUMBER,
UAP-DUED20181
SECCIÓN 01
PI_NRSERIE VARCHAR2,
PI_FECFAB VARCHAR2,
PI_TIP_PAÑ NUMBER
)
IS
VN_CONTADOR NUMBER;
--VV_RETORNO VARCHAR2(100);
BEGIN
UPDATE JUNIORS2009141401.SMP_PAÑALES PA
SET CO.MAR_ID = PI_MAR_ID,
PA.PAÑ_NRSERIE = PI_NRSERIE,
PA.PAÑ_FECFAB = TO_DATE(PI_FECFAB,'DD/MM/YYYY'),
PA.PAÑ_TIP_PAÑ = PI_TIP_PAÑ
WHERE PA.PAÑ_ID = PI_PAÑ_ID;
PO_VRETORNO := 1;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
PO_VRETORNO := SUBSTR(SQLERRM, 11);
END;
PROCEDURE SP_INS_COLOR
(
PO_VRETORNO OUT VARCHAR2,
PI_COL_DESCRIP VARCHAR2
)
IS
BEGIN
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
PO_VRETORNO := SUBSTR(SQLERRM, 11);
END;
END PK_MANT_PAÑALES;
UAP-DUED20181
SECCIÓN 01
2.4. Cree un stored procedure que reciba un parámetro del tipo cadena ‘abc|def|ghi …’ e
inserte cada valor en una fila diferente de la tabla ítems usar comandos FOR .. IN … END
… LOOP (2 puntos)
PROCEDURE SP_INS_PAÑALES_MASIVA
(
PO_VRETORNO OUT VARCHAR2,
PI_CAD_MARCA VARCHAR2
)
IS
VN_CONTADOR NUMBER;
BEGIN
LOOP
SELECT NVL(MAX(PAÑALES.PAÑ_ID),0)+1 INTO VN_CONTADOR FROM
JUNIORS2009141401.SMP_PAÑALES PAÑALES;
INSERT INTO JUNIORS2009141401.SMP_PAÑALES
(PAÑ_ID, MAR_ID, PAÑ_NRSERIE, MAR_FLAG_ACT)
VALUES
(VN_CONTADOR,REC.IDMAR,'','1');
END LOOP;
COMMIT;
PO_VRETORNO := 'Los registros se insertaron con éxito.';
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
PO_VRETORNO := SUBSTR(SQLERRM, 11);
END;
END PK_GENERAL_PAÑALES;
2.5. Cree un stored procedure que realice una consulta de registros (SELECT) incluyendo
los comandos INNER JOIN y LEFT JOIN a 3 trablas más. (2 puntos)
2.6. Cree dos índices, para un solo campo y para 3 campos de una de las tablas de su
Sistema. Haga dos scripts de ejemplo usando cada una forma diferente del uso de los
HINTS (2 puntos)
BASE 1
UAP-DUED20181
SECCIÓN 01
BASE 2
2.7. Escriba la línea de comandos de importación de una base de datos creada usando
los comandos impdp (2 puntos)
UAP-DUED20181