Está en la página 1de 8

CREACIÓN DE LA BASE DE DATOS

CREATE DATABASE CLINICA


ON
(NAME=clinica_dat,
FILENAME= 'F:\clinica.mdf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5)

LOG ON
(NAME=clinica_log,
FILENAME='F:\clinica.ldf',
SIZE=5mb,
MAXSIZE=25mb,
FILEGROWTH=5mb);

CREACIÓN DE LAS TABLAS CON SUS ENLACES (pk y fk)

USE CLINICA
GO

CREATE TABLE SEGURO(


ID_SEGURO VARCHAR(10) PRIMARY KEY,
NOMBRE_SEGURO VARCHAR(20),
TIPO_SEGURO VARCHAR(20));

CREATE TABLE PACIENTE(


ID_PACIENTE CHAR(8) PRIMARY KEY,
ID_SEGURO VARCHAR(10),
DNI CHAR(8),
APELLIDO_PATERNO VARCHAR(20),
APELLIDO_MATERNO VARCHAR(20),
PRIMER_NOMBRE VARCHAR(20),
SEGUNDO_NOMBRE VARCHAR(20),
SEXO CHAR(1),
FECHA_NACIMIENTO DATE,
EDAD INT,
DIRECCION VARCHAR(30),
OCUPACION VARCHAR(15),
ESTADO_CIVIL VARCHAR(10),
CELULAR CHAR(9),
T_FIJO CHAR(7),
CONSTRAINT FK_SEGURO FOREIGN KEY (ID_SEGURO) REFERENCES SEGURO (ID_SEGURO));

CREATE TABLE HISTORIA_CLINICA(


ID_HISTORIA_CLINICA CHAR(10) PRIMARY KEY,
ID_PACIENTE CHAR(8),
FECHA_INGRESO DATE,
CONSTRAINT FK_paciente FOREIGN KEY (ID_PACIENTE) REFERENCES paciente (ID_PACIENTE));
CREATE TABLE CIUDAD(
ID_CIUDAD CHAR(20) PRIMARY KEY,
DEPARTAMENTO VARCHAR(20),
PROVINCIA VARCHAR(20),
DISTRITO VARCHAR(20));

CREATE TABLE SUCURSAL(


ID_SUCURSAL CHAR(3) PRIMARY KEY,
ID_CIUDAD CHAR(20),
NOMBRE_SUCURSAL VARCHAR(30),
DIRECCION VARCHAR(20),
HORA_APERTURA TIME,
HORA_CIERRE TIME,
CONSTRAINT FK_ciudad FOREIGN KEY (ID_CIUDAD) REFERENCES CIUDAD (ID_CIUDAD));

CREATE TABLE ESPECIALIDAD(


ID_ESPECIALIDAD VARCHAR(8) PRIMARY KEY,
NOMBRE_ESPECIALIDAD VARCHAR(20));

CREATE TABLE CONSULTORIO(


ID_CONSULTORIO CHAR(18) PRIMARY KEY,
NOMBRE_CONSULTORIO VARCHAR(30),
PISO CHAR(2),
NUMERO_CONSULTORIO CHAR(4));

CREATE TABLE MEDICO(


ID_MEDICO VARCHAR(8) PRIMARY KEY,
ID_CONSULTORIO CHAR(18),
ID_ESPECIALIDAD VARCHAR(8),
DNI CHAR(8),
NUMERO_COLEGIATURA VARCHAR(20),
PRIMER_NOMBRE VARCHAR(20),
SEGUNDO_NOMBRE VARCHAR(20),
APELLIDO_PATERNO VARCHAR(20),
APELLIDO_MATERNO VARCHAR(20),
FECHA_NACIMIENTO DATE,
CONSTRAINT FK_consultorio FOREIGN KEY (ID_CONSULTORIO) REFERENCES CONSULTORIO
(ID_CONSULTORIO),
CONSTRAINT FK_especialidad FOREIGN KEY (ID_ESPECIALIDAD) REFERENCES ESPECIALIDAD
(ID_ESPECIALIDAD));

CREATE TABLE CONSULTA_MEDICA(


ID_CONSULTA INT PRIMARY KEY,
ID_HISTORIA_CLINICA CHAR(10),
ID_MEDICO VARCHAR(8),
ID_SUCURSAL CHAR(3),
SINTOMATOLOGIA VARCHAR(30),
FECHA_CONSULTA DATE,
FECHA_MODIFICACION DATE,
HORA_CONSULTA TIME,
EVALUACION_MEDICA VARCHAR(30),
EVOLUCION_ENFERMEDAD VARCHAR(30),
CONSTRAINT FK_sucursal FOREIGN KEY (ID_SUCURSAL) REFERENCES SUCURSAL (ID_SUCURSAL),
CONSTRAINT FK_historia_clinica FOREIGN KEY (ID_HISTORIA_CLINICA) REFERENCES
HISTORIA_CLINICA (ID_HISTORIA_CLINICA),
CONSTRAINT FK_medico FOREIGN KEY (ID_MEDICO) REFERENCES MEDICO (ID_MEDICO));

CREATE TABLE TRIAGE(


ID_TRIAGE INT PRIMARY KEY,
ID_CONSULTA INT,
PESO FLOAT,
TALLA FLOAT,
TEMPERATURA FLOAT(5),
PRESION_MINIMA VARCHAR(5),
PRESION_MAXIMA VARCHAR(5),
CONSTRAINT FK_consulta FOREIGN KEY (ID_CONSULTA) REFERENCES CONSULTA_MEDICA
(ID_CONSULTA));

CREATE TABLE ENFERMEDAD(


ID_ENFERMEDAD VARCHAR(10) PRIMARY KEY,
NOMBRE_ENFERMEDAD VARCHAR(20));

CREATE TABLE DIAGNOSTICO(


ID_DIAGNOSTICO VARCHAR(10) PRIMARY KEY,
ID_CONSULTA INT,
ID_ENFERMEDAD VARCHAR(10),
DIAGNOSTICO_PRIMARIO VARCHAR(30),
CONSTRAINT FK_enfermedad FOREIGN KEY (ID_ENFERMEDAD) REFERENCES ENFERMEDAD
(ID_ENFERMEDAD) ,
CONSTRAINT FK_consultadiag FOREIGN KEY (ID_CONSULTA) REFERENCES CONSULTA_MEDICA
(ID_CONSULTA));

CREATE TABLE MEDICAMENTO(


ID_MEDICAMENTO INT PRIMARY KEY,
NOMBRE_COMUN VARCHAR(20),
NOMBRE_GENERICO VARCHAR(20),
PRESENTACION VARCHAR(20),
INDICACIONES VARCHAR(20),
CONTRAINDICACIONES VARCHAR(20));

CREATE TABLE RECETA_MEDICAMENTO (


ID_MEDICAMENTO INT,
ID_CONSULTA INT,
DOSIS VARCHAR(30),
INDICACIONES VARCHAR(30),
CONSTRAINT FK_consultarm FOREIGN KEY (id_consulta) REFERENCES consulta_medica
(id_consulta),
CONSTRAINT FK_medicamento FOREIGN KEY (id_medicamento) REFERENCES medicamento
(id_medicamento));

ALTER TABLE RECETA_MEDICAMENTO


ADD PRIMARY KEY (ID_MEDICAMENTO, ID_CONSULTA);
CREATE TABLE FARMACIA(
ID_FARMACIA CHAR(18) PRIMARY KEY,
ID_MEDICAMENTO INT,
CONSTRAINT FK_id_medicamento FOREIGN KEY (ID_MEDICAMENTO) REFERENCES
MEDICAMENTO(ID_MEDICAMENTO));

CREATE TABLE AUDITORIA(


COD_AUDITORIA INT IDENTITY (1,1) PRIMARY KEY,
USUARIO VARCHAR (20) NOT NULL,
Id INT,
NOMB_TABLA VARCHAR(20) NOT NULL,
ACCION VARCHAR (20) NOT NULL,
FECHA_HORA DATETIME NOT NULL
);

TRIGGERS DE AUDITORIA

CREACIÓN

CREATE TRIGGER MEDICO_I


ON MEDICO
FOR INSERT
AS BEGIN
INSERT AUDITORIA SELECT CURRENT_USER(),new.ID_MEDICO,'MEDICO','INSERTÓ',GETDATE()
from inserted END;
GO

EN MY SQL

CREATE TRIGGER MEDICO_I


AFTER INSERT ON MEDICO
FOR EACH ROW
INSERT INTO AUDITORIA (COD_AUDITORIA,USUARIO,Id,NOMB_TABLA,ACCION,FECHA_HORA)
VALUES (CURRENT_USER(),new.ID_MEDICO,'MEDICO','INSERTÓ',NOW());

ELIMINACIÓN

CREATE TIGGER MEDICO_B


ON MEDICO
FOR DELETE
AS BEGIN
INSERT AUDITORIA SELECT CURRENT_USER(),new.ID_MEDICO,'MEDICO','ELIMINÓ',GETDATE()
from deleted END;
GO

ACTUALIZACIÓN

CREATE TIGGER MEDICO_A


ON MEDICO
FOR UPDATE
AS BEGIN
INSERT AUDITORIA SELECT CURRENT_USER(),new.ID_MEDICO,'MEDICO','ELIMINÓ',GETDATE()
from deleted END;
GO

AGREGANDO REGISTROS A LAS TABLAS

INSERT INTO ciudad (id_ciudad, departamento, provincia, distrito) VALUES


(1, 'Lima', 'Lima', 'San Isidro');
INSERT INTO ciudad (id_ciudad, departamento, provincia, distrito) VALUES
(2, 'Lima', 'Lima', 'Surquillo');
INSERT INTO ciudad (id_ciudad, departamento, provincia, distrito) VALUES
(3, 'Lima', 'Lima', 'Comas');

INSERT INTO consultorio (id_consultorio, nombre_consultorio, piso,


numero_consultorio) VALUES
(1, 'Qualis', 4, 405);
INSERT INTO consultorio (id_consultorio, nombre_consultorio, piso,
numero_consultorio) VALUES
(2, 'Augusto Cáceres', 2, 201);
INSERT INTO consultorio (id_consultorio, nombre_consultorio, piso,
numero_consultorio) VALUES
(3, 'Qualis', 5, 505);

INSERT INTO enfermedad (id_enfermedad, nombre_enfermedad) VALUES


(1, 'Diabetes');
INSERT INTO enfermedad (id_enfermedad, nombre_enfermedad) VALUES
(2, 'Apendicitis');
INSERT INTO enfermedad (id_enfermedad, nombre_enfermedad) VALUES
(3, 'Hipertensión');

INSERT INTO especialidad (id_especialidad, nombre_especialidad) VALUES


(1, 'Endocrinólogo');
INSERT INTO especialidad (id_especialidad, nombre_especialidad) VALUES
(2, 'Medico General');
INSERT INTO especialidad (id_especialidad, nombre_especialidad) VALUES
(3, 'Cardiologo');

INSERT INTO marca (id_marca, nombre_marca, laboratorio) VALUES


(1, 'Glucophage', 'Gador');
INSERT INTO marca (id_marca, nombre_marca, laboratorio) VALUES
(2, 'SUERO', '');
INSERT INTO marca (id_marca, nombre_marca, laboratorio) VALUES
(3, 'Losartán', 'Sarlotas');
INSERT INTO medicamento (id_medicamento, id_marca, nombre_comun, nombre_generico,
presentacion, indicaciones, contraindicaciones) VALUES
(1, 1, 'DIaformina', 'Metformin', 'Tablas recubiertas c', 'Ingerir vía oral des',
'No exponer al sol');
INSERT INTO medicamento (id_medicamento, id_marca, nombre_comun, nombre_generico,
presentacion, indicaciones, contraindicaciones) VALUES
(2, 2, 'Suero', 'Apendimin', 'Bolsa', 'Ingerir vía venal', 'No exponer al sol');
INSERT INTO medicamento (id_medicamento, id_marca, nombre_comun, nombre_generico,
presentacion, indicaciones, contraindicaciones) VALUES
(3, 3, 'DIaformina', 'Metformin', 'Tablas recubiertas', 'Ingerir vía oral', 'No
exponer al sol');

INSERT INTO medico (id_medico, dni, numero_colegiatura, primer_nombre,


segundo_nombre, apellido_paterno, apellido_materno, fecha_nacimiento,
id_especialidad, id_consultorio) VALUES
(1, '41151558', '15048', 'Ernesto', 'Gabriel', 'Valverde', 'Mendoza', '1957-07-15',
1, 1);
INSERT INTO medico (id_medico, dni, numero_colegiatura, primer_nombre,
segundo_nombre, apellido_paterno, apellido_materno, fecha_nacimiento,
id_especialidad, id_consultorio) VALUES
(2, '41151559', '15048', 'Erick', 'José', 'Valdés', 'Quispe', '1951-07-15', 2, 2);
INSERT INTO medico (id_medico, dni, numero_colegiatura, primer_nombre,
segundo_nombre, apellido_paterno, apellido_materno, fecha_nacimiento,
id_especialidad, id_consultorio) VALUES
(3, '41151560', '15048', 'Luis', 'Angel', 'Bustamante', 'Mamani', '1964-07-15', 3,
3);

INSERT INTO seguro (id_seguro, nombre_seguro, tipo_seguro) VALUES


(1, 'Pacifico Vida', 'Seguro de Vida');
INSERT INTO seguro (id_seguro, nombre_seguro, tipo_seguro) VALUES
(2, 'Rimac Seguros', 'Seguro de Vida');
INSERT INTO seguro (id_seguro, nombre_seguro, tipo_seguro) VALUES
(3, 'SIS', 'Seguro del Estado');

INSERT INTO sucursal (id_sucursal, id_ciudad, nombre_sucursal, direccion,


hora_apertura, hora_cierre) VALUES
(1, 1, 'San Isidro', 'Av Camino Real 425', '09:00:00', '22:00:00');
INSERT INTO sucursal (id_sucursal, id_ciudad, nombre_sucursal, direccion,
hora_apertura, hora_cierre) VALUES
(2, 2, 'Breña', 'Av Bolivia 532', '08:00:00', '23:00:00');
INSERT INTO sucursal (id_sucursal, id_ciudad, nombre_sucursal, direccion,
hora_apertura, hora_cierre) VALUES
(3, 3, 'Callao', 'Av La Perla 112', '08:30:00', '22:00:00');

INSERT INTO paciente (id_paciente, apellido_paterno, apellido_materno,


primer_nombre, segundo_nombre, sexo, fecha_nacimiento, edad, direccion, ocupacion,
estado_civil, celular, t_fijo, id_seguro) VALUES
(1, 'Rodriguez', 'Perez', 'Gustavo', 'Enrique', 'm', '1977-05-27', 42, 'Av. Los
Conquistadores', 'Ing. Mecanico', 'Casado', '982501590', '4879015', 1);
INSERT INTO paciente (id_paciente, apellido_paterno, apellido_materno,
primer_nombre, segundo_nombre, sexo, fecha_nacimiento, edad, direccion, ocupacion,
estado_civil, celular, t_fijo, id_seguro) VALUES
(2, 'Estrada', 'Carranza', 'Edelmar', 'Erick', 'm', '1977-05-27', 38, 'Av. La
República', 'Docente', 'Soltero', '982501591', '4879016', 2);
INSERT INTO paciente (id_paciente, apellido_paterno, apellido_materno,
primer_nombre, segundo_nombre, sexo, fecha_nacimiento, edad, direccion, ocupacion,
estado_civil, celular, t_fijo, id_seguro) VALUES
(3, 'Ventura', 'Salluca', 'Renzo', 'Gerson', 'm', '1977-05-27', 64, 'Av. Alfonso
Ugarte', 'Electricista', 'Casado', '982501592', '4879017', 3);

INSERT INTO historia_clinica (id_historia_clinica, fecha_ingreso, id_paciente)


VALUES
(1, '2019-01-25', 1);
INSERT INTO historia_clinica (id_historia_clinica, fecha_ingreso, id_paciente)
VALUES
(2, '2019-01-11', 2);
INSERT INTO historia_clinica (id_historia_clinica, fecha_ingreso, id_paciente)
VALUES
(3, '2019-05-24', 3);

INSERT INTO consulta_medica (id_consulta, id_historia_clinica, id_medico,


id_sucursal, sintomatologia, fecha_consulta, fecha_modificacion, hora_consulta,
evaluacion_medica, evolucion_enfermedad) VALUES
(1, 1, 1, 1, 'Fatiga, perdida de peso, mucha', '2019-01-24', '2019-01-25',
'16:45:37', 'En tratamiento', 'Leve');
INSERT INTO consulta_medica (id_consulta, id_historia_clinica, id_medico,
id_sucursal, sintomatologia, fecha_consulta, fecha_modificacion, hora_consulta,
evaluacion_medica, evolucion_enfermedad) VALUES
(2, 2, 2, 2, 'Dolor abdominal', '2019-01-24', '2019-01-25', '16:45:37', 'En
tratamiento', 'Leve');
INSERT INTO consulta_medica (id_consulta, id_historia_clinica, id_medico,
id_sucursal, sintomatologia, fecha_consulta, fecha_modificacion, hora_consulta,
evaluacion_medica, evolucion_enfermedad) VALUES
(3, 3, 3, 3, 'Dolor de cabeza, mareos, mucha', '2019-01-24', '2019-01-25',
'16:45:37', 'En tratamiento', 'Grave');

INSERT INTO diagnostico (id_diagnostico, id_consulta, id_enfermedad,


diagnostico_primario) VALUES
(1, 1, 1, 'Descartando otras posibles enf');
INSERT INTO diagnostico (id_diagnostico, id_consulta, id_enfermedad,
diagnostico_primario) VALUES
(2, 2, 2, 'Inflamación avanzada');
INSERT INTO diagnostico (id_diagnostico, id_consulta, id_enfermedad,
diagnostico_primario) VALUES
(3, 3, 3, 'Reservado');

INSERT INTO receta_medicamento (id_medicamento, id_consulta, dosis, indicaciones)


VALUES
(1, 1, 'Ingerir una tableta al inicio ', 'No ingerir mas de una unidad ');
INSERT INTO receta_medicamento (id_medicamento, id_consulta, dosis, indicaciones)
VALUES
(2, 2, 'Inyeccion venal ', 'No ingerir comida');
INSERT INTO receta_medicamento (id_medicamento, id_consulta, dosis, indicaciones)
VALUES
(3, 3, 'Ingerir una tableta al inicio', 'No ingerir mas de una unidad');

INSERT INTO triage (id_triage, id_consulta, peso, talla, temperatura,


presion_minima, presion_maxima) VALUES
(1, 1, 94, 1.74, '38°C', '84 mm', '135 m');
INSERT INTO triage (id_triage, id_consulta, peso, talla, temperatura,
presion_minima, presion_maxima) VALUES
(2, 2, 81, 1.81, '37°C', '85 mm', '130 m');
INSERT INTO triage (id_triage, id_consulta, peso, talla, temperatura,
presion_minima, presion_maxima) VALUES
(3, 3, 77, 1.70, '38°C', '81 mm', '141 m');

También podría gustarte