Entendiendo la lógica del negocio Northwind (SQL Server)

 


¿Quieres mejorar tus habilidades en SQL Server mientras exploras la lógica de negocio de una empresa realista? En este artículo te presento un reto práctico usando la base de datos Northwind, ideal para practicar consultas SQL enfocadas en ventas, clientes, productos y logística. Aprenderás a extraer insights valiosos que podrían aplicarse en entornos reales de análisis comercial. ¡Perfecto para estudiantes, analistas y entusiastas del dato! 

Northwind es una excelente elección para practicar, porque simula un entorno empresarial bastante completo. Vamos a desglosar la lógica del negocio detrás de Northwind para poder entender cómo se conectan sus procesos y así ejecutar consultas más significativas. 

🧠 ¿Qué representa Northwind?

Northwind es una base de datos de ejemplo que simula una empresa ficticia de comercio internacional de alimentos. Imagina una compañía que vende productos alimenticios a clientes en todo el mundo. Tiene empleados, proveedores, clientes, pedidos, productos y categorías.

🏢 Lógica del negocio principal

Aquí te explico los procesos clave que puedes explorar:

1. Gestión de productos

  • Los productos están organizados por categorías (bebidas, condimentos, etc.).

  • Cada producto tiene un proveedor que lo suministra.

  • Puedes analizar qué productos son más vendidos, cuáles tienen más stock, o cuáles están descontinuados.

2. Relación con proveedores

  • Los proveedores son empresas que venden productos a Northwind.

  • Puedes consultar qué proveedor ofrece qué productos, y hacer análisis de dependencia o diversificación.

3. Clientes y pedidos

  • Los clientes hacen órdenes que contienen varios productos.

  • Cada orden tiene una fecha, un empleado que la gestionó, y un detalle de pedido con cantidades, precios y descuentos.

  • Puedes practicar consultas como:

    • ¿Qué cliente ha comprado más?

    • ¿Cuál fue el pedido más grande?

    • ¿Qué productos se venden más en cada país?

4. Empleados y territorios

  • Los empleados están asignados a territorios y regiones.

  • Puedes analizar el rendimiento de cada empleado, qué zonas cubren, y cuántos pedidos gestionan.

5. Envíos

  • Cada pedido tiene un transportista (shipper) que lo entrega.

  • Puedes investigar qué transportista realiza más entregas, o cuál es más eficiente según tiempos de entrega.

📊 Ideas para practicar

Aquí van algunas ideas de consultas que te ayudarán a entender mejor la lógica del negocio:

  • Top 5 productos más vendidos por año

  • Clientes que han comprado más de 10 veces

  • Pedidos con descuentos mayores al 15%

  • Comparación de ventas por categoría

  • Tiempo promedio entre fecha de pedido y fecha de envío

🚀 Reto Práctico: “Análisis de Ventas y Rendimiento Comercial”

🎯 Objetivo

Construir un conjunto de consultas que permitan responder preguntas clave sobre el rendimiento de ventas, productos, clientes y empleados en Northwind.

🧩 Parte 1: Análisis de Ventas

1. Productos más vendidos

Consulta los 10 productos más vendidos por cantidad total.

SELECT TOP 10 
    p.ProductName,
    SUM(od.Quantity) AS TotalQuantitySold
FROM 
    [Order Details] od
JOIN 
    Products p ON od.ProductID = p.ProductID
GROUP BY 
    p.ProductName
ORDER BY 
    TotalQuantitySold DESC;

2. Ventas por categoría

¿Qué categoría genera más ingresos?

SELECT 
    c.CategoryName,
    SUM(od.UnitPrice * od.Quantity * (1 - od.Discount)) AS TotalRevenue
FROM 
    [Order Details] od
JOIN 
    Products p ON od.ProductID = p.ProductID
JOIN 
    Categories c ON p.CategoryID = c.CategoryID
GROUP BY 
    c.CategoryName
ORDER BY 
    TotalRevenue DESC;

👥 Parte 2: Clientes y Empleados

3. Clientes más valiosos

¿Qué clientes han generado más ingresos?

SELECT 
    c.CompanyName,
    SUM(od.UnitPrice * od.Quantity * (1 - od.Discount)) AS TotalSpent
FROM 
    Orders o
JOIN 
    Customers c ON o.CustomerID = c.CustomerID
JOIN 
    [Order Details] od ON o.OrderID = od.OrderID
GROUP BY 
    c.CompanyName
ORDER BY 
    TotalSpent DESC;

4. Empleados más activos

¿Qué empleados han gestionado más pedidos?

SELECT 
    e.FirstName + ' ' + e.LastName AS EmployeeName,
    COUNT(o.OrderID) AS OrdersHandled
FROM 
    Orders o
JOIN 
    Employees e ON o.EmployeeID = e.EmployeeID
GROUP BY 
    e.FirstName, e.LastName
ORDER BY 
    OrdersHandled DESC;

📦 Parte 3: Logística y Stock

5. Productos con bajo stock

¿Qué productos tienen menos de 20 unidades en inventario?

SELECT 
    ProductName,
    UnitsInStock
FROM 
    Products
WHERE 
    UnitsInStock < 20
ORDER BY 
    UnitsInStock ASC;

6. Transportistas más usados

¿Qué empresa de envíos ha sido utilizada más veces?

SELECT 
    s.CompanyName,
    COUNT(o.OrderID) AS ShipmentsMade
FROM 
    Orders o
JOIN 
    Shippers s ON o.ShipVia = s.ShipperID
GROUP BY 
    s.CompanyName
ORDER BY 
    ShipmentsMade DESC;





 

Publicar un comentario

0 Comentarios