Lucad Crear vistas, índices y secuencias en una base de datos.
Enviado por Luz Z Tito • 10 de Marzo de 2017 • Apuntes • 1.488 Palabras (6 Páginas) • 158 Visitas
[pic 2]
CODIGO DEL CURSO: R66427
[pic 3]
Alumno(s) (Apellidos, Nombres) | Nota |
NUÑEZ CANALES ALEXANDER | |
Grupo | B |
Ciclo | II |
Fecha de entrega | 18-10-2016 |
- OBJETIVOS
- Identificar las características de una vista, índice y secuencia.
- Crear vistas, índices y secuencias en una base de datos.
- Consultar información empleando vistas.
- Identificar cuando una base de datos hace uso de un índice
- Eliminar vistas, índices de una base de datos.
- SEGURIDAD
[pic 4] | Advertencia: En este laboratorio está prohibida la manipulación del hardware, conexiones eléctricas o de red; así como la ingestión de alimentos o bebidas. |
- RECURSOS
- Equipo con sistema operativo Windows XP Professional.
- Oracle Express Universal 10g.
- DESARROLLO DE LA TAREA
- El desarrollo del laboratorio es de manera individual.
- VISTAS
- Para el desarrollo del laboratorio haremos uso del esquema de base de datos REGIS creada en la sesión anterior
[pic 5][pic 6]
- Empleando la herramienta SQL Developer. Renombre la tabla AREA por AREAS. Indique el procedi-miento aplicado para renombrar dicha tabla
- Crear una consulta SQL para obtener el listado de las trabajadores del esquema REGIS ordenados por sexo y luego por nombre
SELECT *
FROM TRABAJADOR
ORDER BY SEX_TRAB, NOM_TRAB
- Implementar una VISTA denominada V_TRAB_SEXNOM asociada a la sentencia SQL anterior.
CREATE VIEW V_TRAB_SEXNOM AS
SELECT * FROM TRABAJADOR ORDER BY SEX_TRAB, NOM_TRAB
- Implementar una sentencia SQL que permita obtener el siguiente listado:
[pic 7]
SELECT NOM_TRAB "NOMBRE", DNI_TRAB "DNI", SEX_TRAB "SEXO", FNA_TRAB "FECHA NACIMIENTO" FROM TRABAJADOR |
- Crear, en el esquema REGIS, una vista denominada V_TRAB_FNA asociada a la sentencia SQL anterior
CREATE VIEW V_TRAB_FNA AS SELECT NOM_TRAB "NOMBRE", DNI_TRAB "DNI", SEX_TRAB "SEXO", FNA_TRAB "FECHA NACIMIENTO" FROM TRABAJADOR [pic 8] |
- Implementar una sentencia SQL que permita obtener el siguiente listado:
[pic 9]
SELECT NOM_TRAB "NOMBRE", DNI_TRAB "DNI", SEX_TRAB "SEXO", NOM_CARGO "CARGO" FROM TRABAJADOR NATURAL JOIN CARGO |
- Crear, en el esquema REGIS, una vista denominada V_TRAB_CARGO asociada a la sentencia SQL anterior
CREATE VIEW V_TRAB_CARGO AS SELECT NOM_TRAB "NOMBRE", DNI_TRAB "DNI", SEX_TRAB "SEXO", NOM_CARGO "CARGO" FROM TRABAJADOR NATURAL JOIN CARGO |
- Implementar una sentencia SQL que permita obtener el siguiente listado:
[pic 10]
- Crear, en el esquema REGIS, una vista denominada V_TRAB_PERMISO asociada a la sentencia SQL anterior
CREATE VIEW V_TRAB_PERMISO AS SELECT NOM_TRAB "NOMBRE", FEC_PER "FECHA DE PERMISO", TIP_PER "MOTIVO" FROM TRABAJADOR NATURAL JOIN PERMISO WHERE TIP_PER='S' |
- Implementar una sentencia SQL que permita obtener el siguiente listado:
[pic 11]
- Crear, en el esquema REGIS, una vista denominada V_TRAB_PERM_AUT asociada a la sentencia SQL anterior
- Implementar una sentencia SQL que permita obtener el siguiente listado:
[pic 12]
- Crear, en el esquema REGIS, una vista denominada V_TRAB_ASIS asociada a la sentencia SQL anterior
- Implementar una sentencia SQL que permita obtener el listado del personal que llegó tarde a trabajar. considere que la hora de ingreso a Tecsup es a las 07:55 horas:
NO APLICA |
- Crear, en el esquema REGIS, una vista denominada V_TRAB_TARDE asociada a la sentencia SQL anterior
- Implementar una sentencia SQL que permita obtener el siguiente listado. Note que se ha reemplazado el valor ‘I’ por la palabra ‘INGRESO’ y ‘S’ por ‘SALIDA’. Nota: Use la función de Oracle DECODE:
[pic 13]
- Crear, en el esquema REGIS, una vista denominada V_TRAB_ASIS_V2 asociada a la sentencia SQL anterior
- Implementar una sentencia SQL que permita obtener el listado del personal que faltó a Tecsup en alguna oportunidad:
- Crear, en el esquema REGIS, una vista denominada V_TRAB_FALTA asociada a la sentencia SQL anterior
- Implementar una sentencia SQL que permita obtener el listado del personal que marcó hora de Ingreso pero no la Salida en alguna oportunidad:
- Crear, en el esquema REGIS, una vista denominada V_TRAB_NOSAL asociada a la sentencia SQL anterior
- Implementar una sentencia SQL que permita obtener el listado del personal que marcó hora de Salida pero no el Ingreso en alguna oportunidad:
- Crear, en el esquema REGIS, una vista denominada V_TRAB_NOING asociada a la sentencia SQL anterior
- PROCEDIMIENTO - INDICES
- Conectarse a la base de datos. Utilizar el usuario system.
- Desplegar el nodo correspondiente al esquema REGIS → Indices[pic 14]
- Verifique que exista ya un índice por cada clave primaria definido en cada tabla:
- La siguiente sentencia SQL permite crear un índice denominado IDX_AREA_NOMBRE asociado a la tabla AREAS donde el campo de ordenamiento será el campo NOM_AREA.
CREATE INDEX REGIS.IDX_AREAS_NOMBRE ON REGIS.AREAS (NOM_AREA) |
- Crear un índice denominado IDX_CARGO_NOMBRE asociado a la tabla CARGOS donde el campo de ordenamiento será el campo NOM_CARGO.
- Crear un índice denominado IDX_TRAB_NOMBRE asociado a la tabla TRABAJADOR donde el campo de ordenamiento será el campo NOM_TRAB.
- La siguiente sentencia SQL permite crear un índice denominado IDX_TRAB_SEX_NOM asociado a la tabla TRABAJADOR donde los campos de ordenamiento será SEX_TRAB y NOM_TRAB.
CREATE INDEX REGIS.IDX_TRAB_SEX_NOM ON REGIS.TRABAJADOR (SEX_TRAB, NOM_TRAB) |
- Crear un índice denominado IDX_TRAB_EST_SEX_NOM asociado a la tabla TRABAJADOR donde los campos de ordenamiento serán EST_TRAB, SEX_TRAB y NOM_TRAB.
- Crear un índice denominado IDX_PERM_TIP_TRAB asociado a la tabla PERMISO donde los campos de ordenamiento serán TIP_PERM, DNI_TRAB.
- Crear un índice denominado IDX_ASIS_TIP_TRAB asociado a la tabla ASISTENCIA donde los campos de ordenamiento serán TIP_ASI, DNI_TRAB.
- La siguiente sentencia SQL permite crear un índice denominado IDX_ASIS_FECHA_DESC asociado a la tabla ASISTENCIA donde los campos de ordenamiento será FEC_ASI descendente y TIP_ASI ascendente:
CREATE INDEX REGIS.IDX_ASIS_FECHA_DESC ON REGIS.ASISTENCIA ( TO_CHAR(FEC_ASI,'YYYY-MM-DD') DESC, TIP_ASI ASC); |
- SECUENCIAS
- Despliegue el nodo “Secuencias” en el esquema de base de datos “REGIS”, observe que actualmente no existe ninguna secuencia creada: [pic 15]
- La siguiente sentencia SQL permite crear una secuencia denominada SEQ_AREA con valor inicial 11, rango de valores entre 11-100 y con incrementos de 1 en 1.
CREATE SEQUENCE REGIS.SEQ_AREAS START WITH 11 MINVALUE 11 MAXVALUE 100 INCREMENT BY 1 NOCYCLE |
- Crear una secuencia denominada SEQ_CARGO con valor inicial 20, rango de valores entre 20-250 y con incrementos de 1 en 1.
- Crear una secuencia denominada SEQ_ASI con valor inicial 100, valor inicial 100 sin límite superior y con incrementos de 1 en 1.
- Crear una secuencia denominada SEQ_PERM con valor inicial 30, valor inicial 30 sin límite superior y con incrementos de 1 en 1.
- La siguiente sentencia permite obtener el siguiente valor de la secuencia SEQ_AREAS:
SELECT REGIS.SEQ_AREAS.NEXTVAL FROM DUAL |
[pic 16]
...