Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Especialidad y
Diseño y Desarrollo de Software, B Fecha 18/04/23
Grupo
Criterios Puntaje
4 3 2 0
Nro. DD-106
Laboratorio de Base de Datos
Visualización de Datos de varias tablas
Página 1
I. OBJETIVOS
● Emplear funciones diversas en sentencias SQL.
II. SEGURIDAD
Advertencia:
En este laboratorio está prohibida la manipulación de hardware,
conexiones eléctricas o de red; así como la ingestión de alimentos o
bebidas.
● No aplica.
IV. RECURSOS
VII. PROCEDIMIENTO
1. Ingrese a su cuenta de Oracle Live SQL: https://livesql.oracle.com/
2. Vamos a crear un esquema para registrar información de una biblioteca, en donde se tenga
el alquiler y venta de libros. Cree las siguientes tablas (créelas en el siguiente orden)
(adjunte los códigos SQL de creación de tablas, recuerde que las tablas donde dice XXX,
debe colocar las siglas del nombre del grupo):
Tabla: XXX_Bibliotecas
Campos Tipo de Campo
Id_Biblioteca Number(2,0)
Ubicacion Varchar2(30) (Nota: Debe ser el nombre de una ciudad)
Telefono Varchar2(30)
Tabla: XXX_Clientes
Campos Tipo de Campo
Id_Cliente Number(2,0)
Nombre_Cliente Varchar2(50)
Celular_Cliente Number(9,0)
Correo_Cliente Varchar2(50)
Estado_Cliente Varchar2(1)
Fecha_nacimiento Date
(El campo Estado_Cliente puede tener el valor 🡪 ‘N’: Normal / ‘M’: Moroso)
Tabla: XXX_Generos_Libros
Campos Tipo de Campo
Id_Genero Number(2,0)
Genero Varchar2(50)
Tabla: XXX_Encargados
Campos Tipo de Campo
Id_Encargado Number(2,0)
Nombre_Encargado Varchar2(50)
Correo_Encargado Varchar2(50)
Celular_Encargado Number(9,0)
Id_Biblioteca Number(2,0)
Nro. DD-106
Laboratorio de Base de Datos
Visualización de Datos de varias tablas
Página 3
Tabla: XXX_Libros
Campos Tipo de Campo
Id_Libro Number(2,0)
Nombre Varchar2(50)
Autor Varchar2(30)
Editorial Varchar2(30)
Stock Number(3,0)
Precio_Unitario Number(4,2)
Año_edicion Varchar2(4)
Id_Genero Number(2,0)
Tabla: XXX_Ventas_Libros
Campos Tipo de Campo
Id_Venta_Libro Number(2,0)
Id_Libro Number(2,0)
Id_Biblioteca Number(2,0)
Id_Cliente Number(2,0)
Cantidad Number(3,0)
Fecha_Venta Date
Tabla: XXX_Alquileres_Libros
Campos Tipo de Campo
Id_Alquiler_Libro Number(2,0)
Id_Libro Number(2,0)
Id_Biblioteca Number(2,0)
Id_Cliente Number(2,0)
Fecha_Entrega Date
Fecha_Devolucion Date
Estado_libro Varchar2(1)
Nro. DD-106
Laboratorio de Base de Datos
Visualización de Datos de varias tablas
Página 4
(El campo Estado_libro puede tener el valor 🡪 ‘D’: Disponible / ‘A’: Alquilado)
3. Una vez creadas las tablas inserte al menos 10 valores a cada tabla, según su criterio
(inserte en el orden en que se han creado las tablas) (adjunte los códigos SQL
correspondientes).
INSERT INTO GYP_Bibliotecas (Id_Biblioteca, Ubicacion, Telefono) VALUES (1, 'Lima', '01-123-4567');
INSERT INTO GYP_Bibliotecas (Id_Biblioteca, Ubicacion, Telefono) VALUES (2, 'Arequipa', '054-987-6543');
INSERT INTO GYP_Bibliotecas (Id_Biblioteca, Ubicacion, Telefono) VALUES (3, 'Trujillo', '044-321-0987');
INSERT INTO GYP_Bibliotecas (Id_Biblioteca, Ubicacion, Telefono) VALUES (4, 'Cusco', '084-765-4321');
INSERT INTO GYP_Bibliotecas (Id_Biblioteca, Ubicacion, Telefono) VALUES (5, 'Piura', '073-246-1357');
INSERT INTO GYP_Bibliotecas (Id_Biblioteca, Ubicacion, Telefono) VALUES (6, 'Chiclayo', '074-951-3574');
INSERT INTO GYP_Bibliotecas (Id_Biblioteca, Ubicacion, Telefono) VALUES (7, 'Iquitos', '065-789-0123');
INSERT INTO GYP_Bibliotecas (Id_Biblioteca, Ubicacion, Telefono) VALUES (8, 'Huancayo', '064-321-9876');
INSERT INTO GYP_Bibliotecas (Id_Biblioteca, Ubicacion, Telefono) VALUES (9, 'Tacna', '052-246-1357');
INSERT INTO GYP_Bibliotecas (Id_Biblioteca, Ubicacion, Telefono) VALUES (10, 'Puno', '051-951-3574');
SELECT * FROM GYP_Bibliotecas;
INSERT INTO GYP_Clientes VALUES (1, 'Jorge Pérez', 912345678, 'jorgeperez@gmail.com', 'N',
TO_DATE('12-01-1990', 'DD-MM-YYYY'));
INSERT INTO GYP_Clientes VALUES (2, 'Ana Torres', 956789012, 'anatorres@hotmail.com', 'M',
TO_DATE('25-07-1988', 'DD-MM-YYYY'));
INSERT INTO GYP_Clientes VALUES (3, 'Luisa García', 965432178, 'luisagarcia@yahoo.com', 'N',
TO_DATE('06-05-1992', 'DD-MM-YYYY'));
INSERT INTO GYP_Clientes VALUES (4, 'Pedro Rodríguez', 974321567, 'pedrorodriguez@gmail.com', 'M',
TO_DATE('02-11-1995', 'DD-MM-YYYY'));
INSERT INTO GYP_Clientes VALUES (5, 'María Vargas', 923456789, 'mariavargas@gmail.com', 'N',
TO_DATE('15-09-1993', 'DD-MM-YYYY'));
INSERT INTO GYP_Clientes VALUES (6, 'Santiago Flores', 912345678, 'santiagoflores@hotmail.com', 'M',
TO_DATE('22-03-1991', 'DD-MM-YYYY'));
INSERT INTO GYP_Clientes VALUES (7, 'Julia Martínez', 956789012, 'juliamartinez@yahoo.com', 'N',
TO_DATE('29-06-1989', 'DD-MM-YYYY'));
INSERT INTO GYP_Clientes VALUES (8, 'Diego Sánchez', 965432178, 'diegosanchez@gmail.com', 'M',
TO_DATE('14-04-1994', 'DD-MM-YYYY'));
INSERT INTO GYP_Clientes VALUES (9, 'Carla Castro', 974321567, 'carlacastro@gmail.com', 'N',
TO_DATE('01-12-1996', 'DD-MM-YYYY'));
INSERT INTO GYP_Clientes VALUES (10, 'Fernando García', 923456789, 'fernandogarcia@hotmail.com', 'M',
TO_DATE('27-08-1990', 'DD-MM-YYYY'));
Nro. DD-106
Laboratorio de Base de Datos
Visualización de Datos de varias tablas
Página 5
INSERT INTO GYP_Encargados VALUES (1, 'Juan Pérez', 'juanperez@gmail.com', 917654321, 1);
INSERT INTO GYP_Encargados VALUES (2, 'Pedro García', 'pedrogarcia@hotmail.com', 966789012, 2);
INSERT INTO GYP_Encargados VALUES (3, 'Ana Castro', 'anacastro@yahoo.com', 945678901, 3);
INSERT INTO GYP_Encargados VALUES (4, 'Luisa Vargas', 'luisavargas@gmail.com', 978945612, 1);
INSERT INTO GYP_Encargados VALUES (5, 'Mario Fernández', 'mariofernandez@gmail.com', 923456789, 2);
INSERT INTO GYP_Encargados VALUES (6, 'María López', 'marialopez@gmail.com', 912345678, 1);
INSERT INTO GYP_Encargados VALUES (7, 'Luis Gómez', 'luisgomez@hotmail.com', 956789012, 2);
INSERT INTO GYP_Encargados VALUES (8, 'Paola Ramos', 'paolaramos@yahoo.com', 965432178, 3);
INSERT INTO GYP_Encargados VALUES (9, 'José Medina', 'josemedina@gmail.com', 974321567, 1);
INSERT INTO GYP_Encargados VALUES (10, 'Carla Rodríguez', 'carlarodriguez@gmail.com', 923456789, 2);
SELECT * FROM GYP_Encargados;
INSERT INTO GYP_Libros VALUES (1, 'Cien años de soledad', 'Gabriel García Márquez', 'Editorial San Marcos', 50,
50.00, '1970', 2);
INSERT INTO GYP_Libros VALUES (2, 'La ciudad y los perros', 'Mario Vargas Llosa', 'Editorial Planeta', 30, 45.00,
'1963', 2);
INSERT INTO GYP_Libros VALUES (3, 'Historia de la corrupción en el Perú', 'Alfonso Quiroz', 'Editorial
Universitaria', 25, 55.00,'1980', 1);
INSERT INTO GYP_Libros VALUES (4, 'El amauta', 'José María Arguedas', 'Editorial Horizonte', 10, 25.00, '1961', 2);
INSERT INTO GYP_Libros VALUES (5, 'La cocina de Gastón Acurio', 'Gastón Acurio', 'Editorial Planeta', 15, 75.00,
'2018', 6);
INSERT INTO GYP_Libros VALUES (6, 'El zorro de arriba y el zorro de abajo', 'José María Arguedas', 'Editorial
Horizonte', 20, 30.00, '1971', 2);
INSERT INTO GYP_Libros VALUES (7, 'La vorágine', 'José Eustasio Rivera', 'Editorial Amaru', 8, 40.00, '1924', 7);
INSERT INTO GYP_Libros VALUES (8, 'Todas las sangres', 'José María Arguedas', 'Editorial Horizonte', 15, 35.00,
'1964', 2);
INSERT INTO GYP_Libros VALUES (9, 'La tía Julia y el escribidor', 'Mario Vargas Llosa', 'Editorial Seix Barral', 25,
50.00, '1977', 2);
INSERT INTO GYP_Libros VALUES (10, 'Las venas abiertas de América Latina', 'Eduardo Galeano', 'Editorial Siglo
XXI', 12, 45.00, '1971', 2);
SELECT * FROM GYP_Libros;
Nro. DD-106
Laboratorio de Base de Datos
Visualización de Datos de varias tablas
Página 6
Sentencia SQL
Resultado de la herramienta
Resultado de la herramienta
Nro. DD-106
Laboratorio de Base de Datos
Visualización de Datos de varias tablas
Página 8
Nro. DD-106
Laboratorio de Base de Datos
Visualización de Datos de varias tablas
Página 9
Nro. DD-106
Laboratorio de Base de Datos
Visualización de Datos de varias tablas
Página 10
Aquí se seleccionan el nombre de una tabla Libros y el género de otra tabla Generos_Libros con
sus respectivas alias utilizamos el INNER JOIN para combinarlas y así darnos solo esas
columnas que solicitamos
Sentencia SQL
Resultado de la herramienta
Resultado de la herramienta
Nro. DD-106
Laboratorio de Base de Datos
Visualización de Datos de varias tablas
Página 12
c. Muestre los nombres de los clientes y las fechas en que compraron libros.
d. Muestre los nombres de los clientes y las fechas en que alquilaron y devolvieron
libros.
e. Muestre los nombres de los libros, sus géneros, fechas y cantidades vendidas en el
año 2015.
Si fueran en 2023:
Nro. DD-106
Laboratorio de Base de Datos
Visualización de Datos de varias tablas
Página 15
Resultado de la herramienta
VIII. CONCLUSIONES
● con “INNER JOIN” podemos incluir elementos de una tabla creada a otra lo que permite y
facilita el que se requiera mostrar diferentes valores de diferentes tablas.
● Al usar algún “JOIN” se tiene que poner la función “ON” en referencia a la tabla en que
queremos que se guarden las demás partes de las otras tablas que estemos usando.
● Una tabla no puede tener una restricción con el mismo nombre que otra tabla por lo que no
se ejecutará el código, esto debido a que cada condición para una tabla es única por lo
que el nombre tiene que ser diferente pero puede tener las mismas restricciones.