Ejercicios 16 Presentar

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

lOMoARcPSD|42639012

Ejercicios 16 Presentar

Base de Datos (Universidad Central del Ecuador)

Escanea para abrir en Studocu

Studocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Juan Alberto PALOMINO CARHUAS (juanpalominoc@ete.edu.pe)
lOMoARcPSD|42639012

Ejercicio 21 -Venta de Productos.


Dado el siguiente modelo relacional de una base de datos, se pide:

CLIENTE (codigo ,nombre, domicilio, provincia)


PRODUCTO (codigo_producto, nombre_producto)
ITEM_VENTAS (número_factura, codigo_producto, cantidad, precio)
VENTAS (numero_factura, codigo_cliente, fecha)

Nota: Las claves foráneas en los modelos relacionales presentes en este documento se representan en
cursiva y negrita.
CODIGO:

DROP DATABASE IF EXISTS venta_productos;


CREATE DATABASE venta_productos CHARACTER SET utf8mb4;
USE venta_productos;

CREATE TABLE CLIENTE(


codigo INT(5) primary key,
nombre VARCHAR(14),
domicilio VARCHAR(14),
provincia VARCHAR(14)
);

INSERT INTO CLIENTE VALUES(1001, 'Anggelo', 'San Luis', 'Pichincha');


INSERT INTO CLIENTE VALUES(1002, 'Carmen', 'Misiones', 'Río Negro');
INSERT INTO CLIENTE VALUES(1003, 'Paola', 'Misiones', 'Río Negro');
INSERT INTO CLIENTE VALUES(1004, 'Sebastian', 'Nueva Aurora','Azuay');
INSERT INTO CLIENTE VALUES(1005, 'Tomás', 'Terracota',' Bolívar');
INSERT INTO CLIENTE VALUES(1006, 'Alejandro','Catamayo', 'Loja');
INSERT INTO CLIENTE VALUES(1007, 'Nayeli', 'Puyango','Loja');
INSERT INTO CLIENTE VALUES(1008, 'Naomy', 'El Triunfo','Guayas');
INSERT INTO CLIENTE VALUES(1009, 'Luis', 'Sangolqui', 'Pichincha');
INSERT INTO CLIENTE VALUES(1010, 'Sara', 'San Luis', 'Pichincha');

CREATE TABLE PRODUCTO(


codigo_producto INT(5) primary key,
nombre_producto VARCHAR(14)
);
1

Descargado por Juan Alberto PALOMINO CARHUAS (juanpalominoc@ete.edu.pe)


lOMoARcPSD|42639012

INSERT INTO PRODUCTO VALUES(1101, 'Jitomate');


INSERT INTO PRODUCTO VALUES(1102, 'Huevo');
INSERT INTO PRODUCTO VALUES(1103, 'Leche');
INSERT INTO PRODUCTO VALUES(1104, 'Ventas');
INSERT INTO PRODUCTO VALUES(1105, 'Espárragos');
INSERT INTO PRODUCTO VALUES(1106, 'Manzana');
INSERT INTO PRODUCTO VALUES(1107, 'Avena');
INSERT INTO PRODUCTO VALUES(1108, 'Huevo');
INSERT INTO PRODUCTO VALUES(1109, 'Huevo');
INSERT INTO PRODUCTO VALUES(1110, 'Espárragos');

CREATE TABLE ITEMVENTAS (


Numero_factura INT(4),
FOREIGN KEY (numero_factura) REFERENCES VENTAS (numero_factura),
Codigo_producto INT (5),
FOREIGN KEY (codigo_producto) REFERENCES PRODUCTO (codigo_producto),
cantidad INT(5),
Precio INT (10)
);

INSERT INTO ITEMVENTAS VALUES(1101, 1101, 12, 2500);


INSERT INTO ITEMVENTAS VALUES(1102, 1102, 50, 3500);
INSERT INTO ITEMVENTAS VALUES(1103, 1103, 100, 1100);
INSERT INTO ITEMVENTAS VALUES(1104, 1104, 250, 2550);
INSERT INTO ITEMVENTAS VALUES(1105, 1105, 541, 1400);
INSERT INTO ITEMVENTAS VALUES(1106, 1106, 1002, 1700);
INSERT INTO ITEMVENTAS VALUES(1107, 1107, 304, 1600);
INSERT INTO ITEMVENTAS VALUES(1108, 1108, 500, 2100);
INSERT INTO ITEMVENTAS VALUES(1109, 1109, 958, 2200);
INSERT INTO ITEMVENTAS VALUES(1110, 1110, 548, 3100);

CREATE TABLE VENTAS(


numero_factura INT (5) primary key,
Codigo_cliente INT (5),
FOREIGN KEY (codigo_cliente) REFERENCES CLIENTE (codigo),
fecha date

Descargado por Juan Alberto PALOMINO CARHUAS (juanpalominoc@ete.edu.pe)


lOMoARcPSD|42639012

);

INSERT INTO VENTAS VALUES(1101, 1001, '2015-10-15');


INSERT INTO VENTAS VALUES(1102, 1002, '2012-01-02');
INSERT INTO VENTAS VALUES(1103, 1003, '2015-07-22');
INSERT INTO VENTAS VALUES(1104, 1004, '2021-05-17');
INSERT INTO VENTAS VALUES(1105, 1005, '2021-08-15');
INSERT INTO VENTAS VALUES(1106, 1006, '2012-12-13');
INSERT INTO VENTAS VALUES(1107, 1007, '2013-05-07');
INSERT INTO VENTAS VALUES(1108, 1008, '2019-10-19');
INSERT INTO VENTAS VALUES(1109, 1009, '2021-06-26');
INSERT INTO VENTAS VALUES(1110, 1010, '2016-07-28');

CLIENTE:

VENTAS:

Descargado por Juan Alberto PALOMINO CARHUAS (juanpalominoc@ete.edu.pe)


lOMoARcPSD|42639012

PRODUCTO:

ITEMVENTAS

1. Obtener el nombre y el domicilio de los clientes que viven en la provincia de Misiones.

SELECT Nombre, Domicilio


FROM Cliente
WHERE Provincia=’Misiones’

SELECT nombre, domicilio


FROM cliente
WHERE provincia= 'Pichincha';

2. Obtener el nombre, domicilio y provincia de los clientes que viven en la provincia de


Misiones o de Río Negro.

SELECT Nombre, Domicilio, Provincia


FROM Cliente
WHERE Provincia=’Misiones’ OR Provincia=’Rio Negro’

Descargado por Juan Alberto PALOMINO CARHUAS (juanpalominoc@ete.edu.pe)


lOMoARcPSD|42639012

SELECT nombre, domicilio, provincia


FROM cliente
WHERE provincia='Misiones' OR provincia='Rio Negro'

3. Obtener el importe total en pesos por factura y producto, especificando el número de


factura, el código del producto y el importe total.

SELECT numero_factura, código_producto, (precio * cantidad) as


Total
FROM item_ventas

SELECT Numero_factura, Codigo_producto, (Precio * cantidad) as


Total
FROM itemventas

4. Sobre la consulta 3, obtener solo el importe total para el producto a.

SELECT numero_factura, código_producto, (precio * cantidad) as


Total
FROM item_ventas
WHERE codigo_producto=’a’

SELECT numero_factura, codigo_producto, (Precio * cantidad) as


Total
FROM itemventas
WHERE codigo_producto='1101'
5. Sobre la consulta 3, obtener solo el importe total para las facturas mayores iguales a 2 y
menores iguales a 5 y solo para el producto código c.

SELECT numero_factura, código_producto, (precio * cantidad) as


Total
FROM item_ventas
WHERE (numero_factura between 2 and 5)
AND (codigo_producto = ’c’)

SELECT Numero_factura, Codigo_producto, (Precio * cantidad) as


Total
FROM itemventas
WHERE (Numero_factura between 2 and 5)
AND (Codigo_producto = '1106')

6. Sobre la consulta 3, obtener solo el importe total para los registros cuyo importe total sea
mayor a 200.
5

Descargado por Juan Alberto PALOMINO CARHUAS (juanpalominoc@ete.edu.pe)


lOMoARcPSD|42639012

SELECT numero_factura, código_producto, (precio * cantidad) as


Total
FROM item_ventas
WHERE cantidad * precio > 200

SELECT Numero_factura, Codigo_producto, (Precio * cantidad) as


Total
FROM itemventas
WHERE cantidad * Precio > 200

7. Obtener un listado de las facturas realizadas especificando número de factura,


nombre del producto y cantidad vendida.

SELECT numero_factura, nombre, producto, cantidad


FROM Producto as p, item_ventas as iv
WHERE iv.codigo_producto = p.codigo_producto

8. Obtener un listado de las facturas realizadas cuya cantidad sea mayor igual a 15
especificando número de factura, nombre del producto y cantidad vendida.

SELECT numero_factura, nombre, producto, cantidad


FROM Producto as p, item_ventas as iv
WHERE iv.codigo_producto = p.codigo_producto and cantidad>=15

9. Obtener un listado de las facturas realizadas indicando número de factura, nombre del
cliente, nombre del producto, cantidad y precio y el importe total.

SELECT item_ventas.Numero_factura, nombre_cliente,


nombre_producto, cantidad, precio, cantidad * precio as Total
FROM Cliente, Ventas, Item_Ventas, Producto
WHERE Cliente.codigo_cliente = Ventas.codigo_cliente AND
Ventas.numero_factura = Item_Ventas.Numero_factura AND
Item_Ventas.codigo_producto = Producto.codigo_producto

10. Obtener la cantidad de unidades máxima.

SELECT MAX (cantidad) as Cantidad


FROM item_ventas

11. Obtener la cantidad total de unidades vendidas del producto c.

Descargado por Juan Alberto PALOMINO CARHUAS (juanpalominoc@ete.edu.pe)


lOMoARcPSD|42639012

SELECT SUM(cantidad) as TOTAL


FROM item_ventas
WHERE codigo_producto=’c’

SELECT SUM(cantidad) as TOTAL


FROM itemventas
WHERE Codigo_producto= '1104'

12. Cantidad de unidades vendidas por producto, indicando la descripción del


producto, ordenado de mayor a menor por las cantidades vendidas.

SELECT nombre_producto AS Producto, sum(cantidad) as Cantidad


FROM Producto as p, item_ventas as iv
WHERE iv.codigo_producto = p.codigo_producto
GROUP BY nombre_producto
ORDER BY sum(cantidad) desc

SELECT nombre_producto AS producto, sum(cantidad) as cantidad


FROM producto as p, itemventas as iv
WHERE iv.Codigo_producto = p.codigo_producto
GROUP BY nombre_producto
ORDER BY sum(cantidad) desc

13. Cantidad de unidades vendidas por producto, indicando la descripción del


producto, ordenado alfabéticamente por nombre de producto para los productos que
vendieron más de 30 unidades.

SELECT nombre_producto AS Producto, sum(cantidad) as Cantidad


FROM Producto as p, item_ventas as iv
WHERE iv.codigo_producto = p.codigo_producto
GROUP BY nombre_producto
HAVING sum(cantidad)>30
ORDER BY nombre_producto

SELECT nombre_producto AS producto, sum(cantidad) as cantidad


FROM producto as p, itemventas as iv
WHERE iv.Codigo_producto = p.codigo_producto
GROUP BY nombre_producto
HAVING sum(cantidad)>30
ORDER BY nombre_producto

Descargado por Juan Alberto PALOMINO CARHUAS (juanpalominoc@ete.edu.pe)


lOMoARcPSD|42639012

14. Obtener cuantas compras (1 factura = 1 compra) realizo cada cliente indicando el
código y nombre del cliente ordenado de mayor a menor.

SELECT v.codigo_cliente, nombre_cliente, count (numero_factura) as compras


FROM Cliente as c, ventas as v
WHERE v.codigo_cliente = c.codigo_cliente
GROUP BY v.codigo_cliente, nombre_cliente
ORDER BY count(numero_factura) desc

15. Promedio de unidades vendidas por producto, indicando el código del producto
para el cliente 1.

SELECT codigo_producto, avg(cantidad) as promedio


FROM Ventas as v, item_ventas as iv
WHERE iv.numero_factura = v.numero_factura
AND código_cliente = 1
GROUP BY codigo_producto

SELECT codigo_producto, avg(cantidad) as promedio


FROM Ventas as v, item_ventas as iv
WHERE iv.numero_factura = v.numero_factura
AND código_cliente = 1
GROUP BY codigo_producto

Descargado por Juan Alberto PALOMINO CARHUAS (juanpalominoc@ete.edu.pe)

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy