Alumna: Micaela Rombolá
Fecha: 12/08/2025
Materia: SQL
El presente trabajo describe el desarrollo de una base de datos relacional destinada a la administración de un consultorio médico.
El sistema se diseñó para organizar la información de los pacientes, médicos, especialidades, consultorios y turnos, con el objetivo de garantizar la integridad de los datos, optimizar el flujo de trabajo y reducir errores administrativos.
La base de datos fue concebida teniendo en cuenta criterios de normalización y escalabilidad para adaptarse a futuras necesidades.
Antes de la implementación, el consultorio gestionaba la información en hojas de cálculo y registros físicos, lo que ocasionaba:
La base de datos propuesta resuelve estas deficiencias mediante relaciones bien definidas, integridad referencial y reglas que evitan inconsistencias.
El consultorio cuenta con un equipo de médicos, cada uno perteneciente a una especialidad específica.
Los pacientes solicitan turnos que se asignan a un médico y un consultorio en una fecha y hora determinadas.
Los turnos pueden tener estado Pendiente, Confirmado o Cancelado.
Flujo resumido:
Tabla | Campo | Tipo de dato | Clave | Descripción |
---|---|---|---|---|
Especialidades | id_especialidad | INT | PK | ID de la especialidad |
nombre_especialidad | VARCHAR(50) | UNIQUE | Nombre único de la especialidad | |
Pacientes | id_paciente | INT | PK | ID del paciente |
nombre | VARCHAR(50) | Nombre del paciente | ||
apellido | VARCHAR(50) | Apellido del paciente | ||
dni | CHAR(8) | UNIQUE | Documento Nacional de Identidad | |
VARCHAR(100) | Correo electrónico | |||
telefono | VARCHAR(15) | Teléfono de contacto | ||
fecha_registro | TIMESTAMP | DEFAULT | Fecha de alta | |
Consultorios | id_consultorio | INT | PK | ID del consultorio |
nombre_consultorio | VARCHAR(50) | Nombre identificatorio | ||
piso | INT | Piso del edificio | ||
Médicos | id_medico | INT | PK | ID del médico |
nombre | VARCHAR(50) | Nombre del médico | ||
apellido | VARCHAR(50) | Apellido del médico | ||
matricula | VARCHAR(20) | UNIQUE | Matrícula profesional | |
id_especialidad | INT | FK | Relación con Especialidades | |
Turnos | id_turno | INT | PK | ID del turno |
fecha_turno | DATE | Fecha programada | ||
hora_turno | TIME | Hora programada | ||
id_paciente | INT | FK | Relación con Pacientes | |
id_medico | INT | FK | Relación con Médicos | |
id_consultorio | INT | FK | Relación con Consultorios | |
estado | ENUM | Estado actual | ||
fecha_creacion | TIMESTAMP | DEFAULT | Fecha y hora de registro |
Campo | Abrev. | Nombre completo |
---|---|---|
id_especialidad | IDES | ID de especialidad |
nombre_especialidad | NOMESP | Nombre de la especialidad |
id_paciente | IDP | ID del paciente |
nombre | NOM | Nombre |
apellido | APE | Apellido |
dni | DNI | Documento Nacional de Identidad |
Correo electrónico | ||
telefono | TEL | Teléfono |
fecha_registro | FREG | Fecha de registro |
id_consultorio | IDC | ID de consultorio |
nombre_consultorio | NOMC | Nombre del consultorio |
piso | PISO | Piso |
id_medico | IDM | ID del médico |
matricula | MAT | Matrícula profesional |
fecha_turno | FET | Fecha del turno |
hora_turno | HOT | Hora del turno |
estado | EST | Estado del turno |
fecha_creacion | FCRE | Fecha de creación |
Archivo: ConsultorioMedico_completo.sql