create database GPP&K;
use Tesoros_Escondidos;
Create table Producto(
IDProducto int primary key,
Nombre varchar(50),
Precio decimal(10,2),
Descripcion varchar(50),
Stock int,
);
create table Tienda(
CodTienda int primary key,
Nombre varchar(50),
Ciudad varchar(50),
);
create table Prod_Tienda(
IDProducto int,
CodTienda int,
foreign key (IDProducto) references Producto (IDProducto),
foreign key (CodTienda) references Tienda (CodTienda)
);
create table Empleado(
IDEmpleado int primary key,
Nombre varchar(20),
Apellido_1 varchar(20),
Apellido_2 varchar(20),
FchIngreso Date,
Codtienda int,
foreign key (CodTienda) references Tienda (CodTienda)
);
create table Factura(
IDFactura int primary key,
Fecha Date,
IDEmpleado int,
IDProducto int,
CodTienda int,
Cantidad int,
foreign key (IDEmpleado) references Empleado (IDEmpleado),
foreign key (CodTienda) references Tienda (CodTienda),
foreign key (IDProducto) references Producto (IDProducto),
);
create table Fact_Tienda(
CodTienda int,
IDFactura int,
foreign key (CodTienda) references Tienda (CodTienda),
foreign key (IDFactura) references Factura (IDFactura)
);
create table Env�os(
IDEnv�o int primary key,
Direcci�n varchar(50),
Nombre varchar(50),
FchEntrega Date,
FchEnv�o date,
IDProducto int,
IDEmpleado int,
foreign key (IDEmpleado) references Empleado (IDEmpleado),
foreign key (IDProducto) references Producto (IDProducto),
);
create table Empleado_Env�os(
IDEmpleado int,
IDEnv�o int,
foreign key (IDEmpleado) references Empleado (IDEmpleado),
foreign key (IDEnv�o) references Env�os (IDEnv�o),
);
insert into Producto (IDProducto,Nombre,Precio,Descripcion,Stock)
values (1, 'Camiseta B�sica', 5000.00, 'Algod�n 100%', 100),
(2, 'Pantal�n Mezclilla', 15000.00, 'Talla est�ndar', 50),
(3, 'Zapatos Deportivos', 30000.00, 'Correr c�modamente', 30),
(4, 'Bolso Casual', 12000.00, 'Dise�o ligero', 75),
(5, 'Reloj Digital', 20000.00, 'Resistente al agua', 20),
(6, 'Camiseta B�sica', 5000.00, 'Camiseta de algod�n en varios colores', 100),
(7, 'Pantal�n de Mezclilla', 15000.00, 'Pantal�n azul de mezclilla, talla
est�ndar', 50),
(8, 'Zapatos Deportivos', 30000.00, 'Zapatos c�modos para correr', 30),
(9, 'Bolso Casual', 12000.00, 'Bolso liviano y pr�ctico para uso diario', 75),
(10, 'Reloj Digital', 20000.00, 'Reloj resistente al agua con m�ltiples funciones',
20),
(11, 'Aud�fonos Bluetooth', 18000.00, 'Bater�a de larga duraci�n', 40),
(12, 'Chaqueta Impermeable', 25000.00, 'Protecci�n contra lluvia', 25),
(13, 'Sandalias Playeras', 8000.00, 'Ideal para verano', 60),
(14, 'Lentes de Sol', 12000.00, 'Protecci�n UV', 35),
(15, 'Billetera de Cuero', 15000.00, 'Estilo cl�sico', 45),
(16, 'Cargador Port�til', 20000.00, 'Capacidad de 10,000mAh', 50),
(17, 'Pulsera Fitness', 25000.00, 'Monitoreo de actividad', 20),
(18, 'Funda para Celular', 5000.00, 'Material resistente', 70),
(19, 'Perfume Unisex', 30000.00, 'Aroma duradero', 30),
(20, 'Teclado Mec�nico', 45000.00, 'Retroiluminado RGB', 15);
insert into Tienda (CodTienda, Nombre, Ciudad)
values (1, 'Tienda Central', 'San Jos�'),
(2, 'Moda Exclusiva', 'Heredia'),
(3, 'ElectroHogar', 'Cartago'),
(4, 'Libros & M�s', 'Alajuela'),
(5, 'SuperZapatos', 'Puntarenas'),
(6, 'Ropa Casual', 'Lim�n'),
(7, 'Deportes Costa', 'Guanacaste'),
(8, 'Decoraci�n �nica', 'San Jos�'),
(9, 'Accesorios VIP', 'Heredia'),
(10, 'Tech Solutions', 'Cartago'),
(11, 'MiniMarket 24', 'San Jos�'),
(12, 'Belleza Natural', 'Alajuela'),
(13, 'Viajes Globales', 'Puntarenas'),
(14, 'Green Planet', 'Lim�n'),
(15, 'Audio & M�sica', 'Heredia'),
(16, 'SuperCasa', 'Cartago'),
(17, 'Ideas Creativas', 'San Jos�'),
(18, 'Zona Escolar', 'Alajuela'),
(19, 'Aventura Outdoor', 'Guanacaste'),
(20, 'Cine Shop', 'Puntarenas');
insert into Prod_Tienda (IDProducto, CodTienda)
values(1, 1),
(2, 1),
(3, 2),
(4, 2),
(5, 3),
(6, 3),
(7, 4),
(8, 4),
(9, 5),
(10, 5),
(11, 6),
(12, 6),
(13, 7),
(14, 7),
(15, 8),
(16, 8),
(17, 9),
(18, 9),
(19, 10),
(20, 10);
insert into Empleado (IDEmpleado, Nombre, Apellido_1, Apellido_2, FchIngreso,
CodTienda)
values (1, 'Juan', 'P�rez', 'Jim�nez', '2020-01-15', 1),
(2, 'Mar�a', 'G�mez', 'Fern�ndez', '2019-05-20', 2),
(3, 'Carlos', 'L�pez', 'Ram�rez', '2021-08-12', 3),
(4, 'Ana', 'Rodr�guez', 'S�nchez', '2022-03-10', 4),
(5, 'Luis', 'Mart�nez', 'Vargas', '2018-11-05', 5),
(6, 'Laura', 'S�nchez', 'Quesada', '2017-07-18', 6),
(7, 'Jos�', 'Ram�rez', 'Solano', '2020-09-25', 7),
(8, 'Sof�a', 'Herrera', 'Morales', '2023-01-01', 8),
(9, 'Pedro', 'Castro', 'Monge', '2019-10-30', 9),
(10, 'Luc�a', 'M�ndez', 'Porras', '2022-06-15', 10),
(11, 'Diego', 'Fern�ndez', 'Salazar', '2020-12-20', 1),
(12, 'Gabriela', 'Ruiz', '�lvarez', '2021-04-14', 2),
(13, 'Fernando', 'Jim�nez', 'Rojas', '2018-09-09', 3),
(14, 'Patricia', 'Monge', 'Guti�rrez', '2023-02-20', 4),
(15, 'Erick', 'Solano', 'Acosta', '2021-07-07', 5),
(16, 'Daniela', 'Quesada', 'Le�n', '2019-11-22', 6),
(17, 'Francisco', 'Vargas', 'Cort�s', '2020-05-01', 7),
(18, 'Estefan�a', 'Porras', 'Aguilar', '2022-08-17', 8),
(19, 'Guillermo', 'Acosta', 'Calder�n', '2017-03-30', 9),
(20, 'Isabel', 'Le�n', 'Ure�a', '2023-04-05', 10);
insert into Factura (IDFactura, Fecha, IDEmpleado, IDProducto, CodTienda, Cantidad)
values(1, '2025-01-01', 1, 1, 1, 2),
(2, '2025-01-02', 2, 2, 2, 3),
(3, '2025-01-03', 3, 3, 3, 1),
(4, '2025-01-04', 4, 4, 4, 5),
(5, '2025-01-05', 5, 5, 5, 10),
(6, '2025-01-06', 6, 6, 6, 4),
(7, '2025-01-07', 7, 7, 7, 3),
(8, '2025-01-08', 8, 8, 8, 6),
(9, '2025-01-09', 9, 9, 9, 8),
(10, '2025-01-10', 10, 10, 10, 2),
(11, '2025-01-11', 1, 11, 1, 9),
(12, '2025-01-12', 2, 12, 2, 7),
(13, '2025-01-13', 3, 13, 3, 4),
(14, '2025-01-14', 4, 14, 4, 1),
(15, '2025-01-15', 5, 15, 5, 6),
(16, '2025-01-16', 6, 16, 6, 3),
(17, '2025-01-17', 7, 17, 7, 2),
(18, '2025-01-18', 8, 18, 8, 5),
(19, '2025-01-19', 9, 19, 9, 4),
(20, '2025-01-20', 10, 20, 10, 8);
insert into Fact_Tienda(CodTienda, IDFactura)
values(1, 1),
(1, 11),
(2, 2),
(2, 12),
(3, 3),
(3, 13),
(4, 4),
(4, 14),
(5, 5),
(5, 15),
(6, 6),
(6, 16),
(7, 7),
(7, 17),
(8, 8),
(8, 18),
(9, 9),
(9, 19),
(10, 10),
(10, 20);
insert into Env�os (IDEnv�o, Direcci�n, Nombre, FchEntrega, FchEnv�o, IDProducto,
IDEmpleado)
values(1, 'Av. Central #12', 'Juan P�rez', '2025-01-15', '2025-01-10', 1, 1),
(2, 'Calle #8, Heredia', 'Mar�a G�mez', '2025-01-16', '2025-01-11', 2, 2),
(3, 'Barrio Escalante #23', 'Carlos L�pez', '2025-01-17', '2025-01-12', 3, 3),
(4, 'San Pedro #45', 'Ana Rodr�guez', '2025-01-18', '2025-01-13', 4, 4),
(5, 'Zapote #9', 'Luis Mart�nez', '2025-01-19', '2025-01-14', 5, 5),
(6, 'La Sabana #67', 'Laura S�nchez', '2025-01-20', '2025-01-15', 6, 6),
(7, 'Cartago #34', 'Jos� Ram�rez', '2025-01-21', '2025-01-16', 7, 7),
(8, 'Lim�n #78', 'Sof�a Herrera', '2025-01-22', '2025-01-17', 8, 8),
(9, 'Puntarenas #56', 'Pedro Castro', '2025-01-23', '2025-01-18', 9, 9),
(10, 'Alajuela #12', 'Luc�a M�ndez', '2025-01-24', '2025-01-19', 10, 10),
(11, 'Escaz� #90', 'Diego Fern�ndez', '2025-01-25', '2025-01-20', 11, 11),
(12, 'Santa Ana #88', 'Gabriela Ruiz', '2025-01-26', '2025-01-21', 12, 12),
(13, 'Tib�s #11', 'Fernando Jim�nez', '2025-01-27', '2025-01-22', 13, 13),
(14, 'Moravia #44', 'Patricia Monge', '2025-01-28', '2025-01-23', 14, 14),
(15, 'Guadalupe #99', 'Erick Solano', '2025-01-29', '2025-01-24', 15, 15),
(16, 'Liberia #34', 'Daniela Quesada', '2025-01-30', '2025-01-25', 16, 16),
(17, 'San Carlos #19', 'Francisco Vargas', '2025-01-31', '2025-01-26', 17, 17),
(18, 'Quepos #72', 'Estefan�a Porras', '2025-02-01', '2025-01-27', 18, 18),
(19, 'Nicoya #55', 'Guillermo Acosta', '2025-02-02', '2025-01-28', 19, 19),
(20, 'Ca�as #77', 'Isabel Le�n', '2025-02-03', '2025-01-29', 20, 20);
insert into Empleado_Env�os (IDEmpleado, IDEnv�o)
values(1, 1),
(2, 2),
(3, 3),
(4, 4),
(5, 5),
(6, 6),
(7, 7),
(8, 8),
(9, 9),
(10, 10),
(11, 11),
(12, 12),
(13, 13),
(14, 14),
(15, 15),
(16, 16),
(17, 17),
(18, 18),
(19, 19),
(20, 20);
select * from Empleado;
select * from Empleado_Env�os;
select * from Env�os;
select * from Factura;
select * from Fact_Tienda;
select * from Empleado;
select * from Prod_Tienda;
select * from Producto;
select * from Tienda;
use Tesoros_Escondidos;
-- Group by.
select Ciudad from Tienda
group by Ciudad;
--Order by.
select * from Env�os
order by Nombre asc;
--Distinct.
select distinct Stock from Producto;
--Between.
select * from Factura where Fecha between '2025-01-02' and '2025-01-06';
--Avg.
select avg(IDEnv�o) as Promedio_Envios from Env�os;
--Count.
select count(IDEnv�o) as Totalenvios from Env�os;
--Having.
select CodTienda, sum(IDProducto) as Producto_en_Tienda
from Prod_Tienda
group by CodTienda
having sum(IDProducto)>1;
--Max.
select max(Stock) as StockMaximo from Producto;
-- Sum.
select sum(Stock) as StockTotal from Producto;
--Min.
select min(Stock) as StockMin from Producto;
--Like.
select * from Empleado where Nombre like '%o';
--In.
select * from Factura where Cantidad in (10,8,7,9);
--%.
select Nombre, Precio, '5%' as Porcentajedescuento,
Precio * 0.05 as Montodescuento, Precio - (Precio * 0.05) as PrecioFinal
from Producto;
--combinaci�n de count,group by,order by.
select CodTienda,count(Cantidad) as Facturas_por_tienda from Factura
group by CodTienda
order by CodTienda asc;
--Combinaci�n de funci�n agregada y having.
select Stock, sum(Precio) as Ganancia from Producto
group by Stock
having sum(Precio)>=5000;