Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A. TÍTULO DE LA EXPERIENCIA
Introducción al Lenguaje de Manipulación de Datos (DML)
B. TEMAS:
TEMA 8. SQL (Lenguaje Estructurado De Consultas)
C. OBJETIVO(S):
Introducir al estudiante en el Lenguaje de Manipulación de Datos
D. RECURSOS:
Microsoft Transact SQL (T-SQL)
Computadora
Proyector Multimedia
Diapositivas en Power Point
Material utilizado por el profesor
E. RÚBRICAS:
Criterio Ponderación (100%)
Calidad en la presentación del laboratorio 20%
Calidad del contenido del Laboratorio 60%
Puntualidad en la entrega de la tarea 20%
Ponderación
Criterio Indicadores a evaluar en el criterio (100%)
Para realizar el siguiente laboratorio, el docente proporcionará los Scripts SQL para la creación de la base
de datos “DB_EmpresaXYZ” y la carga de datos de ejemplos para la realización del laboratorio.
A continuación los estudiantes estudiarán las consultas combinadas (dos o más tablas). Además, también
estudiaránas funciones especiales del Lenguaje SQL. Funciones de Ordenamiento, Agrupamiento y
Agregación: Order By, Group By, SUM, AVG, MIN, MAX, COUNT, Having. Resolverán cada uno de los
problemas propuestas y realizarán capturas de pantalla presentando el código SQL y el resultado de la
sentencia SQL.
Consultas con más de dos tablas en la relación.
1. Problema: Consultar todos los productos cuyos proveedores estén localizados en Santiago
2. Problema: Consultar todas las ventas registradas donde se ha comprado el producto cuyo código
corresponde al 100001
3. Problema: Consultar todas las ventas donde se hayan vendido el producto 100004
4. Problema: Consultar todos los datos del proveedor para las facturas donde se hay comprado el
producto 100006
5. Problema: Consultar el nombre del cliente y la dirección cuyos clientes hayan comprado el producto
con el código registrado 100007
6. Consultar el código del cliente, nombre o descripción del producto y precio de venta del producto para
la factura Nº 1000
7. Problema: Consultar los datos de los Clientes (Nombre completo, dirección, teléfonos de contacto,
( email ) que no hayan comprado el producto con el código asignado 10003.
8. Problema: Seleccionar los datos de las facturas (Codigo_Factura, Fecha_Factura, Nombre del
Cliente, Nombre del Producto) de todas las ventas donde la dirección del cliente sea distinto de
Santiago
9. Problema: Consultar los datos de los Clientes (Nombre completo, dirección, teléfonos de contacto,
Email ) para todas las ventas cuya fecha de venta se haya realizado el 02/04/2012 o dirección cliente
sea distinto de Santiago.
10. Consultar la descripción o nombre del producto, el precio de venta y el precio de costo de aquellos
productos cuyo proveedor tenga el código 103 or el proveedor esté ubicado en ciudad de Panamá
11. Problema: Consultar codigo de producto, nombre producto, codigo proveedor, nombre proveedor y
telefono fijo del provedor cuyo precio de costo esté en el rango de 0 a 350 y el proveedor esté
localizado en Santiago
12. Problema: Consultar el codigo del proveedor, nombre del Proveedor, primer apellido y datos de
contacto de los proveedores con localización en chitre y Panamá y vendan productos cuyo precio de
costo sea superior a 50 balboas
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #3
25. Problema Propuesto: Mostrar las ventas totales mayores de 1200 para cada uno de los Clientes que
tienen registro en la base de datos de la empresa.
26. Problema Propuesto: Consultar el 50% de todos los productos listados en la base de datos mostrando
la información: código del producto, descripción del producto, precio de venta, nombre y apellido del
proveedor como un solo campo.
27. Problema Propuesto: Consultar la descripcion del producto, el precio de venta, el precio de costo,
codigo del proveedor, nombre del proveedor y dirección del proveedor para los proveedores con los
códigos 100, 102, 103.
28. Consultar la información de todos los productos con descripción Tipo “USB” cuyo precio de costo
oscile entre 40 a 100 balboas.
29. Consultar todas las facturas de ventas mostrando la siguiente información: código de factura, nombre
completo del cliente, fecha de venta y la cantidad de Ítems adquiridos por cada factura. Ordenar los
resultados a partir de las facturas con mayor cantidad de productos comprados.
30. Problema Propuesto: Totalizar las cantidades de productos vendidos por Factura y presentar sólo
aquellas aquellas facturas donde se haya comprado una cantidad superior a tres productos.
31. Problema Propuesto: Consultar la información de los productos (codigo, descripción, precio venta,
precio costo, nombre del proveedor), dirección del proveedor cuyo precio de venta este en el rango
100 a 500 y proveedor localizado en Santiago (Clausula Distinct).
G. RESULTADOS:
Conocimiento del Lenguaje DML
Conocimiento de los conceptos básicos de las base de datos Relacional
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #3
Dominio de la Herramienta Microsoft Transact SQL para la creación del Código SQL de una base
de datos.
H. CONSIDERACIONES FINALES:
Opinión del estudiante sobre el logro del objetivo y el desarrollo de la experiencia.
1. Problema: Consultar todos los productos cuyo proveedores estén localizados en Santiago
2. Problema: Consultar todas las ventas registradas donde se ha comprado el producto cuyo código
corresponde al 100001.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #3
3. Problema: Consultar todas las ventas donde se hayan vendido el producto 100004
4. Problema: Consultar todos los datos del proveedor para las facturas donde se hay comprado el
producto 100006.
Seleccionamos los registros de lnombre y primer apellido del cliente y los concatenamos y su dirección
que pertenecen a la tabla TB_cliente que tiene la clave primaria codigo_cliente y la igualamos a la clave
foránea codigo_cliente en la tabla TB_Factura_Venta y posee como clave primaria codigo_factura y la
tabla TB_Detalle_Factura_Venta la clave foránea codigo_factura y el registro Codigo_Producto de la
misma tabla decimos que sea igual a 100007.
6. Consultar el código del cliente, nombre o descripción del producto y precio de venta del producto para
la factura Nº 1000
7. Problema: Consultar los datos de los Clientes (Nombre completo, dirección, teléfonos de contacto,
Email) que no hayan comprado el producto con el código asignado 10003.
Select cl.Nombre_Cliente,cl.PrimerApellido_Cliente, cl.SegundoApellido_Cliente,
cl.Direccion_Cliente, cl.TelefonoFijo_Cliente,
cl.TelefonoMovil_Cliente,cl.Email_Cliente, dfv.Codigo_Producto from TB_Cliente cl,
TB_Factura_Venta fv, TB_Detalle_Factura_Venta dfv
where cl.Codigo_Cliente = fv.Codigo_Cliente
8. Problema: Seleccionar los datos de las facturas (Codigo_Factura, Fecha_Factura, Nombre del
Cliente, Nombre del Producto) de todas las ventas donde la dirección del cliente sea distinto de
Santiago
9. Problema: Consultar los datos de los Clientes (Nombre completo, dirección, teléfonos de contacto,
Email) para todas las ventas cuya fecha de venta se haya realizado el 02/04/2012 o dirección cliente
sea distinto de Santiago.
--9
Select distinct cl.Nombre_Cliente,cl.PrimerApellido_Cliente,
cl.SegundoApellido_Cliente, cl.Direccion_Cliente, cl.TelefonoFijo_Cliente,
cl.TelefonoMovil_Cliente,cl.Email_Cliente
from TB_Cliente cl, TB_Factura_Venta fv
where fv.Codigo_Cliente = cl.Codigo_Cliente
and fv.Fecha_Factura = '02/04/2012'
or not cl.Direccion_Cliente = 'Santiago'
10. Consultar la descripción o nombre del producto, el precio de venta y el precio de costo de aquellos productos
cuyo proveedor tenga el código 103 o el proveedor esté ubicado en ciudad de Panamá.
11. Consultar codigo de producto, nombre producto, codigo proveedor, nombre proveedor y telefono fijo del
provedor cuyo precio de costo esté en el rango de 0 a 350 y el proveedor esté localizado en Santiago
La consulta es
SELECT tpr.Codigo_Producto, tpr.Descripcion_Producto, tpv.Codigo_Proveedor,
tpv.Nombre_Proveedor, tpv.TelefonoFijo_Proveedor
FROM TB_Producto tpr, TB_Proveedor tpv
WHERE Precio_Costo BETWEEN 0 AND 350
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #3
12. Consultar el codigo del proveedor, nombre del Proveedor, primer apellido y datos de
contacto de los proveedores con localización en chitre y Panamá y vendan productos cuyo
precio de costo sea superior a 50 balboas
14. La consulta extrae el código de factura, descripción del producto y la cantidad, de las tablas
producto, detalle de factura a las cuáles les asigna un “Alias” siempre que el código de
producto de la tabla producto sea igual al código de producto de la tabla factura venta y los
ordena respecto a la cantidad y código de factura de manera ascendente.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #3
15. Consultar todos los proveedores que hayan proveídos productos al inventario de la empresa
ordenándolos por la dirección del proveedor.
La consulta es
SELECT * from TB_Proveedor
order by Direccion_Proveedor
16. Consultar todas las facturas de ventas mostrando información del código de factura, descripción del producto,
cantidad y fecha de venta ordenando los resultados a partir de las ventas más recientes.
La consulta
Select es:
fv.Codigo_Factura, pro.Descripcion_Producto, dfv.Cantidad,
fv.Fecha_Factura
from TB_Factura_Venta fv, TB_Producto pro, TB_Detalle_Factura_Venta
dfv
order by Fecha_Factura desc
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #3
17. La consulta suma el monto total en la tabla Factura de compras, de todas las facturas
siempre que el código de proveedor sea igual a 103.
18. La consulta devuelve el promedio del monto total de las facturas de venta cuando estas
facturas fueran emitidas entre el 4 de febrero y el 15 de febrero de 2012.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #3
19. La consulta utiliza el código de factura y la fecha de venta en la tabla factura de ventas,
para sumar la cantidad de productos comprados cuando el código de factura de la tabla
factura venta sea igual al código de factura de la tabla detalle de factura venta y utiliza
GROUP BY para reunir el código de factura y la fecha de factura y mostrarlos.
20. Contar todas las facturas para cada uno de los clientes registrados en la base de datos.
--20
Select cl.Nombre_Cliente, cl.PrimerApellido_Cliente, count(distinct fv.Codigo_Factura)
as "Suma Facturas" from TB_Cliente cl, TB_Factura_Venta fv
where cl.Codigo_Cliente = fv.Codigo_Cliente
group by cl.Nombre_Cliente, cl.PrimerApellido_Cliente
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #3
21. Consultar la factura de venta cuyo valor sea el más alto y el más bajo.
22. Consultar las compras totales para cada uno de los Proveedores que han vendido productos
a la Empresa.
23. Consultar las ventas totales para cada uno de los Clientes que tienen registro en la base de
datos de la empresa.
--23
Select cl.Nombre_Cliente, sum(fv.Monto_Total) from TB_Cliente cl,
TB_Factura_Venta fv
where cl.Codigo_Cliente = fv.Codigo_Cliente
group by cl.Nombre_Cliente
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #3
24. La consulta extrae el nombre del proveedor y su primer apellido de la tabla Proveedor.
Realiza una suma del monto total de la tabla factura compra cuando el código de proveedor
de factura compra es igual al código de proveedor de la tabla proveedor y utiliza un GROUP
BY para imprimir la información.