Enunciado proyecto final
La clinica veterinaria Palacio de las mascotas requiere una base de datos relacional para optimizar la gestión integral de sus procesos administrativos, médicos y financieros. Actualmente, toda la información se maneja de manera manual, lo que genera:
Confusión en la programación de citas
Errores en la facturación
Perdida del historial médico
Falta de control de inventario de medicamentos
Estas deficiencias provocan retrasos en la atención, duplicación de datos, y dificultades en el seguimiento de los servicios prestados.
Con el fin de solucionar estos problemas, se desarrollará la base de datos "PalacioMascotas", que permitirá la centralizar la información, automatizar procesos y mantener la integridad de los datos mediante claves primarias,foraneas,triggers, procedimientos almacenados y consultas avanzadas.
Estructura general de la base de datos
Tablas principales:
- Clientes: (ID, nombre, dirección, teléfono, correo electrónico)
- Mascotas: (ID, especie, raza, edad, peso, ID_Cliente)
- Veterinarios: (ID, nombre, cédula, especialidad, años_experiencia)
- Especialidades: (ID, nombre_especialidad)
- Citas: (ID, fecha, hora, ID_Mascota, ID_Veterinario, motivo, estado)
- Procedimientos: (ID, nombre, descripción, costo)
- Diagnósticos: (ID, ID_Cita, descripción, observaciones)
- Tratamientos: (ID, ID_Diagnóstico, medicamento, dosis, duración)
- Medicamentos: (ID, nombre, tipo, cantidad_stock, precio_unitario, ID_Proveedor)
- Proveedores: (ID, nombre, teléfono, dirección, correo)
- Hospitalizaciones: (ID, ID_Mascota, fecha_ingreso, fecha_salida, ID_Veterinario, diagnóstico)
- Servicios: (ID, tipo_servicio, descripción, precio)
- Facturas: (ID, ID_Cliente, fecha, total, método_pago)
- DetalleFactura: (ID, ID_Factura, ID_Servicio, cantidad, subtotal)
- Pagos: (ID, ID_Factura, monto, fecha, tipo_pago)
Operaciones y funcionalidades
La base de datos permitirá las siguientes operaciones y conceptos de nivel avanzado:
1. Inserción, actualización y eliminación controlada
- Insertar nuevos clientes, mascotas, citas, tratamientos, medicamentos y facturas.
- Actualizar información de clientes, inventario y estado de citas.
- Eliminación lógica con campos de estado para conservar trazabilidad histórica.
2. Integridad y restricciones
- Implementación de claves primarias y foráneas para garantizar la integridad referencial.
- Uso de restricciones CHECK para validar datos (por ejemplo, cantidad_stock ≥ 0).
- Restricciones UNIQUE y NOT NULL para asegurar consistencia en campos críticos.
3. Triggers
- Descontar automáticamente medicamentos del inventario al registrar un tratamiento o factura.
- Actualizar automáticamente el estado de la cita (pendiente, atendida, cancelada).
- Registrar fecha y hora de creación o modificación de registros (auditoría automática).
4. Procedimientos almacenados
- Registrar una factura completa con sus detalles y actualizar el inventario en una sola transacción.
- Generar reportes automáticos de ingresos por mes o tipo de servicio.
- Registrar hospitalizaciones y dar de alta automáticamente al cerrar el caso.
5. Vistas (VIEWs)
- Mostrar el historial médico completo de cada mascota (JOIN entre Mascotas, Citas, Diagnósticos y Tratamientos).
- Consultar medicamentos agotados o con bajo stock.
- Listar citas pendientes por veterinario o por día.
6. Consultas avanzadas (JOIN, subconsultas y funciones agregadas)
- JOIN entre Clientes, Mascotas y Citas para obtener historial de atención.
- JOIN entre Veterinarios y Especialidades para mostrar la disponibilidad médica.
- Subconsultas para obtener los medicamentos más recetados y los servicios más vendidos.
- Uso de funciones agregadas (SUM, AVG, COUNT) para calcular promedios de costos, número de citas por mes o ingresos totales.
7. Cursores y funciones definidas por el usuario
- Uso de cursores para recorrer registros de medicamentos y generar alertas por bajo stock.
- Funciones personalizadas para calcular automáticamente el subtotal, impuesto y total de una factura.
8. Transacciones
- Control de COMMIT y ROLLBACK para garantizar que las operaciones críticas (como facturación o tratamientos) se ejecuten completamente o no se realicen en caso de error.
9. Seguridad y roles
- Creación de usuarios y roles con diferentes privilegios (administrador, veterinario, asistente, contador).
- Asignación de permisos específicos para lectura, inserción o modificación de datos.
Consultas y reportes
El sistema permitirá generar reportes mediante consultas combinadas (JOIN) y funciones de agregación:
- Listar servicios más utilizados y medicamentos más recetados.
- Control de hospitalizaciones activas y alta médica reciente.
- Consultar ingresos mensuales por tipo de servicio o veterinario.
- Mostrar historial clínico completo por cliente o mascota.
- Verificar estado del inventario y proveedores asociados.
Solución
2.1 Nombre de la base de datos: PalacioMascotas
2.2 2.3 Archivo excel con dos hojas la primera tiene las tablas y la segunda el diccionario de datos.
2.4 2.5 diagrama relacional y MER
Base de datos
proyecto completo