Este repositorio contiene una versión modificada de la base de datos Northwind para PostgreSQL, desarrollada como proyecto de curso con nuevas funcionalidades y mejoras.
La base de datos Northwind ha sido extendida con las siguientes mejoras:
- Sistema de Categorías Jerárquicas: Subcategorías para mejor organización
- vuestra modificación
- PostgreSQL 12+
- pgAdmin (opcional)
- SQL Dump para instalación rápida
northwind-postgres-modificado/
├── README.md # Este archivo
├── northwind_modificado.sql # ⭐ DUMP COMPLETO DE LA BD
├── docs/
│ ├── INSTALACION.md # Guía de instalación
│ ├── FUNCIONALIDADES.md # Documentación de mejoras
│ └── CONSULTAS_EJEMPLO.md # Ejemplos de uso
└── img/
├── iagrama_er.png # Diagrama actualizado
└── consultas_ejemplo.png # Capturas de pantalla
- PostgreSQL 12 o superior
- Cliente psql o pgAdmin
- Clonar repositorio
git clone https://github.com/tu-usuario/northwind-postgres-modificado.git
cd northwind-postgres-modificado- Crear base de datos
createdb northwind_curso- Restaurar dump completo
psql -d northwind_curso -f northwind_modificado.sql¡Y listo! La base de datos estará completamente configurada con datos de ejemplo.
- Crear nueva base de datos llamada
northwind_curso - Click derecho → Restore
- Seleccionar archivo
northwind_modificado.sql - Ejecutar
Objetivo: Añadir un campo JSON para almacenar atributos dinámicos de productos (ej: especificaciones técnicas, metadatos).
- Añadir la columna caracteristicas_json en la tabla Products.
- Rellenar la nueva columna con datos JSON Insertar ejemplos con valores específicos de "categoria" y "subcategoria".
- Ejecutar consultas sobre los datos JSON Obtener productos de una categoría específica. Filtrar productos según una subcategoría dentro del JSON.
-- Ver productos con stock bajo
SELECT * FROM productos_stock_bajo;Incluye aquí tu propuesta ................
subcategories- Categorías jerárquicasvolume_discounts- Descuentos por cantidadproduct_audit- Auditoría de cambiosstock_alerts- Alertas de inventario
productos_stock_bajo- Control de inventarioventas_mensuales- Análisis temporaltop_productos_vendidos- Ranking de productosanalisis_clientes- Segmentación de clientes
- Auditoría automática en cambios de productos
- Alertas de stock cuando baja del mínimo
- Cálculo de descuentos por volumen de compra
- Actualización automática de timestamps
El dump incluye:
- Base Northwind completa original
- 8 subcategorías de ejemplo
- 8 reglas de descuento por volumen
- Configuración de stock mínimo
- Alertas de ejemplo generadas
Después de restaurar, ejecuta estas consultas para verificar:
-- Verificar nuevas tablas
SELECT count(*) FROM subcategories; -- Debe mostrar 8
SELECT count(*) FROM volume_discounts; -- Debe mostrar 8
SELECT count(*) FROM stock_alerts; -- Debe mostrar varias
-- Probar vistas
SELECT count(*) FROM productos_stock_bajo;
SELECT count(*) FROM ventas_mensuales;
-- Probar función
SELECT calcular_descuento_volumen(1, 100); -- Debe mostrar 10.00- Versión PostgreSQL: 12+
- Tamaño del dump: ~500KB
- Total tablas: 17 (13 originales + 4 nuevas)
- Total vistas: 4
- Total funciones: 3
- Triggers: 1 principal con múltiples eventos
- Curso: Bases de Datos Avanzadas
- Institución: [Tu Institución]
- Autor: [Tu Nombre]
- Fecha: Mayo 2025
Si tienes problemas con la instalación:
- Verifica que PostgreSQL esté corriendo
- Asegúrate de tener permisos para crear BD
- Revisa que el archivo SQL esté completo
- Consulta los logs de PostgreSQL para errores
- ✅ Modificación de esquemas existentes
- ✅ Creación de tablas relacionadas
- ✅ Implementación de triggers
- ✅ Desarrollo de vistas complejas
- ✅ Funciones en PL/pgSQL
- ✅ Optimización con índices
- ✅ Sistemas de auditoría
- ✅ Generación de dumps
Nota: Este proyecto demuestra conocimientos avanzados en PostgreSQL aplicados sobre la conocida base de datos Northwind, añadiendo funcionalidades empresariales reales.
CREATE TABLE cliente
