Está en la página 1de 36

PROYECTO GRUPAL

MODELO LÓGICO
DOCENTE: MG. ARIADNA PALOMINO CAHUAYA
ASIGNATURA: MODELADO DE BASE DE DATOS
Integrantes:
Aguilar Jimenez, Juan Pablo
Calvo Caceres, Piero Joaquin
Castillo Villaca, Araceli Abigail
Florez Itusaca, Katherine Alessandra
Paredes Puma, Jairo Nahuel
Wiesse Gutierrez, Rubi
Modelo
Conceptual
en Lucidchart
Listado de tablas del modelo lógico
1 tPacienteHistorial (idPac, nombrePac, paternoPac, maternoPac, dniPacdirreccionPac, nacionalidadPac
sexoPac, fechaNacPac, idH, tipoSangre, contactEmerH, alergiaH, antecedentesH)

2 tEnfermedad (idE, nombreEnf, descripcionEnf)

3 tEspecialidad (idEspe, nombreEspe, descripcionEspe)

4 tFarmaco (idF, nombreF, presentacionF, presentacion2F, familiaF)

5 tMedico (idM, nombreM, paternoM, maternoM, tipoDocumentoM, nroDocumentoM, celularM)


6 tMedico_Especialidad (idME, idM, idEspe)

(idDiagnos, descripciónDiagnos, fechaDiagnos, idTri, presionArtTri,


7 tTriajeDiagnostico
temperaturaTri, pesoTri, idPac, idM)

8 tEnfer_Triajediagnos (idETD, idDiagnos, idE)

9 tTratamiento (idT, fechaHoraT,descripciónT, dosisT, frecuenciaT, duracionT,


formaAplicacionT, idDiagnos)

10 tFar_Trata (idFT, idT, idF)


Diagrama MySQL
Inserción de filas
5 Pacientes
3 médicos (traumatólogo, pediatra, otorrinolaringólogo)

Traumatólogo, pediatra, otorrinolaringólogo

Relación medico especialidad


Inserción de filas
Enfermedades: Osteoporosis, sarampión, laringitis, asma, artritis, síndrome
de mano-pie-boca e infección estomacal.
Inserción de filas
Por cada paciente debe haber una historia clínica
Inserción de filas
De los 5 pacientes, 3 deben tener 2 diagnósticos en diferentes fechas
Inserción de filas
De todos los diagnósticos, 2 de ellos deben ser diagnóstico de “niño sano”
Inserción de filas
Insertar 15 fármacos que puedan curar o aliviar las enfermedades que se están ingresando en la
base de datos.
Consultas
Consulta anidada
D O
C IA
U N
EN Mostrar con una subconsulta anidada el diagnostico que da la descripción de
Osteoporosis Sabiendo que su codigo es "E001"
Consulta anidada
O N
U CI
L
O Tabla Enfermedad (tenfermedad)
S

Tabla Triaje-Diagnostico(ttriajediagnostico)
Consulta anidada
O N
U CI
O L
S
Tabla Enfermedad-Triaje-Diagnostico
(tenfer_triajediagnos)

SELECT ttriajediagnostico.idDiagnos, ttriajediagnostico.descripcionDiagnos FROM


ttriajediagnostico WHERE idDiagnos IN (SELECT idDiagnos FROM tenfer_triajediagnos
WHERE idE IN (SELECT idE FROM tenfermedad WHERE idE ='E001'));
Consulta anidada
R A
T U
A P
C
Consulta JOIN
D O
C IA
U N
EN Mostrar con una subconsulta usando JOIN los nombres de los medicos presentes
ademas de sus especialidades
Consulta JOIN
O N
U CI
O L
S
Tabla Medico (tmedico)
Tabla Especialidad
(tespecialidad)

Tabla Medico-Especialidad
(tmedico_especialidad)

SELECT tmedico.idM,tmedico.nombreM,tespecialidad.nombreEspe FROM tmedico


JOIN tmedico_especialidad ON tmedico.idM = tmedico_especialidad.idM
JOIN tespecialidad ON tmedico_especialidad.idEspe = tespecialidad.idEspe;
R A
Consulta JOIN
T U
A P
C
Consulta JOIN LEFT
D O
C IA
U N
EN Mostrar con una subconsulta usando JOIN LEFT los farmacos que NO estan siendo
utilizados en los tratamientos
Consulta JOIN LEFT
O N
U CI
O L
S

Tabla Farmaco-Tratamiento
(tfar_trata)

Tabla Tratamiento
(ttratamiento)
Consulta JOIN LEFT
O N
U CI
O L
S Tabla Farmaco (tfarmaco)

SELECT tfarmaco.idF, tfarmaco.nombreF FROM tfarmaco


LEFT JOIN tfar_trata ON tfarmaco.idF = tfar_trata.idF
LEFT JOIN ttratamiento ON tfar_trata.idT = ttratamiento.idT
WHERE tfar_trata.idT IS NULL;
C A P T U R A Consulta JOIN LEFT
Consulta Vista
D O
C IA
N
E NU Mostrar el paciente, su historial, por quien fue diagnosticado, de que fue diagnosticado,
descripción, hora, con que fármaco y con que tratamiento esta diagnosticado
Consulta Vista
O N
U CI
O L
S
Tabla Paciente Historial
(tpacientehistorial)

Tabla Triaje Diagnostico


Tabla Medico (tmedico)
(ttriajediagnostico)
Consulta Vista
O N
U CI
O L
S Tabla Farmaco
(tFarmaco)
Tabla Tramiento CREATE VIEW v_Diagnostico(idPac, nombrePac, paternoPac, maternoPac,
(ttramiento) idH, idM, nombreM,idDiagnos, descripcionDiagnos, fechaHoraTri, idF,
nombreF, idT) AS
SELECT tpacientehistorial.idPac, tpacientehistorial.nombrePac,
tpacientehistorial.paternoPac, tpacientehistorial.maternoPac,
tpacientehistorial.idH, tmedico.idM, tmedico.nombreM,
ttriajediagnostico.idDiagnos, ttriajediagnostico.descripcionDiagnos,
ttriajediagnostico.fechaHoraTri, tfarmaco.idF, tfarmaco.nombreF,
ttratamiento.idT
FROM tpacientehistorial
JOIN ttriajediagnostico ON tpacientehistorial.idPac =
ttriajediagnostico.idPac
JOIN tmedico ON tmedico.idM = ttriajediagnostico.idM
JOIN ttratamiento ON ttriajediagnostico.idDiagnos =
ttratamiento.idDiagnos
JOIN tfar_trata ON ttratamiento.idT = tfar_trata.idT
JOIN tfarmaco ON tfar_trata.idF = tfarmaco.idF;
C A P T U R A Consulta Vista
C A P T U R A
Consulta Vista
Código de creación - Base de Datos Clínica MacSalud
CREATE DATABASE IF NOT EXISTS baseClinica;
USE baseClinica;
CREATE TABLE IF NOT EXISTS tpacientehistorial
(
idPac varchar(4) NOT NULL,
nombrePac varchar(50),
paternoPac varchar(50) L,
maternoPac varchar(50),
dniPac varchar(50),
direccionPac varchar(50),
nacionalidadPac varchar(50),
sexoPac varchar(50),
fechaNacPac date,
idH varchar(4),
tipoSangreH varchar(2),
contacEnmerH varchar(50),
alergiaH varchar(50),
antecedentesH varchar(50),
PRIMARY KEY (idPac)
);

CREATE TABLE IF NOT EXISTS tenfermedad


(
idE VARCHAR(4) NOT NULL,
nombreEnf VARCHAR(50),
descripcionEnf VARCHAR(150),
PRIMARY KEY (idE)
);

CREATE TABLE IF NOT EXISTS tespecialidad


(
idEspe VARCHAR(4) NOT NULL,
nombreEspe VARCHAR(50),
descripcionEspe VARCHAR(200),
PRIMARY KEY (idEspe)
);

CREATE TABLE IF NOT EXISTS tfarmaco


(
idF VARCHAR(4) NOT NULL,
nombreF VARCHAR(50),
presentacionF VARCHAR(50),
presentacion2F VARCHAR(50),
familiaF VARCHAR(50),
PRIMARY KEY (idF)
);

CREATE TABLE tmedico (


idM varchar(4) NOT NULL,
nombreM varchar(50),
paternoM varchar(50),
maternoM varchar(50),
tipoDocumentoM varchar(50),
nroDocumentoM varchar(50),
celularM varchar(9),
PRIMARY KEY (idM)
);

CREATE TABLE IF NOT EXISTS tmedico_especialidad


(
idME VARCHAR(4) NOT NULL,
idM VARCHAR(4),
idEspe VARCHAR(4),
PRIMARY KEY (idME),
FOREIGN KEY (idM) REFERENCES tmedico(idM),
FOREIGN KEY (idEspe) REFERENCES tespecialidad(idEspe)
)

CREATE TABLE IF NOT EXISTS ttriajediagnostico


(
idDiagnos varchar(4) NOT NULL,
descripcionDiagnos varchar(50),
fechaDiagnos date,
idTri varchar(4),
fechaHoraTri datetime,
presionArtTri varchar(50),
temperaturaTri varchar(50),
pesoTri varchar(50),
idPac varchar(4),
idM varchar(4),
PRIMARY KEY (idDiagnos),
idPac VARCHAR(4),
FOREIGN KEY (idPac) REFERENCES tpacientehistorial(idPac)
idM VARCHAR(4),
FOREIGN KEY (idM) REFERENCES tmedico(idM)
)
CREATE TABLE IF NOT EXISTS tenfer_triajediagnos
(
idETD VARCHAR(4) NOT NULL,
idDiagnos VARCHAR(4),
idE VARCHAR(4),
PRIMARY KEY (idETD),
FOREIGN KEY (idDiagnos) REFERENCES ttriajediagnos(idDiagnos),
FOREIGN KEY (idE) REFERENCES tenfermedad(idE)
);

CREATE TABLE IF NOT EXISTS ttratamiento


(
idT varchar(4) NOT NULL,
fechaHoraT datetime,
descripcionT varchar(50),
dosisT varchar(50),
frecuenciaT varchar(50),
duracionT varchar(50),
formaAplicacionT varchar(9),
idDiagnos varchar(4),
PRIMARY KEY (idT),
idDiagnos VARCHAR(4),
FOREIGN KEY (idDiagnos) REFERENCES ttriajediagnos(idDiagnos)
)

CREATE TABLE IF NOT EXISTS tfar_trata


(
idFT VARCHAR(4) NOT NULL,
idT VARCHAR(4),
idF VARCHAR(4),
PRIMARY KEY (idFT),
FOREIGN KEY (idT) REFERENCES ttratamiento(idT),
FOREIGN KEY (idF) REFERENCES tfarmaco(idF)
)

Ingreso de Datos - Base de Datos Clínica MacSalud


INSERT INTO tpacientehistorial
VALUES ('PH01', 'Boris', 'Torres', 'Loza', '12301610', 'Av. Cusco A-5', 'Perú', 'M',
'1985-04-10', 'H001', 'A+', '911111111', 'pelo de animales', 'ninguno');
INSERT INTO tpacientehistorial
VALUES('PH02', 'José', 'Pérez', 'Sánchez', '12301510', 'Av. Cusco A-2', 'Perú', 'M',
'2015-12-12', 'H002', 'O+', '922222222', 'ninguno', 'fractura en la tibia');
INSERT INTO tpacientehistorial
VALUES('PH03', 'Raul', 'Arenas', 'Campos', '12301420', 'Av. Cusco D-9', 'Perú', 'M',
'2009-07-24', 'H003', 'B+', '933333333', 'ninguno', 'ninguno');
INSERT INTO tpacientehistorial
VALUES('PH04', 'Jorge', 'Maldonado', 'Rojas', '12301530', 'Av. Cusco C-5', 'Perú', 'M',
'2010-08-07', 'H004', 'B+', '944444444', 'polvo', 'ninguno');
INSERT INTO tpacientehistorial
VALUES('PH05', 'Alejandra', 'Huaman', 'Cahuaya', '01111110', 'Av. Cusco C-9', 'Perú', 'F',
'2012-11-30', 'H005', 'B-', '966666666', 'polvo', 'fractura en el humero');
-------------------------------------------------
INSERT INTO tenfermedad
VALUES('E001', 'Osteoporosis', 'Enfermedad en la que los huesos se vuelven frágiles y
porosos, lo que aumenta el riesgo de fracturas.');
INSERT INTO tenfermedad
VALUES('E002', 'Sarampión', 'Enfermedad viral altamente contagiosa que se propaga por el
aire a través de la tos y los estornudos.');
INSERT INTO tenfermedad
VALUES('E003', 'Laringitis', 'Inflamación de la laringe que puede provocar ronquera, tos,
dolor de garganta y dificultad para tragar.');
INSERT INTO tenfermedad
VALUES('E004', 'Asma', 'Enfermedad crónica que causa inflamación y estrechamiento de las
vías respiratorias, lo que dificulta la respiración.');
INSERT INTO tenfermedad
VALUES('E005', 'Artritis', 'Inflamación de las articulaciones que puede provocar dolor,
rigidez, hinchazón y dificultad para moverse.');
INSERT INTO tenfermedad
VALUES('E006', 'Síndrome de mano-pie-boca', 'Infección viral común en niños pequeños
que puede causar fiebre, dolor de garganta y una erupción en las manos, los pies y la boca.');
INSERT INTO tenfermedad
VALUES('E007', 'Infección estomacal', 'Causadas por virus, bacterias o parásitos, y pueden
causar síntomas como náuseas, vómitos, diarrea, dolor abdominal y fiebre.');
-------------------------------------------------
INSERT INTO tespecialidad
VALUES('ES01', 'Traumatólogo', 'Se especializa en el tratamiento de lesiones
musculoesqueléticas, como fracturas óseas, lesiones de ligamentos y tendones, y problemas
de la columna vertebral.');
INSERT INTO tespecialidad
VALUES('ES02', 'Pediatra', 'Especializado en el cuidado de la salud de los niños, desde el
nacimiento hasta la adolescencia temprana. Desde enfermedades comunes hasta crónicas y
trastornos del desarrollo.');
INSERT INTO tespecialidad
VALUES('ES03', 'Otorrinolaringólogo', 'Especializado en el tratamiento de afecciones del
oído, la nariz y la garganta.');
--------------------------------------------------
INSERT INTO tmedico
VALUES('M001', 'Juan', 'Gómez', 'Pérez', 'DNI', '36789012', '923456781');
INSERT INTO tmedico
VALUES('M002', 'Ana', 'Rodriguez', 'García', 'DNI', '34567890', '967890123');
INSERT INTO tmedico
VALUES('M003', 'Luis', 'Gonzales', 'Alvarez', 'DNI', '56789012', '934567890');
----------------------------------------------------
INSERT INTO tmedico_especialidad
VALUES('ME01', 'M001', 'ES01');
INSERT INTO tmedico_especialidad
VALUES('ME02', 'M002', 'ES02');
INSERT INTO tmedico_especialidad
VALUES('ME03', 'M003', 'ES03');
----------------------------------------------------
INSERT INTO ttriajediagnostico
VALUES('D001', 'Dolor y rigidez en articulaciones', '2022-12-17','T001', '2022-12-17
06:10:00', '120/70 mmHg', '36.9°C', '70 kg', 'PH01', 'M001');
INSERT INTO ttriajediagnostico
VALUES('D002', 'Dificultad para respirar y opresión en el pecho', '2023-01-05','T002',
'2023-01-05 19:30:00', '130/80 mmHg', '37.2°C', '25 kg', 'PH02', 'M002');
INSERT INTO ttriajediagnostico
VALUES('D003', 'Dolor óseo y pérdida de altura', '2023-03-03','T003', '2023-03-03 16:45:00',
'125/80 mmHg', '36.5°C', '70 kg', 'PH01', 'M001');
INSERT INTO ttriajediagnostico
VALUES('D004', 'Vómitos, dolor abdominal y fiebre.', '2023-04-05','T004', '2023-04-05
14:35:00', '110/70 mmHg', '37.9°C', '30 kg', 'PH03', 'M002');
INSERT INTO ttriajediagnostico
VALUES('D005', 'Niño sano', '2023-04-21','T005', '2023-04-21 08:07:00', '120/70 mmHg',
'37.2°C', '29 kg', 'PH03', 'M002');
INSERT INTO ttriajediagnostico
VALUES('D006', 'Fiebre,secreción nasal, ojos llorosos, sarpullido', '2023-07-11','T006',
'2023-07-11 22:33:00', '135/85 mmHg', '37.2°C', '42 kg', 'PH04', 'M002');
INSERT INTO ttriajediagnostico
VALUES('D007','Niño sano','2023-08-16','T007', '2023-08-16 17:10:00', '130/80 mmHg',
'36.2°C', '37 kg', 'PH05', 'M002');
INSERT INTO ttriajediagnostico
VALUES('D008', 'Erupciones en las manos y boca, dolor de garganta', '2023-11-27','T008',
'2023-11-27 12:45:00', '125/80 mmHg', '37.2°C', '39 kg', 'PH05', 'M003');
-------------------------------------------------
INSERT INTO tenfer_triajediagnos
VALUES('ED01', 'D001', 'E005');
INSERT INTO tenfer_triajediagnos
VALUES('ED02', 'D002', 'E004');
INSERT INTO tenfer_triajediagnos
VALUES('ED03', 'D003', 'E001');
INSERT INTO tenfer_triajediagnos
VALUES('ED04', 'D004', 'E007');
INSERT INTO tenfer_triajediagnos
VALUES('ED05', 'D005', NULL);
INSERT INTO tenfer_triajediagnos
VALUES('ED06', 'D006', 'E002');
INSERT INTO tenfer_triajediagnos
VALUES('ED07', 'D007', NULL);
INSERT INTO tenfer_triajediagnos
VALUES('ED08', 'D008', 'E006');
----------------------------------------------------
INSERT INTO tfarmaco
VALUES('F001', 'Alendronato', 'Tabletas',NULL, 'Bifosfonatos');
INSERT INTO tfarmaco
VALUES('F002', 'Ibandronato', 'Solución inyectable',NULL, 'Bifosfonatos');
INSERT INTO tfarmaco
VALUES('F003', 'Paracetamol', 'Tabletas', 'Jarabe', 'Analgésicos y antipiréticos');
INSERT INTO tfarmaco
VALUES('F004', 'Ibuprofeno', 'Tabletas','Suspensión oral', 'Antiinflamatorios no esteroideos');
INSERT INTO tfarmaco
VALUES('F005', 'Codeína', 'Tabletas',NULL, 'Analgésicos opiáceos');
INSERT INTO tfarmaco
VALUES('F006', 'Salbutamol', 'Inhalador',NULL, 'Agonistas Beta-2 de acción corta');
INSERT INTO tfarmaco
VALUES('F007', 'Budesonida', 'Inhalador',NULL, 'Corticosteroides');
INSERT INTO tfarmaco
VALUES('F008', 'Metotrexato', 'Tabletas','Solución inyectable', 'Inmunosupresores');
INSERT INTO tfarmaco
VALUES('F009', 'Celecoxib', 'Cápsulas',NULL, 'Antiinflamatorios no esteroideos');
INSERT INTO tfarmaco
VALUES('F010', 'Aciclovir', 'Tabletas','Suspensión oral', 'Antivirales');
INSERT INTO tfarmaco
VALUES('F011', 'Amoxicilina + Ácido Clavulánico', 'Tabletas',NULL, 'Antibióticos');
INSERT INTO tfarmaco
VALUES('F012', 'Ciprofloxacino', 'Tabletas',NULL, 'Antibióticos');
INSERT INTO tfarmaco
VALUES('F013', 'Montelukast', 'Tabletas',NULL, 'Antagonistas de los receptores de
leucotrienos');
VALUES('F014', 'Denosumab', ' Inyección',NULL, 'Agente anti-resortivo');
INSERT INTO tfarmaco
VALUES('F015', 'Fluticasona', 'Inhalador',NULL, 'Corticosteroide inhalado');
---------------------------------------------------------------
INSERT INTO ttratamiento
VALUES('T001', '2022-12-17 06:30:00', 'Para reducir el dolor y la inflamación','100-200 mg',
'Cada 12 horas','Según la necesidad','Vía oral','D001');
INSERT INTO ttratamiento
VALUES('T002', '2023-01-05 19:45:00', 'Relajar los músculos de las vías respiratorias.','1-2
inhalaciones (100-200 mcg)','Cada 4-6 horas','Según la necesidad','Inhalación', 'D002');
INSERT INTO ttratamiento
VALUES('T003', '2023-03-03 17:00:00', 'Previene la pérdida ósea y aumenta su densidad','70
mg', 'Semanal', 'Hasta 5 años','Vía oral','D003');
INSERT INTO ttratamiento
VALUES('T004', '2023-04-05 15:35:00', 'Para tratar infecciones bacterianas','250-500 mg',
'Cada 12 horas', '7-14 dias','Vía oral','D004');
INSERT INTO ttratamiento
VALUES('T005', '2023-07-11 23:33:00', 'Reduce la fiebre y el dolor en el
sarampión.','500-1000 mg', 'Cada 6 horas', 'Hasta que se reduzca la fiebre','Vía oral','D006');
INSERT INTO ttratamiento
VALUES('T006', '2023-11-27 13:20:00', 'Trata las infecciones virales','200-400 mg', 'Cada 8
horas', '7-10 días','Vía oral','D008');
------------------------------------------------------------
INSERT INTO tfar_trata
VALUES('FT01', 'T001', 'F009');
INSERT INTO tfar_trata
VALUES('FT02', 'T002', 'F006');
INSERT INTO tfar_trata
VALUES('FT03', 'T003', 'F001');
INSERT INTO tfar_trata
VALUES('FT04', 'T004', 'F012');
INSERT INTO tfar_trata
VALUES('FT05', 'T005', 'F003');
INSERT INTO tfar_trata
VALUES('FT06', 'T006', 'F010');

------------------------------------------------------------
Código de vista - Base de Datos Clínica MacSalud
CREATE VIEW v_Diagnostico(idPac, nombrePac, paternoPac, maternoPac, idH, idM,
nombreM,idDiagnos, descripcionDiagnos, fechaHoraTri, idF, nombreF, idT) AS
SELECT tpacientehistorial.idPac, tpacientehistorial.nombrePac,
tpacientehistorial.paternoPac, tpacientehistorial.maternoPac, tpacientehistorial.idH,
tmedico.idM, tmedico.nombreM, ttriajediagnostico.idDiagnos,
ttriajediagnostico.descripcionDiagnos, ttriajediagnostico.fechaHoraTri, tfarmaco.idF,
tfarmaco.nombreF, ttratamiento.idT
FROM tpacientehistorial
JOIN ttriajediagnostico ON tpacientehistorial.idPac = ttriajediagnostico.idPac
JOIN tmedico ON tmedico.idM = ttriajediagnostico.idM
JOIN ttratamiento ON ttriajediagnostico.idDiagnos = ttratamiento.idDiagnos
JOIN tfar_trata ON ttratamiento.idT = tfar_trata.idT
JOIN tfarmaco ON tfar_trata.idF = tfarmaco.idF;

También podría gustarte