
Proyecto de un Centro Médico del Curso de Certificación de SQL SERVER de IBM SkillsBuild, DataHack y Fundae
1. Diseñando la base de datos
En la base de datos tenemos una serie de tablas y tipos de datos que nos van a facilitar la gestión de un centro médico. Los detalles se muestran a continuación:
1.1. Tipos de datos definidos por el usuario:
historia: Tipo de datointpara identificar historias.medico: Tipo de datointpara identificar médicos.observacion: Tipo de datovarchar(1000)para observaciones.paciente: Tipo de datointpara identificar pacientes.turno: Tipo de datointpara identificar turnos.
1.2. Tablas:
- Concepto: Contiene
idconcepto(identificador) ydescripcion(de tipovarchar(100)). - Especialidad: Define especialidades médicas, con un identificador
idEspecialidady su descripción. - Historia: Almacena las historias médicas, con un
idHistoria, lafechaHistoria, y unaobservacion. - HistoriaPaciente: Relaciona las historias médicas con pacientes y médicos a través de las claves
idHistoria,idPaciente, yidMedico. - Medico: Información de los médicos, con
idMedico,Nombre, yApellido. - MedicoEspecialidad: Relaciona médicos con especialidades, con
idMedico,idEspecialidad, yDescripcion. - Paciente: Contiene información de los pacientes, como
idPaciente,nombre,apellido,fNacimiento,domicilio, etc. - Pago: Registra pagos realizados, con detalles como
idpago,concepto,fecha,monto,estado, yobservacion. - PagoPaciente: Relaciona pagos con pacientes y turnos, con claves como
idpago,idpaciente, yidturno. - Pais: Información sobre países, con un identificador
idPaisy el nombre del país. - Turno: Almacena los turnos, con información sobre
idTurno,fechaTurno,estado, yobservacion. - TurnoEstado: Define los posibles estados de un turno, con
idEstadoyDescripcion. - TurnoPaciente: Relaciona turnos con pacientes y médicos, utilizando
idTurno,idPaciente, yidMedico.
1.3. Tipos y restricciones:
1. Tabla: Concepto
- idconcepto:
tinyint(NOT NULL) → Clave primaria - descripcion:
varchar(100)(NULL)
2. Tabla: Especialidad
- idEspecialidad:
int(NOT NULL) → Clave primaria - Especialidad:
varchar(30)(NULL)
3. Tabla: Historia
- idHistoria:
dbo.historia(NOT NULL) → Clave primaria - fechaHistoria:
datetime(NULL) - observacion:
dbo.observacion(NULL)
4. Tabla: HistoriaPaciente
- idHistoria:
dbo.historia(NOT NULL) → Clave foránea referencia aHistoria - idPaciente:
dbo.paciente(NOT NULL) → Clave foránea referencia aPaciente - idMedico:
dbo.medico(NOT NULL) → Clave foránea referencia aMedico - Claves primarias: (
idHistoria,idPaciente,idMedico).
5. Tabla: Medico
- idMedico:
dbo.medico(NOT NULL) → Clave primaria - Nombre:
varchar(50)(NOT NULL) - Apellido:
varchar(50)(NOT NULL)
6. Tabla: MedicoEspecialidad
- idMedico:
dbo.medico(NOT NULL) → Clave foránea referencia aMedico - idEspecialidad:
int(NOT NULL) → Clave foránea referencia aEspecialidad - Descripcion:
varchar(50)(NOT NULL) - Claves primarias: (
idMedico,idEspecialidad,Descripcion).
7. Tabla: Paciente
- idPaciente:
dbo.paciente(NOT NULL) → Clave primaria - nombre:
varchar(50)(NOT NULL) - apellido:
varchar(50)(NOT NULL) - fNacimiento:
date(NOT NULL) - domicilio:
varchar(50)(NOT NULL) - idPais:
char(3)(NULL) → Clave foránea referencia aPais - telefono:
varchar(20)(NULL) - email:
varchar(30)(NOT NULL) - observacion:
dbo.observacion(NULL)
8. Tabla: Pago
- idpago:
int(NOT NULL) → Clave primaria - concepto:
tinyint(NOT NULL) → Clave foránea referencia aConcepto - fecha:
datetime(NOT NULL) - monto:
money(NOT NULL) - estado:
tinyint(NULL) - observacion:
dbo.observacion(NULL)
9. Tabla: PagoPaciente
- idpago:
int(NOT NULL) → Clave foránea referencia aPago - idpaciente:
dbo.paciente(NOT NULL) → Clave foránea referencia aPaciente - idturno:
int(NOT NULL) → Clave foránea referencia aTurno - Claves primarias: (
idpago,idpaciente,idturno).
10. Tabla: Pais
- idPais:
char(3)(NOT NULL) → Clave primaria - Pais:
varchar(30)(NULL)
11. Tabla: Turno
- idTurno:
dbo.turno(NOT NULL) → Clave primaria - fechaTurno:
datetime(NULL) - estado:
smallint(NULL) - observacion:
dbo.observacion(NULL)
12. Tabla: TurnoEstado
- idEstado:
smallint(NOT NULL) → Clave primaria - Descripcion:
varchar(50)(NULL)
13. Tabla: TurnoPaciente
- idTurno:
int(NOT NULL) → Clave foránea referencia aTurno - idPaciente:
dbo.paciente(NOT NULL) → Clave foránea referencia aPaciente - idMedico:
dbo.medico(NOT NULL) → Clave foránea referencia aMedico - Claves primarias: (
idTurno,idPaciente,idMedico) - Claves primarias: (
idTurno,idPaciente,idMedico)
1.4. Diagrama de la base de datos Centro Medico

