Está en la página 1de 10

Practica3

Curso: SQL-Implementacion
Docente: Flores Ventura, Fredy Bernando
Integrantes:
 Carrillo Vilchez, Jose Manuel
 Ñaupari Reyes, Wendy
 Rosales Leyva, Guillermo
 Salazar Trinidad, Cristhian

2019
Creacion de la base de Datos:
Create database ClinicaUNI
use ClinicaUNI

Script de tipos de datos a usar:


/*Creacion de tipos de datos a usar
*/
create type ape
from varchar (13)
create type nomT
from varchar(15)
create type nom
from varchar(20)
create type det
from varchar(40)
create type ima
from image
create type ema
from varchar(30)
create type reg
from varchar(20)
create type gen
from bit
create type dist
from varchar(20)
create type cmp
from varchar(30)

Script de creación de tablas e inserciones:

/*CREACION DE TABLAS*/
/*Tabla Turno
HInTur: Hora inicio del turno
DetTur: Detalle del turno
*/

CREATE TABLE Turno (


CodTur int primary key,
DetTur det,
HInTur time check(HIntur>='08:00:00' and HInTur<='18:00:00'),
HFiTur time check(HFiTur>='08:00:00' and HFiTur<='18:00:00'),
);
--Insertando valores a la tabla Turno
insert Turno Values(100,'Primero','09:15:00','09:30:00')
insert Turno Values(101,'Segundo','09:30:00','09:45:00')
insert Turno Values(102,'Tercero','09:45:00','10:00:00')
insert Turno Values(103,'Cuarto','10:15:00','10:30:00')
insert Turno Values(104,'Quinto','10:45:00','11:00:00')

/*Tabla Entidad Financiera


FFCEnt:Fecha de fin de contrato de la entidad
*/
CREATE TABLE EntidadFinanciera (
CodEnt int primary key,
NomEnt nom,
LogEnt ima default 'D:\Imagenes\DefaultEmpresa.jpg',
EmaEnt ema check(EmaEnt like '%@%'),
TelEnt int check(TelEnt > 900000000 and TelEnt <=999999999),
FICEnt date check(FICEnt<getdate()),
FFCEnt date check(FFCEnt<'31-12-2020'),
);
--Insertando valores a la tabla Entidad Financiera
insert EntidadFinanciera
Values(1001,'MiBanco','D:\Imagenes\MiBanco.jpg','Mibanco@gmail.com',987784523,'10-
02-2005','05-12-2020')
insert EntidadFinanciera
Values(1002,'BCP','D:\Imagenes\BCP.jpg','BCP@gmail.com',987284523,'08-01-2015','09-
11-2019')
insert EntidadFinanciera
Values(1003,'BBVA','D:\Imagenes\BBVA.jpg','BBVA@gmail.com',987784533,'10-01-
2009','10-04-2019')
insert EntidadFinanciera(CodEnt,NomEnt,EmaEnt,TelEnt,FICEnt,FFCEnt)
Values(1004,'Prestamos Rubick','Rubick@gmail.com',986684523,'11-02-2019','11-02-
2020')
insert EntidadFinanciera(CodEnt,NomEnt,EmaEnt,TelEnt,FICEnt,FFCEnt)
Values(1005,'Siempre Honoste','SHonesto@gmail.com',986645523,'08-05-2019','08-05-
2020')

/*Tabla Consultorio
Datos del consultorio
CodPab: Codigo del pabellon donde se encuentra
DetCon: Detalles del consultorio
*/
create table Consultorio(
CodCon int primary key,
CodEsp int foreign key (CodEsp)references Especialidad,--Codigo Especialidad,
NumCon int check((NumCon>=100 and NumCon<=105) or(NumCon>=200 and NumCon<=205)
or(NumCon>=300 and NumCon<=305)),
DetCon det
);
--Insertando valores a la tabla Consultorio
insert Consultorio Values(101,1,104,'Consultorio Oftalmologia')
insert Consultorio Values(102,2,203,'Consultorio Urologia')
insert Consultorio Values(103,1,201,'Consultorio Traumatologia')
insert Consultorio Values(104,2,300,'Consultorio Ginecologia')
insert Consultorio Values(105,1,103,'Consultorio Traumatologia')

/*Tabla TipoPago
*/
create table TipoPago(
CodTip int primary key,
NomTip nomt,
DetTip det
);
--Insertando valores a la tabla TipoPago
insert TipoPago Values(1101,'Crédito','American Express')
insert TipoPago Values(1102,'Débito','Visa')
insert TipoPago Values(1103,'Crédito','Mastercard')
insert TipoPago Values(1104,'Transferencia','Visa')
insert TipoPago Values(1105,'Efectivo','Soles')

/*Tabla Factura
FFac: Fecha de la factura
*/

create table Factura(


CodFac int primary key,
NomPac nom,
ApePac ape,
Monto int check (Monto>0),
CodTip int foreign key (CodTip)references TipoPago,
DetFac det,
FyHFac date check(FyHFac<=getdate())
CodCita int foreign key (CodCita) references Cita,
CodEnt int Foreign key(CodEnt) references EntidadFinanciera

);
/*Codigos de Tipos de Factura
11101=ordinaria
11102=proforma
11103=eléctronica
11104=simplificada
11105=rectificativa
*/

--Insertando valores a la tabla Factura


insert Factura Values(0001,'Juan ','Perez',120,11101,'Cancelada','13-07-2019', 0009
, 1001)
insert Factura Values(0002,'Camilo ','Muente',172,11102,'Pendiente','13-07-2019',
0002 , 1002)
insert Factura Values(0003,' David','Nieves',80,11103,'Cancelada','13-07-2019',
0010, 1003)
insert Factura Values(0004,'Joaquín','Reyes',45,11104,'Pendiente','13-07-2019',
0004, 1004)
insert Factura Values(0005,'Oscar','Villavicencio',95,11105,'Cancelada','13-07-
2019', 0007, 1005)

/*Tabla Paciente
*/
CREATE TABLE Paciente
(
CodPac int primary key,
NomPac nom,
AppPac ape,
ApmPac ape,
TelPac int check(TelPac > 900000000 and TelPac <=999999999),
EmaPac ema unique check(EmaPac like '%@%'),
DNIPac int unique,
FNaPac date check( FNaPac <= getdate()),
GenPac gen ,
FotoPac image, --default iif(GeneroPac = 1, 'C:\Users\GUILLERMO\Documents\SQL
Server Management Studio\Pacientes\Desconocido1.jpg',
'C:\Users\GUILLERMO\Documents\SQL Server Management
Studio\Pacientes\Desconocido0.jpg'),
RegPac reg, --Region Lima (se queria hacer Lista de Regiones)
DisPac varchar(40) check (DisPac in
('Ancon','Ate','Barranco','Breña','Carabayllo','Chaclacayo','Chorrillos','Cieneguill
a','Comas','El Agustino,Independencia',
'Jesús María','La Molina','La Victoria','Lima','Lince','Los
Olivos','Lurigancho','Lurín','Magdalena del Mar','Miraflores','Pachacamac',
'Pucusana','Pueblo Libre','Puente Piedra','Punta Hermosa','Punta Negra','Rimac','San
Bartolo','San Borja','San Isidro','San Juan de Lurigancho',
'San Juan de Miraflores','San Luis','San Martín de Porres','San Miguel','Santa
Anita','Santa María del Mar','Santa Rosa','Santiago de Surco','Surquillo',
'Villa El Salvador','Villa María del Triunfo')) foreign key (CodDis)references
Distrito
, --Lista de Distritos de Lima
)

--Nota:
--Masculino=1 & Desconocido1
--Femenino=0 & Desconocido0

--Insertando valores a la tabla Paciente


insert Paciente
values(2019001,'Guillermo','Rosales','Leyva',940242284,'aries_20_15@hotmail.com',742
80238, '1999-04-14',1,'C:\Users\GUILLERMO\Documents\SQL Server Management
Studio\Pacientes\Desconocido1.jpg' ,'Lima','Santiago de Surco')
insert Paciente
values(2019002,'Maria','Rojas','Polo',940442284,'aries_21_15@hotmail.com',74380238,
'1996-04-14',1,'C:\Users\GUILLERMO\Documents\SQL Server Management
Studio\Pacientes\Desconocido0.jpg' ,'Lima','Comas')
insert Paciente
values(2019003,'Matias','Navarrete','Salas',941242284,'aries_22_15@hotmail.com',7427
0238, '2000-04-14',1,'C:\Users\GUILLERMO\Documents\SQL Server Management
Studio\Pacientes\Desconocido1.jpg' ,'Lima','Surquillo')
insert Paciente
values(2019004,'Betty','Leyva','Cabrera',940246284,'aries_29_15@hotmail.com',7428021
8, '1964-04-14',1,'C:\Users\GUILLERMO\Documents\SQL Server Management
Studio\Pacientes\Desconocido0.jpg' ,'Lima','Chorrillos')
insert Paciente
values(2019005,'Rayshel','Chunga','Leyva',940202284,'aries_30_15@hotmail.com',742402
38, '2004-04-14',1,'C:\Users\GUILLERMO\Documents\SQL Server Management
Studio\Pacientes\Desconocido0.jpg' ,'Lima','Miraflores')

/*
Tabla Medico
*/

CREATE TABLE Medico


(CodMed int primary key ,
CodEsp int foreign key (CodEsp)references Especialidad,
NomMed nom,
AppMed ape,
ApmPac ape,
FotMed ima, --default iif(GeneroPac = 1, 'C:\Users\GUILLERMO\Documents\SQL Server
Management Studio\Pacientes\Desconocido1.jpg', 'C:\Users\GUILLERMO\Documents\SQL
Server Management Studio\Pacientes\Desconocido0.jpg'),
TelMed int check(TelMed > 900000000 and TelMed <=999999999),
EmaMed ema unique check(EmaMed like '%@%'),
CMPMed cmp check(CMPMed in
('Ancon','Ate','Barranco','Breña','Carabayllo','Chaclacayo','Chorrillos','Cieneguill
a','Comas','El Agustino,Independencia',
'Jesús María','La Molina','La Victoria','Lima','Lince','Los
Olivos','Lurigancho','Lurín','Magdalena del Mar','Miraflores','Pachacamac',
'Pucusana','Pueblo Libre','Puente Piedra','Punta Hermosa','Punta Negra','Rimac','San
Bartolo','San Borja','San Isidro','San Juan de Lurigancho',
'San Juan de Miraflores','San Luis','San Martín de Porres','San Miguel','Santa
Anita','Santa María del Mar','Santa Rosa','Santiago de Surco','Surquillo',
'Villa El Salvador','Villa María del Triunfo')) ,
)

--Nota:
--Masculino=1 & Desconocido1
--Femenino=0 & Desconocido0
--Insertando valores a la tabla Medico
insert Medico
values(2098,005,'Juan','Galarza','Patiño','C:\Users\GUILLERMO\Documents\SQL Server
Management
Studio\Pacientes\Desconocido1.jpg',994118781,'Iqsac@hotmail.com','Santiago de
Surco')
insert Medico
values(2091,007,'Elisa','Villareal','Monteverde','C:\Users\GUILLERMO\Documents\SQL
Server Management
Studio\Pacientes\Desconocido0.jpg',994168781,'Iqsac1@hotmail.com','Surquillo')
insert Medico
values(2092,001,'Javier','Rodriguez','Angulo','C:\Users\GUILLERMO\Documents\SQL
Server Management
Studio\Pacientes\Desconocido1.jpg',990118781,'Iqsac89@hotmail.com','Pueblo Libre')
insert Medico
values(2096,009,'Santiago','Aquino','Paliza','C:\Users\GUILLERMO\Documents\SQL
Server Management
Studio\Pacientes\Desconocido1.jpg',994113781,'Iqsac35@hotmail.com','Comas')
insert Medico
values(2090,003,'Pilar','Carpio','Mesa','C:\Users\GUILLERMO\Documents\SQL Server
Management
Studio\Pacientes\Desconocido0.jpg',994108781,'Iqsac30@hotmail.com','Lince')

/*Tabla Cita
EstCita: Estado de la cita
*/
CREATE TABLE Cita
(
CodCita int primary key,
FecCita date check(FecCita >= getdate()),
EstCita bit,
CodMed int foreign key (CodMed)references Medico,
CodTurno int foreign key (CodTur)references Turno,
CodPac int foreign key (CodPac)references Paciente,
CodEsp int foreign key (CodEsp)references Especialidad
)

--Nota:
--Disponible:1
--Ocupado:0
------------------
--Medicos:
--Juan Galarza Patiño->2098
--Elisa Villareal Monteverde->2091
--Javier Rodriguez Angulo->2092
--Santiago Aquino Paliza->2096
--Pilar Carpio Mesa->2090
------------------
--Pacientes:
--Guillermo Rosales->2019001
--Maria Rojas->2019002
--Matias Navarrete->2019003
--Betty Leyva->2019004
--Rayshel Chunga->2019005

--Insertando valores a la tabla Cita


insert Cita values(0009, '2019-08-23',1,2098, 0016,2019001,001)
insert Cita values(0002, '2019-08-24',1,2091, 0017,2019002,002)
insert Cita values(0010, '2019-08-23',1,2092, 0019,2019003,003)
insert Cita values(0004, '2019-08-25',1,2090, 0018,2019004,004)
insert Cita values(0007, '2019-08-22',1,2096, 0015,2019005,005)

/*Tabla Distrito
CodDis:Codigo Distrito
NomDis:Nombre Distrito
*/
CREATE TABLE Distrito
(
CodDis int primary key,
NomDis varchar(40) check(NomDis in
('Ancon','Ate','Barranco','Breña','Carabayllo','Chaclacayo','Chorrillos','Cieneguill
a','Comas','El Agustino,Independencia',
'Jesús María','La Molina','La Victoria','Lima','Lince','Los
Olivos','Lurigancho','Lurín','Magdalena del Mar','Miraflores','Pachacamac',
'Pucusana','Pueblo Libre','Puente Piedra','Punta Hermosa','Punta Negra','Rimac','San
Bartolo','San Borja','San Isidro','San Juan de Lurigancho',
'San Juan de Miraflores','San Luis','San Martín de Porres','San Miguel','Santa
Anita','Santa María del Mar','Santa Rosa','Santiago de Surco','Surquillo',
'Villa El Salvador','Villa María del Triunfo'))
)
--Insertando valores a la tabla Distrito
insert Distrito values(0001,'Ancon')
insert Distrito values(0002,'Ate')
insert Distrito values(0003,'Lince')
insert Distrito values(0004,'San Miguel')
insert Distrito values(0005,'San Luis')

/*Tabla NoMedico: Empleados de la clinica que no son medicos


Sueldo: sueldo que le paga NoMedico
*/
CREATE TABLE NoMedico(
CodNoM int,
NomNoM varchar(50),
AppNoM varchar(50),
ApmNoM varchar(50),
FotNoM image,
TelNoM int check(TelNoM > 900000000 and TelNoM <=999999999),
CodDist varchar(50) check(CodDist in
('Ancon','Ate','Barranco','Breña','Carabayllo','Chaclacayo','Chorrillos','Cieneguill
a','Comas','El Agustino,Independencia',
'Jesús María','La Molina','La Victoria','Lima','Lince','Los
Olivos','Lurigancho','Lurín','Magdalena del Mar','Miraflores','Pachacamac',
'Pucusana','Pueblo Libre','Puente Piedra','Punta Hermosa','Punta Negra','Rimac','San
Bartolo','San Borja','San Isidro','San Juan de Lurigancho',
'San Juan de Miraflores','San Luis','San Martín de Porres','San Miguel','Santa
Anita','Santa María del Mar','Santa Rosa','Santiago de Surco','Surquillo',
'Villa El Salvador','Villa María del Triunfo')) foreign key (CodDist)references
Distrito ,
CodCar int foreign key (CodCar)references Cargo,
Sueldo int
)

--Insertando valores a la tabla NoMedico


insert NoMedico
values(0001,'Lolo','Fernadez','Diaz','C:\Users\GUILLERMO\Documents\SQL Server
Management Studio\Pacientes\Foto1.jpg',999999999,0005,123)
insert NoMedico values(0002,'Sebastian','Dubai','C:\Users\GUILLERMO\Documents\SQL
Server Management Studio\Pacientes\Foto2.jpg',999087699,0006,112)
insert NoMedico
values(0003,'Lener','Espada','Aguilar','C:\Users\GUILLERMO\Documents\SQL Server
Management Studio\Pacientes\Foto3.jpg',999978999,0007,100)
insert NoMedico
values(0004,'Luis','Torres','Huaman','C:\Users\GUILLERMO\Documents\SQL Server
Management Studio\Pacientes\Foto4.jpg',999999933,0008,200)
insert NoMedico
values(0005,'Ana','Chocohuaman','Vilchez','C:\Users\GUILLERMO\Documents\SQL Server
Management Studio\Pacientes\Foto5.jpg',999999994,0009,150)
insert NoMedico values(0006,'Juan','De la
Cruz','Pacsi','C:\Users\GUILLERMO\Documents\SQL Server Management
Studio\Pacientes\Foto6.jpg',912345678,0004,1000)

/*
Tabla Cargo
CodCar:Codigo de cargo
NomCar:Nombre de Cargo
*/
Create table Cargo(
CodCar int primary key,
NomCar varchar(70)check(NomCar in ('Cajera','Doctor','Empleado de
Limpieza','Cocinera','Administrativa'))) ,
)
--Insertando valores a la tabla Cargo
insert Cargo values(0022,'Cajera')
insert Cargo values(0044,'Doctor')
insert Cargo values(0333,'Empleado de Limpieza')
insert Cargo values(0022,'Cocinera')
insert Cargo values(777,'Administrativa')

select *
from Cargo

/*Tabla de Especialidad
CodEsp:Codigo de la Especialidad
NomEsp: Nombre de la Especialidad
*/
CREATE TABLE Especialidad
(
CodEsp int primary key,
NomEsp varchar(60) check(NomEsp in
('Digestivo','Cardiologia','Neurologia','Hepatologia',
'Alergología','Anestesiología','Reanimación','Gastroenterología','Endocrinología','G
eriatría',
'Hematología y hemoterapia','Infectología','Medicina aeroespacial','Medicina','
Deporte',
'Medicina del trabajo','Medicina de urgencias','Medicina familiar', 'Medicina física
y rehabilitación'
,'Medicina intensiva','Medicina interna','Medicina legal' ,'Forense','Medicina
preventiva ', 'salud pública',
'Medicina
veterinaria','Nefrología','Neumología','Neurología','Nutriología','Oftalmología',
'Oncología médica','Oncología radioterápica','Pediatría','Psiquiatría',
'Rehabilitación','Reumatología''Toxicología','Urología'))
)
--Insertando valores a la tabla Especialidad
insert Especialidad values(0009,'Digestivo')
insert Especialidad values(0002,'urología')
insert Especialidad values(0001,'Cardiologia')
insert Especialidad values(0003,'Pediatría')

/*Tabla de Examen Clinico


NomEcli :Nombre del Examen Clinico
Precio :Precio del Examen Clinico
*/
CREATE TABLE ExamenClinico(
CodECli int primary key,--Codigo del Examen Clinico
NomEcli nom,--Nombre del Examen Clinico
Precio int--Precio del Examen clinico
)

/*Tabla de Orden Medico


CodOrM:Codigo de orden
CodMed:Codigo de paciente
CodNoM:Codigo de personal medico
CodECli:Codigo de examen clinico
Fecha:fecha
Hora:hora
ResTad :resultados

*/
CREATE TABLE OrdenMedico(
CodOrM int primary key not null,--Codigo de orden
CodMed int foreign key (CodMed)references Medico,--Codigo de paciente
CodNoM int foreign key (CodNoM)references NoMedico, --Codigo de personal medico
CodECli int foreign key (CodECli)references ExamenClinico, --Codigo de examen
clinico
Fecha date, --fecha
Hora datetime,--hora
ResTad varchar(50)--resultados
)