SlideShare una empresa de Scribd logo
Laboratorio N° 2
           Vistas en SQL
  Carolina Navarro Díaz y Patricia Vargas Muñoz




       Valdivia, 22 de Noviembre de 2012
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría


Supuestos: La base de datos no guarda el histórico de los préstamos realizados, es decir,
que al entregar un libro, ese préstamo se elimina de la tabla PRESTAMO.


1.- Realice las siguientes vistas:


    a) Que entregue los estudiantes que son de Ing. Comercial (NOMBRES y APELLIDOS
        del estudiante, NOMBRE de la carrera y NOMBRE del campus).




                                           2
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría



    b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del
        estudiante, NOMBRE de la carrera y NOMBRE del campus).




                                          3
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría



c) Que entregue los estudiantes que se atrasaron en la entrega de los libros (RUT,
NOMBRES, APELLIDOS y FONO).




d) La cantidad de libros prestados.




                                        4
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría




e) Los libros de editoriales extranjeras (CODIGO, TITULO, AÑO y PAIS de ORIGEN).




                                            5
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría




f) Los libros que son de reserva (CODIGO, TITULO y AÑO del LIBRO, NOMBRE de la
biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAIS).




                                            6
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría




2.-Se requiere obtener datos desde la Base de Datos y almacenarlos de forma permanente
(Vista). Se solicita:


       Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados o
        no).
       Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además del
        NOMBRE de la carrera a la cual pertenece.
       Además se debe entregar que libro tiene prestado, indicando CODIGO, TITULO y
        AÑO, el NOMBRE y APELLIDO del autor, la EDITORIAL y su PAIS, indicar en qué
        biblioteca se encuentra, y de qué tipo es.
       Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE y
        APELLIDO.
       Además deberá indicarse la FECHA de PRESTAMO y la FECHA de ENTREGA de éste.


NOTA: deberá añadir ALIAS al NOMBRE del estudiante, del funcionario, del autor y de la
carrera para diferenciarlos.



                                              7
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría




3.- Se solicita obtener lo siguiente (vistas):


a) El número de Estudiantes por Carrera.




                                                 8
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría




b) El número de Estudiantes por Campus
c) El número de Estudiantes por Ciudad
d) El numero de Préstamos atrasados




                                         9
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría




e) El número de Prestamos Activos, No atrasados.




                                          10
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría




              Detalle de los comandos utilizados en este laboratorio
Que entregue los estudiantes que son de Ing. Comercial (NOMBRES y APELLIDOS del
estudiante, NOMBRE de la carrera y NOMBRE del campus)

CREATE OR REPLACE vw_ESTUDIANTES_COMERCIAL AS
SELECT E.NOMBRES, E.APELLIDOS, CA.NOMBRE, CA.NOMBRE
 CAMPUS CA, CARRERAS CR, ESTUDIANTES E
 WHERE CA.ID_CAMPUS = CR.ID_CAMPUS
 AND CR.ID_CARRERA = E.ID_CARRERA
 AND CR.NOMBRE = 'ING. COMERCIAL'

Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del
estudiante, NOMBRE de la carrera y NOMBRE del campus)

CREATE OR REPLACE vw_ESTUDIANTES_AUDITORIA AS
SELECT E.NOMBRES, E.APELLIDOS, CA.NOMBRE, CA.NOMBRE
FROM CAMPUS CA, CARRERAS CR, ESTUDIANTES E
WHERE CA.ID_CAMPUS = CR.ID_CAMPUS
AND CR.ID_CARRERA = E.ID_CARRERA
AND CR.NOMBRE = 'AUDITORIA'




                                        11
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría

Que entregue los estudiantes que se atrasaron en la entrega de los libros (RUT,
NOMBRES, APELLIDOS y FONO)

CREATE OR REPLACE vw_ESTUDIANTES_ATRASADOS AS
SELECT E.NOMBRES, E.APELLIDOS, E.RUT_EST, E.FONO, PR.FECHA_E
FROM ESTUDIANTES E, PRESTAMO PR
 WHERE E.RUT_EST = PR.RUT_EST
AND FECHA_E < trunc(SYSDATE)


La cantidad de libros prestados.


CREATE OR REPLACE VIEW vw_clibros_prestados AS (crea la vista)
SELECT COUNT(cod_libro) AS prestamos_libro FROM préstamo


(Cuenta todos los libros en la tabla Préstamo y lo agrupa en la variable prestamo_libros)


Los libros de editoriales extranjeras (CODIGO, TITULO, AÑO y PAIS de ORIGEN).


CREATE OR REPLACE VIEW vw_libros_edit_extranjeras AS (crea la vista)
SELECT libros.Cod_libro, libros.Titulo, libros.agno, editoriales.Pais
FROM libros
INNER JOIN editoriales
ON libros.id_edit=editoriales.id_edit
WHERE editoriales.pais <> 'CHILE';


Los libros que son de reserva (CODIGO, TITULO y AÑO del LIBRO, NOMBRE de la
biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAIS ).


CREATE OR REPLACE VIEW vw_libros_reserva AS (crea la vista)
SELECT libros.Cod_libro, libros.Titulo, libros.agno, biblioteca.biblioteca, autores.nombres,
autores.apellidos, editoriales.nombre, editoriales.pais
FROM libros

                                              12
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría

INNER JOIN autores ON libros.rut_autor = autores.rut_autor
INNER JOIN biblioteca ON libros.id_biblio = biblioteca.id_biblio
INNER JOIN editoriales ON libros.id_edit = editoriales.id_edit
INNER JOIN tipo ON libros.id_tipo = tipo.id_tipo WHERE tipo.tipo_p = 'RESERVA';


    Se requiere obtener datos desde la Base de Datos y almacenarlos de forma
permanente (Vista). Se solicita:


        Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados o
         no).
        Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además del
         NOMBRE de la carrera a la cual pertenece.
        Además se debe entregar que libro tiene prestado, indicando CODIGO, TITULO y
         AÑO, el NOMBRE y APELLIDO del autor, la EDITORIAL y su PAIS, indicar en qué
         biblioteca se encuentra, y de qué tipo es.
        Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE y
         APELLIDO.
        Además deberá indicarse la FECHA de PRESTAMO y la FECHA de ENTREGA de éste.


CREATE OR REPLACE VIEW vw_alumno_teja_prestamo AS (Crea la vista)
SELECT          estudiantes.rut_est,      estudiantes.nombres,              estudiantes.apellidos,
prestamo.cod_libro,      carreras.nombre,      libros.Cod_libro,    libros.Titulo,    libros.agno,
autores.nombres,          autores.apellidos,          editoriales.nombre,         editoriales.pais,
biblioteca.biblioteca, funcionarios.rut_func, funcionarios.nombres, funcionarios.apellidos,
prestamo.fecha_p, prestamo.fecha_e
FROM estudiantes
INNER JOIN prestamo ON estudiantes.rut_est = prestamo.rut_est
INNER JOIN libros ON prestamo.cod_libro = libros.cod_libro
INNER JOIN editoriales ON libros.id_edit = editoriales.id_edit


                                               13
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría

INNER JOIN autores ON libros.rut_autor = autores.rut_autor
INNER JOIN biblioteca ON libros.id_biblio = biblioteca.id_biblio
INNER JOIN funcionarios ON prestamo.rut_func = funcionarios.rut_func
INNER JOIN carreras ON estudiantes.id_carrera = carreras.id_carrera
INNER JOIN campus ON carreras.id_campus = campus.id_campus where campus.nombre
= 'ISLA TEJA'


Se solicita obtener lo siguiente (vistas):


N° de Estudiantes por Carrera.


CREATE OR REPLACE VIEW vw_cant_estudiantes_x_Carrera AS (Crea la vista)
SELECT carreras.nombre, carrera.cantidad_alumnos
FROM carreras
INNER JOIN (SELECT id_carrera, count(*) cantidad_alumnos FROM estudiantes group by
id_carrera) carrera ON carreras.id_carrera = carrera.id_carrera


N° de Estudiantes por Campus


CREATE OR REPLACE VIEW vw_cant_estudiantes_x_campus AS (Crea la vista)
       Select count (*)
       From estudiantes e,carreras c
       Where e.id_campus=c.id_campus


N° de Estudiantes por Ciudad


CREATE OR REPLACE VIEW vw_cant_estudiantes_x_ciudad AS
       Select count (*)
       From estudiantes e


                                             14
Carolina Navarro y Patricia Vargas
Estudiantes de Auditoría

       Where e.id_ciudad=c.id_ciudad


N° de Préstamos atrasados
CREATE OR REPLACE VIEW vw_prestamos_atrasados AS (Crea la vista)
SELECT COUNT(cod_libro) AS atrasados from prestamo where fecha_e < SYSDATE


N° de Prestamos Activos, No atrasados.
CREATE OR REPLACE VIEW vw_prestamos_no_atrasados AS (Crea la vista)
SELECT COUNT(cod_libro) AS no_atrasados from prestamo where fecha_e >= SYSDATE




                                         15

Más contenido relacionado

PDF
Actividad 1 Ayudantia. Consultas y Vistas
DOCX
Laboratorio n 2 (1)
PDF
Laboratorio N° 2
DOCX
DOCX
Laboratorio n 2
DOCX
Tarea 1
PDF
PDF
Tarea consultas ayudantia 23 del 4
Actividad 1 Ayudantia. Consultas y Vistas
Laboratorio n 2 (1)
Laboratorio N° 2
Laboratorio n 2
Tarea 1
Tarea consultas ayudantia 23 del 4

Destacado (7)

PPT
Semana 2 funciones sql en plsql
PPTX
1 clase de Ps /sql
PDF
PLSQL y paquetes
PDF
Good sql server interview_questions
PPTX
Sql server express edition 2012 libro
DOC
Ejercicios De Sql (actualizado)
PDF
Manual sql server parte 1
Semana 2 funciones sql en plsql
1 clase de Ps /sql
PLSQL y paquetes
Good sql server interview_questions
Sql server express edition 2012 libro
Ejercicios De Sql (actualizado)
Manual sql server parte 1
Publicidad

Similar a Laboratorio nº2 (20)

PDF
Laboratorio N° 2
PDF
Ayudantia 2 sia
PDF
Ayudantia 2 sia
DOCX
Trabajo ayudantía
DOCX
Laboratorio 2 (1)
DOCX
Laboratorio Nº 2 SIA
DOCX
Laboratorio 2 - ayudantia
DOCX
Laboratorio 2
DOCX
Laboratorio ii sistemas de informacion empresarial - iván jara, alexis quin...
DOCX
Laboratorio ii sistemas de informacion empresarial - iván jara, alexis quin...
DOCX
Laboratorio sia 2 (1)
DOCX
Laboratorio SIA - 2
DOCX
Laboratorio 2 SIA
DOCX
Laboratorio SIA
DOCX
Laboratorio 1
DOCX
Laboratorio 2
DOCX
Primer Informe Ayudantía
DOCX
Trabajo ayudantia
DOCX
Tarea sia 30-04-12
DOCX
Tarea sia 30-04-12
Laboratorio N° 2
Ayudantia 2 sia
Ayudantia 2 sia
Trabajo ayudantía
Laboratorio 2 (1)
Laboratorio Nº 2 SIA
Laboratorio 2 - ayudantia
Laboratorio 2
Laboratorio ii sistemas de informacion empresarial - iván jara, alexis quin...
Laboratorio ii sistemas de informacion empresarial - iván jara, alexis quin...
Laboratorio sia 2 (1)
Laboratorio SIA - 2
Laboratorio 2 SIA
Laboratorio SIA
Laboratorio 1
Laboratorio 2
Primer Informe Ayudantía
Trabajo ayudantia
Tarea sia 30-04-12
Tarea sia 30-04-12
Publicidad

Más de Patricia Vargas Muñoz (8)

PDF
Laboratorio N° 1 SIA
PDF
Modelo de Datos - Modelo E-R
PDF
PDF
Tributación aplicada ila e iaba
PDF
Células Madre ¿El fin justifica los medios?
PDF
Presentación productoras argentinas
PDF
Monografía recursos humanos
PDF
Planificación agregada en los servicios
Laboratorio N° 1 SIA
Modelo de Datos - Modelo E-R
Tributación aplicada ila e iaba
Células Madre ¿El fin justifica los medios?
Presentación productoras argentinas
Monografía recursos humanos
Planificación agregada en los servicios

Laboratorio nº2

  • 1. Laboratorio N° 2 Vistas en SQL Carolina Navarro Díaz y Patricia Vargas Muñoz Valdivia, 22 de Noviembre de 2012
  • 2. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría Supuestos: La base de datos no guarda el histórico de los préstamos realizados, es decir, que al entregar un libro, ese préstamo se elimina de la tabla PRESTAMO. 1.- Realice las siguientes vistas: a) Que entregue los estudiantes que son de Ing. Comercial (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). 2
  • 3. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). 3
  • 4. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría c) Que entregue los estudiantes que se atrasaron en la entrega de los libros (RUT, NOMBRES, APELLIDOS y FONO). d) La cantidad de libros prestados. 4
  • 5. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría e) Los libros de editoriales extranjeras (CODIGO, TITULO, AÑO y PAIS de ORIGEN). 5
  • 6. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría f) Los libros que son de reserva (CODIGO, TITULO y AÑO del LIBRO, NOMBRE de la biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAIS). 6
  • 7. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría 2.-Se requiere obtener datos desde la Base de Datos y almacenarlos de forma permanente (Vista). Se solicita:  Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados o no).  Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además del NOMBRE de la carrera a la cual pertenece.  Además se debe entregar que libro tiene prestado, indicando CODIGO, TITULO y AÑO, el NOMBRE y APELLIDO del autor, la EDITORIAL y su PAIS, indicar en qué biblioteca se encuentra, y de qué tipo es.  Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE y APELLIDO.  Además deberá indicarse la FECHA de PRESTAMO y la FECHA de ENTREGA de éste. NOTA: deberá añadir ALIAS al NOMBRE del estudiante, del funcionario, del autor y de la carrera para diferenciarlos. 7
  • 8. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría 3.- Se solicita obtener lo siguiente (vistas): a) El número de Estudiantes por Carrera. 8
  • 9. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría b) El número de Estudiantes por Campus c) El número de Estudiantes por Ciudad d) El numero de Préstamos atrasados 9
  • 10. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría e) El número de Prestamos Activos, No atrasados. 10
  • 11. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría Detalle de los comandos utilizados en este laboratorio Que entregue los estudiantes que son de Ing. Comercial (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus) CREATE OR REPLACE vw_ESTUDIANTES_COMERCIAL AS SELECT E.NOMBRES, E.APELLIDOS, CA.NOMBRE, CA.NOMBRE CAMPUS CA, CARRERAS CR, ESTUDIANTES E WHERE CA.ID_CAMPUS = CR.ID_CAMPUS AND CR.ID_CARRERA = E.ID_CARRERA AND CR.NOMBRE = 'ING. COMERCIAL' Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus) CREATE OR REPLACE vw_ESTUDIANTES_AUDITORIA AS SELECT E.NOMBRES, E.APELLIDOS, CA.NOMBRE, CA.NOMBRE FROM CAMPUS CA, CARRERAS CR, ESTUDIANTES E WHERE CA.ID_CAMPUS = CR.ID_CAMPUS AND CR.ID_CARRERA = E.ID_CARRERA AND CR.NOMBRE = 'AUDITORIA' 11
  • 12. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría Que entregue los estudiantes que se atrasaron en la entrega de los libros (RUT, NOMBRES, APELLIDOS y FONO) CREATE OR REPLACE vw_ESTUDIANTES_ATRASADOS AS SELECT E.NOMBRES, E.APELLIDOS, E.RUT_EST, E.FONO, PR.FECHA_E FROM ESTUDIANTES E, PRESTAMO PR WHERE E.RUT_EST = PR.RUT_EST AND FECHA_E < trunc(SYSDATE) La cantidad de libros prestados. CREATE OR REPLACE VIEW vw_clibros_prestados AS (crea la vista) SELECT COUNT(cod_libro) AS prestamos_libro FROM préstamo (Cuenta todos los libros en la tabla Préstamo y lo agrupa en la variable prestamo_libros) Los libros de editoriales extranjeras (CODIGO, TITULO, AÑO y PAIS de ORIGEN). CREATE OR REPLACE VIEW vw_libros_edit_extranjeras AS (crea la vista) SELECT libros.Cod_libro, libros.Titulo, libros.agno, editoriales.Pais FROM libros INNER JOIN editoriales ON libros.id_edit=editoriales.id_edit WHERE editoriales.pais <> 'CHILE'; Los libros que son de reserva (CODIGO, TITULO y AÑO del LIBRO, NOMBRE de la biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAIS ). CREATE OR REPLACE VIEW vw_libros_reserva AS (crea la vista) SELECT libros.Cod_libro, libros.Titulo, libros.agno, biblioteca.biblioteca, autores.nombres, autores.apellidos, editoriales.nombre, editoriales.pais FROM libros 12
  • 13. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría INNER JOIN autores ON libros.rut_autor = autores.rut_autor INNER JOIN biblioteca ON libros.id_biblio = biblioteca.id_biblio INNER JOIN editoriales ON libros.id_edit = editoriales.id_edit INNER JOIN tipo ON libros.id_tipo = tipo.id_tipo WHERE tipo.tipo_p = 'RESERVA'; Se requiere obtener datos desde la Base de Datos y almacenarlos de forma permanente (Vista). Se solicita:  Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados o no).  Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además del NOMBRE de la carrera a la cual pertenece.  Además se debe entregar que libro tiene prestado, indicando CODIGO, TITULO y AÑO, el NOMBRE y APELLIDO del autor, la EDITORIAL y su PAIS, indicar en qué biblioteca se encuentra, y de qué tipo es.  Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE y APELLIDO.  Además deberá indicarse la FECHA de PRESTAMO y la FECHA de ENTREGA de éste. CREATE OR REPLACE VIEW vw_alumno_teja_prestamo AS (Crea la vista) SELECT estudiantes.rut_est, estudiantes.nombres, estudiantes.apellidos, prestamo.cod_libro, carreras.nombre, libros.Cod_libro, libros.Titulo, libros.agno, autores.nombres, autores.apellidos, editoriales.nombre, editoriales.pais, biblioteca.biblioteca, funcionarios.rut_func, funcionarios.nombres, funcionarios.apellidos, prestamo.fecha_p, prestamo.fecha_e FROM estudiantes INNER JOIN prestamo ON estudiantes.rut_est = prestamo.rut_est INNER JOIN libros ON prestamo.cod_libro = libros.cod_libro INNER JOIN editoriales ON libros.id_edit = editoriales.id_edit 13
  • 14. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría INNER JOIN autores ON libros.rut_autor = autores.rut_autor INNER JOIN biblioteca ON libros.id_biblio = biblioteca.id_biblio INNER JOIN funcionarios ON prestamo.rut_func = funcionarios.rut_func INNER JOIN carreras ON estudiantes.id_carrera = carreras.id_carrera INNER JOIN campus ON carreras.id_campus = campus.id_campus where campus.nombre = 'ISLA TEJA' Se solicita obtener lo siguiente (vistas): N° de Estudiantes por Carrera. CREATE OR REPLACE VIEW vw_cant_estudiantes_x_Carrera AS (Crea la vista) SELECT carreras.nombre, carrera.cantidad_alumnos FROM carreras INNER JOIN (SELECT id_carrera, count(*) cantidad_alumnos FROM estudiantes group by id_carrera) carrera ON carreras.id_carrera = carrera.id_carrera N° de Estudiantes por Campus CREATE OR REPLACE VIEW vw_cant_estudiantes_x_campus AS (Crea la vista) Select count (*) From estudiantes e,carreras c Where e.id_campus=c.id_campus N° de Estudiantes por Ciudad CREATE OR REPLACE VIEW vw_cant_estudiantes_x_ciudad AS Select count (*) From estudiantes e 14
  • 15. Carolina Navarro y Patricia Vargas Estudiantes de Auditoría Where e.id_ciudad=c.id_ciudad N° de Préstamos atrasados CREATE OR REPLACE VIEW vw_prestamos_atrasados AS (Crea la vista) SELECT COUNT(cod_libro) AS atrasados from prestamo where fecha_e < SYSDATE N° de Prestamos Activos, No atrasados. CREATE OR REPLACE VIEW vw_prestamos_no_atrasados AS (Crea la vista) SELECT COUNT(cod_libro) AS no_atrasados from prestamo where fecha_e >= SYSDATE 15