
Base de Datos II
Base de Datos II
Sebastian Carvajal & Yeison Roa
ACTIVIDAD 1
Realizar el diseño e implementación de una base de datos que guarde información de los pacientes que ingresan en un hospital. En este hospital, los pacientes que llegan al servicio de urgencias del hospital son examinados y, dependiendo de su estado de salud, son ingresados en la planta correspondiente (traumatología, cuidados intensivos, ...) bajo la supervisión de un médico responsable:
Para lo cual deben tener en cuenta lo siguiente:
a) Cada médico será responsable en general de varios pacientes.
b) Un paciente puede ingresar varias veces en el hospital y tener asignado en cada ocasión diferentes médicos
REALIZAR LO SIGUIENTE:
1. Darle un nombre a la base de datos.
R//: Hospital
2. Listado de tablas que llevara la BD. (cuales son referenciales y cuales son de movimiento)
R//:
Tablas Referenciales:
- Médicos
- Pacientes
- Plantas
Tablas de Movimiento:
- Ingresos
- Asignaciones_Medicos
Tablas Referenciales: Son la base de datos maestros que se consultan frecuentemente pero no cambian mucho. Por ejemplo, la lista de médicos o pacientes.
Tablas de Movimiento: Son las que registran las operaciones o transacciones del sistema. Por ejemplo, cada vez que un paciente ingresa al hospital, se crea un registro en la tabla de Ingresos.
3. Diseñar la estructura de cada tabla o diccionario de datos teniendo en cuenta el siguiente formato
4. Montar o diseñar el modelo entidad delación.
5. Dibujar el Diagrama relacional.
6. Crear la BD y las tablas respectivas en mysql
Insertarle 10 registros a cada Tabla Maestra Crear los siguientes procedimientos Almacenados que permitan manejar la información de cada una de las tablas maestras
Procedimiento para insertar:
DELIMITER //
CREATE PROCEDURE InsertarPaciente(
IN p_id_paciente VARCHAR(45),
IN p_nombre VARCHAR(45),
IN p_genero VARCHAR(45),
IN p_telefono VARCHAR(45),
IN p_Email VARCHAR(45)
)
BEGIN
INSERT INTO Pacientes (id_paciente, nombre, genero, telefono, Email)
VALUES (p_id_paciente, p_nombre, p_genero, p_telefono, p_Email);
END //
DELIMITER ;
Insertar un nuevo paciente:
CALL InsertarPaciente('P011', 'Roberto Jimenez', 'M', '1231231234', 'roberto.jimenez@example.com');
Procedimiento para listar:
DELIMITER //
CREATE PROCEDURE ListarPacientes()
BEGIN
SELECT * FROM Pacientes;
END //
DELIMITER ;
Listar todos los pacientes:
CALL ListarPacientes();
Procedimiento para consultar:
DELIMITER //
CREATE PROCEDURE ConsultarPaciente(
IN p_id_paciente VARCHAR(45)
)
BEGIN
SELECT * FROM Pacientes WHERE id_paciente = p_id_paciente;
END //
DELIMITER ;
Consultar un paciente específico:
CALL ConsultarPaciente('P001');
Procedimiento para eliminar:
CREATE PROCEDURE EliminarPaciente(
IN p_id_paciente VARCHAR(45)
)
BEGIN
DELETE FROM Pacientes WHERE id_paciente = p_id_paciente;
END //
DELIMITER ;
Eliminar un paciente:
CALL EliminarPaciente('P011');
Procedimiento para modificar:
DELIMITER //
CREATE PROCEDURE ModificarPaciente(
IN p_id_paciente VARCHAR(45),
IN p_nombre VARCHAR(45),
IN p_genero VARCHAR(45),
IN p_telefono VARCHAR(45),
IN p_Email VARCHAR(45)
)
BEGIN
UPDATE Pacientes
SET nombre = p_nombre, genero = p_genero, telefono = p_telefono, Email = p_Email
WHERE id_paciente = p_id_paciente;
END //
DELIMITER ;
Modificar un paciente:
CALL ModificarPaciente('P001', 'Juan Perez Updated', 'M', '1234567890', 'juan.perez.updated@example.com');

