PROYECTO GRUPAL - BASE DE
DATOS II
Sistema de Gestión Empresarial Multi-SGBD para
Retail
1. INFORMACIÓN GENERAL DEL PROYECTO
Nombre del Proyecto:
"RetailDB Master: Sistema de Gestión Empresarial Multi-SGBD"
Modalidad:
Grupal - 4 estudiantes por equipo
2. CONTEXTO Y PROBLEMÁTICA
Escenario:
La empresa "TechStore Perú" es una cadena de tiendas de tecnología que ha crecido
rápidamente en los últimos años. Actualmente opera con:
• 15 tiendas físicas distribuidas en Lima, Arequipa y Trujillo
• 1 tienda online con envíos a nivel nacional
• Más de 10,000 productos en su catálogo
• 500+ empleados entre vendedores, administradores y personal de soporte
• 50,000+ clientes registrados
• Promedio de 2,000 ventas diarias
Problemática Actual:
TechStore Perú maneja actualmente su información en sistemas desintegrados:
• SQL Server para el sistema de ventas (heredado)
• Hojas de Excel para inventarios
• Archivos de texto para logs de sistema
• Sin integración entre sistemas de diferentes tiendas
La gerencia necesita migrar y optimizar su infraestructura de datos implementando
múltiples SGBD especializados según las necesidades específicas de cada área del
negocio.
3. OBJETIVOS DEL PROYECTO
Objetivo General:
Diseñar e implementar una solución integral de gestión de datos utilizando PostgreSQL
y Oracle Database, comparando sus capacidades y proponiendo una arquitectura
óptima para el sistema empresarial.
Objetivos Específicos:
1. Analizar los requerimientos de datos de TechStore Perú
2. Diseñar el modelo de datos para ambos SGBD (PostgreSQL y Oracle)
3. Implementar las bases de datos en ambos sistemas
4. Comparar el rendimiento y características de ambos SGBD
5. Proponer la arquitectura final recomendada
6. Documentar todo el proceso y resultados obtenidos
4. ENTREGABLES POR SEMANA
ENTREGABLE 1: Análisis de Requerimientos
Entregable 1: Documento de Análisis del Sistema
Contenido Mínimo:
• Análisis del contexto empresarial TechStore Perú
o Identificación de procesos de negocio críticos
o Mapeo de flujos de información actuales
o Identificación de stakeholders y usuarios finales
• Levantamiento de requerimientos
o Requerimientos funcionales del sistema
o Requerimientos no funcionales (rendimiento, seguridad, disponibilidad)
o Volumetría de datos esperada
• Investigación inicial PostgreSQL
o Características principales de PostgreSQL
o Ventajas para el caso empresarial propuesto
o Casos de uso recomendados
Formato de entrega:
• Documento PDF (máximo 15 páginas)
• Diagrama de procesos de negocio
• Matriz de requerimientos
ENTREGABLE 2: Diseño e Implementación PostgreSQL
Entregable 2: Base de Datos PostgreSQL Implementada
Contenido Mínimo:
• Diseño de la base de datos
o Modelo Entidad-Relación completo
o Modelo relacional normalizado (3FN mínimo)
o Diccionario de datos detallado
• Implementación en PostgreSQL
o Scripts DDL para creación de estructura
o Scripts DML para carga de datos de prueba (mínimo 1000 registros
distribuidos)
o Implementación de constraints, triggers y funciones
• Características específicas PostgreSQL
o Uso de tipos de datos específicos de PostgreSQL
o Implementación de funciones y procedimientos almacenados
o Configuración de usuarios y permisos
Formato de entrega:
• Scripts SQL organizados en archivos separados
• Diagrama ER en formato digital
• Manual de instalación y configuración
• Base de datos funcional demostrable
ENTREGABLE 3: Diseño e Implementación Oracle
Entregable 3: Base de Datos Oracle Implementada
Contenido Mínimo:
• Migración del diseño a Oracle
o Adaptación del modelo a características Oracle
o Identificación de diferencias en sintaxis y funcionalidades
o Optimizaciones específicas para Oracle
• Implementación en Oracle Database
o Scripts DDL adaptados para Oracle
o Migración de datos desde PostgreSQL
o Implementación de PL/SQL procedures y functions
• Características específicas Oracle
o Configuración de tablespaces
o Implementación de particionamiento (si aplica)
o Configuración de usuarios, roles y privilegios
o Configuración de backup básico
Formato de entrega:
• Scripts SQL para Oracle organizados
• Procedimiento de migración documentado
• Comparativo de diferencias encontradas
• Base de datos Oracle funcional
ENTREGABLE 4: Análisis Comparativo y Documentación Final
Entregable 4: Informe Final Comparativo
Contenido Mínimo:
• Análisis comparativo técnico
o Comparación de rendimiento (consultas, inserción, actualización)
o Análisis de consumo de recursos
o Facilidad de administración y mantenimiento
o Características de seguridad implementadas
• Análisis económico
o Comparación de costos de licenciamiento
o Costos de implementación y mantenimiento
o TCO (Total Cost of Ownership) proyectado a 3 años
• Recomendación final
o SGBD recomendado para TechStore Perú
o Justificación técnica y económica
o Plan de implementación propuesto
o Identificación de riesgos y mitigaciones
• Casos de prueba
o Minimum 10 consultas complejas ejecutadas en ambos SGBD
o Comparación de tiempos de respuesta
o Análisis de planes de ejecución
Formato de entrega:
• Informe ejecutivo (máximo 25 páginas)
• Presentación PowerPoint (máximo 15 slides)
• Scripts de pruebas de rendimiento
• Evidencias de funcionamiento (capturas de pantalla)
5. ESPECIFICACIONES TÉCNICAS DETALLADAS
5.1 Modelo de Datos Requerido
El sistema debe incluir como mínimo las siguientes entidades principales:
Módulo de Inventario:
-- Ejemplo de estructura mínima esperada
PRODUCTOS (id_producto, nombre, descripcion, categoria, precio_compra,
precio_venta, stock_minimo, estado)
CATEGORIAS (id_categoria, nombre, descripcion, estado)
PROVEEDORES (id_proveedor, nombre, contacto, telefono, email,
direccion)
INVENTARIO_TIENDA (id_tienda, id_producto, stock_actual,
stock_reservado, ultima_actualizacion)
Módulo de Ventas:
CLIENTES (id_cliente, nombre, apellidos, dni, email, telefono,
fecha_registro)
EMPLEADOS (id_empleado, nombre, apellidos, dni, cargo, tienda_id,
fecha_ingreso)
TIENDAS (id_tienda, nombre, direccion, ciudad, telefono, gerente_id)
VENTAS (id_venta, fecha_venta, cliente_id, empleado_id, tienda_id,
total, estado)
DETALLE_VENTA (id_venta, id_producto, cantidad, precio_unitario,
subtotal)
Módulo de Reportes:
MOVIMIENTOS_INVENTARIO (id_movimiento, tipo_movimiento, id_producto,
cantidad, fecha, usuario_id)
AUDITORIA_PRECIOS (id_producto, precio_anterior, precio_nuevo,
fecha_cambio, usuario_id)
5.2 Datos de Prueba Requeridos
Cada grupo debe generar y cargar:
• 500+ productos distribuidos en 8 categorías mínimo
• 50+ proveedores con datos realistas
• 15 tiendas (según el escenario planteado)
• 100+ empleados distribuidos en las tiendas
• 1,000+ clientes con datos variados
• 2,000+ ventas distribuidas en los últimos 6 meses
• 5,000+ detalles de venta asociados
• 1,500+ movimientos de inventario
5.3 Consultas Obligatorias de Prueba
Cada implementación debe poder ejecutar correctamente:
1. Top 10 productos más vendidos por tienda
2. Reporte de ventas mensuales por empleado
3. Productos con stock bajo el mínimo por tienda
4. Análisis de rentabilidad por categoría de producto
5. Historial de movimientos de un producto específico
6. Ranking de clientes por volumen de compras
7. Proyección de restock basada en ventas históricas
8. Análisis de performance de empleados por tienda
9. Reporte de productos sin movimiento en últimos 90 días
6. DISTRIBUCIÓN DE ROLES EN EL EQUIPO
Rol 1: Project Manager & Business Analyst
• Coordinación general del proyecto
• Análisis de requerimientos de negocio
• Gestión de cronograma y entregables
• Preparación de presentación final
Rol 2: PostgreSQL Developer & DBA
• Especialización en PostgreSQL
• Diseño e implementación de la BD PostgreSQL
• Optimización de consultas en PostgreSQL
• Documentación técnica PostgreSQL
Rol 3: Oracle Developer & DBA
• Especialización en Oracle Database
• Diseño e implementación de la BD Oracle
• Optimización de consultas en Oracle
• Documentación técnica Oracle
Rol 4: QA Tester & Performance Analyst
• Diseño de casos de prueba
• Ejecución de pruebas de rendimiento
• Análisis comparativo de resultados
• Documentación de hallazgos y recomendaciones
Nota: Todos los miembros del equipo deben participar en todas las actividades, pero
cada uno tiene responsabilidad principal en su área asignada.
7. CRITERIOS DE EVALUACIÓN
Rúbrica de Evaluación (20 puntos total)
Excelente
Criterio Bueno (3pts) Regular (2pts) Deficiente (1pt)
(4pts)
Análisis Análisis
Análisis básico,
completo, adecuado con Análisis
Análisis de faltan
detallado y algunos detalles incompleto o
Requerimientos elementos
realista del menores irrealista
importantes
negocio faltantes
BD funcional, BD funcional
BD básica
Implementación optimizada, con con BD incompleta
funcional, sin
PostgreSQL características implementación o con errores
optimizaciones
avanzadas estándar
BD funcional,
BD funcional BD básica
optimizada, uso
Implementación con funcional, sin BD incompleta
de
Oracle implementación características o con errores
características
estándar específicas
Oracle
Comparación
Comparación
técnica Comparación Comparación
Análisis básica, pocos
profunda, con adecuada con superficial o sin
Comparativo datos de
métricas y algunos datos datos
respaldo
evidencias
Documentación
Documentación Documentación Documentación
completa,
Documentación adecuada, básica, incompleta o
profesional,
y Presentación presentación presentación presentación
presentación
organizada aceptable deficiente
clara
8. RECURSOS Y HERRAMIENTAS
Software Requerido:
• PostgreSQL 15+ (gratuito)
• Oracle Database 21c XE (gratuito para desarrollo)
• DBeaver o pgAdmin para PostgreSQL
• Oracle SQL Developer para Oracle
• Draw.io o Lucidchart para diagramas
• Git/GitHub para control de versiones
Hardware Recomendado:
• 8GB RAM mínimo (16GB recomendado)
• 20GB espacio libre en disco
• Procesador i5 o equivalente
Recursos de Aprendizaje:
• Documentación oficial PostgreSQL
• Documentación oficial Oracle
• Tutoriales del curso en plataforma UTP
• Foros Stack Overflow y comunidades especializadas
9. CRONOGRAMA DETALLADO
Semana Lunes Miércoles Viernes Entregable
Formación de equipos, Definición de Investigación Documento
Entregable 1
inicio análisis requerimientos PostgreSQL de Análisis
Pruebas y BD
Implementación
Entregable 2 Diseño modelo de datos ajustes PostgreSQL
PostgreSQL
PostgreSQL funcional
Implementación Migración y BD Oracle
Entregable 3 Investigación Oracle
Oracle pruebas Oracle funcional
Análisis de Preparación
Entregable 4 Pruebas comparativas Informe Final
resultados presentación
PRESENTACIONES
Entregable 5 FINALES Y
EVALUACIÓN
10. INSTRUCCIONES DE ENTREGA
Formato de Entrega:
1. Repositorio GitHub con todo el código y documentación
2. Carpeta comprimida con todos los archivos para backup
3. Presentación en clase de 15 minutos + 5 minutos preguntas
Nomenclatura de Archivos:
Grupo[X]_RetailDB_Semana[Y]_[Descripcion]
Ejemplo: Grupo02_RetailDB_Semana1_AnalisisRequerimientos.pdf
Contenido del Repositorio:
/RetailDB-Proyecto/
├── /docs/ # Documentación
├── /postgresql/ # Scripts PostgreSQL
├── /oracle/ # Scripts Oracle
├── /data/ # Datos de prueba
├── /tests/ # Scripts de pruebas
└── README.md # Guía del proyecto
11. CONSIDERACIONES FINALES
Aspectos Importantes:
• La originalidad del trabajo será verificada
• Se requiere participación equitativa de todos los miembros
• Las consultas técnicas se resolverán en horarios de clase
• Backup diario del trabajo es responsabilidad del equipo
Penalizaciones:
• Entrega tardía: -2 puntos por día de retraso
• Plagio detectado: Calificación 0 para todo el equipo
• Participación desigual: Evaluación individual diferenciada
Contacto para Consultas:
• Horario de consultas: Martes y Jueves 4-6 PM
• Foro del curso: Disponible en plataforma UTP
¡Éxito en el desarrollo de su proyecto! Este ejercicio les permitirá aplicar los
conocimientos teóricos en un caso real y desarrollar competencias valiosas para su
futuro profesional.