Base de Datos: Tienda de Zapatos – SQL
desde Cero
📘 Paso 1: Crear la Base de Datos y Tablas
CREATE DATABASE Zapateria;
USE Zapateria;
CREATE TABLE Productos (
ProductoID INT PRIMARY KEY,
Nombre VARCHAR(100),
Marca VARCHAR(50),
Talla INT,
Precio DECIMAL(8,2),
Disponible BIT
);
CREATE TABLE Clientes (
ClienteID INT PRIMARY KEY,
Nombre VARCHAR(100),
Telefono VARCHAR(20),
Ciudad VARCHAR(50)
);
CREATE TABLE Ventas (
VentaID INT PRIMARY KEY,
ClienteID INT,
ProductoID INT,
Fecha DATE,
Cantidad INT,
FOREIGN KEY (ClienteID) REFERENCES Clientes(ClienteID),
FOREIGN KEY (ProductoID) REFERENCES Productos(ProductoID)
);
-- Insertar productos
INSERT INTO Productos VALUES
(1, 'Zapatilla Running', 'Nike', 42, 89.99, 1),
(2, 'Zapato Formal', 'Clarks', 40, 120.00, 1),
(3, 'Botas de Cuero', 'Timberland', 43, 150.50, 1),
(4, 'Sandalias Verano', 'Crocs', 39, 35.00, 1),
(5, 'Tenis Deportivos', 'Adidas', 41, 99.95, 1),
(6, 'Zapato Escolar', 'Bata', 37, 55.50, 1),
(7, 'Zapatillas Skate', 'Vans', 42, 78.20, 1);
-- Insertar clientes
INSERT INTO Clientes VALUES
(1, 'Ana Gómez', '0991234567', 'Quito'),
(2, 'Luis Pérez', '0987654321', 'Guayaquil'),
(3, 'María Torres', '0976543210', 'Cuenca'),
(4, 'Pedro Díaz', '0967890123', 'Quito'),
(5, 'Laura Vélez', '0954321098', 'Ambato'),
(6, 'Carlos Ruiz', '0943210987', 'Guayaquil'),
(7, 'Andrea Moreno', '0932109876', 'Cuenca');
-- Insertar ventas
INSERT INTO Ventas VALUES
(1, 1, 3, '2024-01-15', 1),
(2, 2, 5, '2024-02-10', 2),
(3, 3, 1, '2024-03-05', 1),
(4, 4, 2, '2024-03-20', 1),
(5, 5, 7, '2024-04-01', 1),
(6, 6, 4, '2024-04-10', 1),
(7, 7, 6, '2024-04-25', 1);
🔍 Paso 3: Consultas de Ejemplo con Explicación y Retroalimentación
🧪 Mostrar todos los productos disponibles:
Consulta SQL:
SELECT * FROM Productos WHERE Disponible = 1;
💬 Retroalimentación: Filtra solo los productos marcados como disponibles.
🧪 Buscar productos cuyo nombre contenga la palabra 'Zapato':
Consulta SQL:
SELECT * FROM Productos WHERE Nombre LIKE '%Zapato%';
💬 Retroalimentación: LIKE permite buscar coincidencias parciales en los nombres.
🧪 Listar todos los clientes de la ciudad de Cuenca ordenados por nombre:
Consulta SQL:
SELECT * FROM Clientes WHERE Ciudad = 'Cuenca' ORDER BY Nombre ASC;
💬 Retroalimentación: Se aplica un filtro por ciudad y luego se ordena alfabéticamente.
🧪 Mostrar ventas con cantidad mayor a 1:
Consulta SQL:
SELECT * FROM Ventas WHERE Cantidad > 1;
💬 Retroalimentación: Consulta útil para identificar compras múltiples.
🧪 Listar productos ordenados por precio descendente:
Consulta SQL:
SELECT * FROM Productos ORDER BY Precio DESC;
💬 Retroalimentación: Facilita la visualización de los productos más caros.