PROYECTO FINAL
FINAL BASE DE DATOS
1. Definir el enunciado del problema a sistematizar según las necesidades detectadas.
'Agendamiento Consulta Externa'
Mi base de datos 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.
2.2. Listado de tablas que llevara la BD. (Cuales son referenciales y cuales son de movimiento)
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.
Mi base de datos se llama:
'Agendamiento Consulta Externa'
Tablas que contiene la base de datos
Referenciales Movimiento
MEDICO AGENDA
ESPECIALIDAD ESPECIAL_PACIENTE
PACIENTE PACIENTE_ASEGURADORA
ASEGURADORA
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)
Creación de la base de datos Consulta_externa:
Tabla medico:
Tabla especialidad:
Tabla paciente:
Tabla aseguradora:
Tabla agenda:
Tabla especial_paciente:
Tabla paciente_aseguradora:
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.
Se ingresa datos a la tabla medico:
Se hace un delete porque se ingreso doble un dato
Se ingresa datos a la tabla especialidad
Se ingresa datos a la tabla paciente
Se hace un delete por por error al ingresar la fecha
Se termina de ingresar datos o registros a la tabla paciente.
Se visualiza los datos registros ingresados a la tabla paciente.
Se ingresa datos a la tabla aseguradora
Se utiliza el comando DROP para eliminar el campo idpaciente de la tabla aseguradora, ya que me presentaba conflicto cuando ingresaba los datos
Comando DROP
Eliminar el campo idpaciente de la tabla aseguradora
Tablas a consultar: aseguradora
Campo a eliminar : idpaciente
Condicion: ninguna
Sintaxis:
alter table aseguradora drop idpaciente;
Se termina de ingresar datos o registros a la tabla aseguradora.
Se visualiza la tabla con datos ingresados.
Se ingresa datos o registros a la tabla agenda
Se hace un update al campo idagenda.
Comando UPDATE
Actualizar el idagenda del idmedico=98521478
Tablas a consultar: agenda
Campos a modificar: idagenda=LCC450
Condicion: idagenda=LCC4501
Sintaxis:
update agenda set idagenda='LCC4501' where idmedico='98521478';
Se termina de ingresar datos o registros a la tabla agenda.
Se ingresa datos o registros a la tabla especial_paciente
Se ingresa datos a la tabla paciente_aseguradora
Visualizar la información del medico 98521470
Analisis:
1. Que información se desea mostrar o visualizar :
idmedico=98521470
2. De que tabla se desea mostrar la información:
Tabla medico
3. Identificar las condiciones si las hay:
idmedico=98521470
4. Identificar que comandos me sirven para ver la solución:
select, where.
Sintaxis:
select idmedico,idespecialidad,nombre,sede,estado from medico where idmedico='98521470';
Crear una consulta para visualizar todos los pacientes que tiene la aseguradora 'sura'
Analisis:
1. Que información se desea mostrar o visualizar :
pacientes con el nombre de la aseguradora sura
2. De que tabla se desea mostrar la información:
Tabla paciente
3. Identificar las condiciones si las hay:
nom_aseguradora='sura'
4. Identificar que comandos me sirven para ver la solución:
select, where.
Sintaxis:
select * from paciente where nom_aseguradora='sura';
Visualice todos los medicos que el nombre comienza por J y Terminan en A
Análisis:
1.Que información desea mostrar: (*)
De que tabla: Tabla medico.
Identificar las condiciones si la hay: nombre que comiencen J y terminen en la letra A
Identificar que comandos me sirven para ver la solución: select, where, like.
Sintaxis:
select * from medico where nombre like 'J%A';
Ordene la tabla pacientes de forma Ascendente por el por el campo nombre
Análisis:
Que información desea mostrar: (*)
De que tabla: Tabla paciente.
Identificar las condiciones si la hay: ordenar de forma ascendente el campo nombre.
Identificar que comandos me sirven para ver la solución: select, ,order by
Sintaxis:
select * from paciente order by nombre asc;
Visualizar los medicos con las especialidades que atienden:
Análisis:
1. Que desea consultar y de que tablas:
medico.idmedico
medico.nombre
especialidad.idespecialidad
especialidad.descripcion
2. Que tablas se ven afectadas o involucadas:
medico, especialidad
3. Identificar las condiciones si las hay:
ninguna
4. Como se relacionan las tablas:
medico.idespecialidad=especialidad.idespecialidad
5. Que comando se debe utilizar:
select, where
Sintaxis:
select medico.idmedico,medico.nombre,especialidad.idespecialidad,especialidad.descripcion from medico,especialidad where medico.idespecialidad=especialidad.idespecialidad;
Visualizar la especialidad que tiene el paciente '112369874'
Análisis:
1. Que desea consultar y de que tablas:
especialidad.idespecialidad,especialidad.descripcion
2. Que tablas se ven afectadas o involucadas:
paciente,especialidad,especial_paciente
3. Identificar las condiciones si las hay:
idpaciente='112369874'
4. Como se relacionan las tablas:
paciente.idpaciente=especial_paciente.idpaciente and especial_paciente.idespecialidad=especialidad.idespecialidad
5. Que comando se debe utilizar:
select, where, and
Sintaxis:
select especialidad.idespecialidad,especialidad.descripcion from paciente,especialidad,especial_paciente where paciente.idpaciente='112369874' and paciente.idpaciente=especial_paciente.idpaciente and especial_paciente.idespecialidad=especialidad.idespecialidad;
Procedimientos almacenados
Se crea el procedimiento
Procedimiento para insertar
Sintaxis:
Delimiter //
Create procedure insertarpaciente(in _idpaciente char(10), in _nombre char(60), in _telefono char(15), in _direccion char(20), in _nom_aseguradora char(45), in _fecha_nacimiento date)
Begin
Insert into paciente(idpaciente,nombre,telefono,direccion,nom_aseguradora,fecha_nacimiento) values(_idpaciente,_nombre,_telefono,_direccion,_nom_aseguradora,_fecha_nacimiento);
End
//
Delimiter ;
Y se visualiza los procedimientos creados con el siguiente comando:
Delimiter;
Show procedure status;
Se inserta el procedimiento y el registro en la tabla
Sintaxis:
call insertarpaciente('42793972','Liliana Taborda Sanchez','5670747','cra 47 samaria','sura','1978-01-30');
Se visualiza la tabla para verificar el registro insertado
Procedimiento para listar
Se crea el procedimiento para listar
Sintaxis:
Delimiter //
Créate procedure listar()
Begin
Select * from paciente;
End
//
Delimiter ;
Comando para listar los pacientes de la tabla paciente:
Sintaxis:
delimiter ;
Call listaralumno();
Procedimiento para consultar paciente
Sintaxis:
Delimiter //
Create procedure cons_paciente(in idpaciente char(10))
Begin
Select *from paciente where idpaciente=idpaciente;
End
//
Delimiter ;
En este archivo se encuentra el TEE de todo lo realizado
Estos archivos son la DATABASES de Consulta Externa:
5. Sustentación.