PROYECTO FINAL
FINAL BASE DE DATOS II
- Definir el enunciado del problema a sistematizar según las necesidades detectadas. (Debe ser Claro y tener mínimo 8 tablas) (Entrega 1)
'Agendamiento Consulta Externa'
- La base de datos que se crea es para sistematizar el servicio de consulta externa, donde a cada medico con su especialidad se le creara una agenda con fecha y hora y a quien se le asigna los pacientes que necesiten ser atendidos, cada paciente tendrá asignado un medico, una agenda y con su aseguradora.
2. REALIZAR LO SIGUIENTE:
2.1. Darle un nombre a la base de datos.
Mi base de datos se llama:
'Agendamiento Consulta Externa'
2.2. Listado de tablas que llevara la BD. (Cuales son referenciales y cuales son de movimiento)
- Referenciales: MEDICO
ESPECIALIDAD
PACIENTE
ASEGURADORA
- Movimiento: AGENDA
ESPECIAL_PACIENTE
PACIENTE_ASEGURADORA
2.3. Diseñar el diccionario de datos de cada tabla (campo, nombre el campo, tipo, tamaño y descripción).
2.4. Montar o diseñar el modelo entidad relación.
2.5. Dibujar el Diagrama relacional.
En el siguiente archivo encuentra las tablas anteriores con toda la información.
3. Crear la BD y las tablas respectivas en mysql (guardar evidencias del código mysql con el que resuelva dicha actividad) (Entrega 2)
- Se agrega el campo jornada en la tabla MEDICO con el tipo de dato ENUM ('diurna','nocturna')
- Se le agrega los datos al campo jornada en la tabla medico a idmedico
- Se agrega campo Estado_civil a la tabla PACIENTE con el tipo de dato SET ('soltero','casado','viudo','divorciado','separado')
- Se le agrega los datos al campo estado civil de la tabla paciente a idpaciente
4. Diseñar ejercicios en los que se apliquen los diferentes comandos que se utilizaron durante el semestre con su respectivo análisis y resultados. (Entrega 3)
TIPO DE DATO ENUM
- Consulte a todos los médico con la jornada nocturna usando el número de la enumeración. (Tipo dato Enum)
- Consulte a todos los médico con la jornada diurna usando el número de la enumeración. (Tipo dato Enum)
Análisis:
1. Cual es el nombre de la tabla
- Medico
2. Que campos (campos contiene la información solicitada) y de que tabla
- Campo: Jornada
- Tabla: Medico
3. Condiciones (es) adicionales si las hay
- Jornada=2
- Jornada=1
4. Comando(s)
- Select, from where
Sintaxis:
select * from medico where jornada=2
select * from medico where jornada=1
TIPO DE DATO SET
- Consulte a todos los pacientes con con estado civil usando el número de la enumeración. (Tipo de dato Set)
Análisis:
1. Cual es el nombre de la tabla
- Paciente
2. Que campos (campos contiene la información solicitada) y de que tabla
- Campo: Estado_civil
- Tabla: Paciente
3. Condiciones (es) adicionales si las hay
- N/A
4. Comando(s)
- Select, from where, like
Sintaxis:
select * from paciente where estado_civil like '%soltero%';
select * from paciente where estado_civil like '%separado%';
select * from paciente where estado_civil like '%divorciado%';
select * from paciente where estado_civil like '%casado%';
select * from paciente where estado_civil like '%viudo%';
MANEJO DE FECHAS
- Para saber cuantos años tiene cada uno que están en la tabla paciente a la fecha
Análisis:
1. Cual es el nombre de la tabla
- Paciente
2. Que campos (campos contiene la información solicitada) y de que tabla
- Campo: Nombre, Fecha de nacimiento
- Tabla: Paciente
3. Condiciones (es) adicionales si las hay
- N/A
4. Comando(s)
- select, from
Sintaxis:
select nombre, year(current_date()) - year (fecha_nacimiento) year from paciente;
- Cuantas personas nacieron entre 1970 y 1982
Análisis:
1. Cual es el nombre de la tabla
- Paciente
2. Que campos (campos contiene la información solicitada) y de que tabla
- Campo: Nombre, Fecha de nacimiento
- Tabla: Paciente
3. Condiciones (es) adicionales si las hay
- que estén entre 1970 y 1982
4. Comando(s)
- select, count, from, between, and
Sintaxis:
select count(*) from paciente where year(fecha_nacimiento) between '1970' and 1982;
- Contar cuantas personas tiene <= a 52 años y su estado civil sea casado
Análisis:
1. Cual es el nombre de la tabla
- Paciente
2. Que campos (campos contiene la información solicitada) y de que tabla
- Campo: Fecha de nacimiento, estado_civil
- Tabla: Paciente
3. Condiciones (es) adicionales si las hay
- <= a 52 años y su estado civil = casado
- select, count, where, and
Sintaxis:
select count(*) from paciente where year(current_date) - year(fecha_nacimiento)<=52 and estado_civil='casado';
MANEJO DE VISTAS
- Crear una vista con el nombre de aseguradoranom que guarde todos los datos del aseguradora = sura
Análisis:
1. Cual es el nombre de la tabla
- aseguradoranom
2. Que campos (campos contiene la información solicitada) y de que tabla
- Campo: idaseguradora, idpaciente,nom_aseguradora
- Tabla:aseguradora
3. Condiciones (es) adicionales si las hay
- que guarde todos los datos del aseguradora = sura
4. Comando(s)
- create, select, where, from, as
Sintaxis:
create view aseguradoranom as select * from aseguradora where nom_aseguradora='sura';
MANEJO DE CADENAS
- Listar los medico que que sus id comiencen 985, 112
Análisis:
1. Cual es el nombre de la tabla
- medico
2. Que campos (campos contiene la información solicitada) y de que tabla
- Campo: idmedico
- Tabla: medico
3. Condiciones (es) adicionales si las hay
- que sus id comiencen 985, 112
4. Comando(s)
- select, where, substr, in
Sintaxis:
select idmedico,nombre from medico where substr(idmedico,1,3) in ('985', '112');
- Cuantos son medicos si id sean al comienzo 985,112
Análisis:
1. Cual es el nombre de la tabla
- medico
2. Que campos (campos contiene la información solicitada) y de que tabla
- Campo: idmedico
- Tabla: medico
3. Condiciones (es) adicionales si las hay
- que sus id comiencen 985, 112
4. Comando(s)
- select, counrt, where, substr
Sintaxis:
select count(*) from medico where substr(idmedico, 1,3) in('985','112');
CREAR TABLA A PARTIR DE OTRA TABLA (Create - Insert)
- Consultamos la tabla de la que queremos extraer la información para crear la nueva tabla.
- Comando para crear la tabla con la información que queremos de otra.
Análisis:
1. Cual es el nombre de la tabla
- paciente
2. Que campos (campos contiene la información solicitada) y de que tabla
- Campo: nom_aseguradora
- Tabla: paciente
3. Condiciones (es) adicionales si las hay
- N/A
4. Comando(s)
- select, distinct, as, from
Sintaxis:
create table pacienteatendido
select distinct nom_aseguradora as nombre
from paciente;
CREAR TABLA A PARTIR DE OTRA TABLA (Create - Insert)
- Crear una tabla con el nombre de las aseguradoras y cuántos pacientes tiene afiliados.
Análisis:
1. Cual es el nombre de la tabla
- paciente
2. Que campos (campos contiene la información solicitada) y de que tabla
- Campo: nom_aseguradora
- Tabla: paciente
3. Condiciones (es) adicionales si las hay
- cuántos pacientes tiene afiliados
4. Comando(s)
- select, from, as, count, group by
5. Sustentación
En este archivo se encuentra las evidencias del proyecto final TEE
En este archivo se encuentra la BD creada