Você está na página 1de 5

--Creando la Base de Datos use master go if exists(select name from sysdatabases where name='Hospital') drop database Hospital go create

database Hospital go use Hospital go --Creando la Tabla Mdico create table Medico ( CodMed char(4) primary key, Medico varchar(20), Esp varchar(20), Telf varchar(7), Dir varchar(30), Sueldo int ) Go --Ingresando Datos a la tabla Medico insert into Medico values('M001','Bernardo Lopez','Ciruja','2859478','Av. Los Angeles',1000) insert into Medico values('M002','Chavez Gonzales','Respiratorio','4587899','Av. Los Angeles',2000) insert into Medico values('M003','Suarez Leandro','Circulatorio','2365478','Av. Los Angeles',1500) insert into Medico values('M004','Contreras Galvez','Traumatologa','2859478','Av. Los Angeles',1800) insert into Medico values('M005','Vasquez Sanchez','Traumatologa','2831744','Av. Los Angeles',1700) insert into Medico values('M006','Flores Surita','Circulatorio','6833478','Av. Los Angeles',1800) insert into Medico values('M007','Ramos Vilca ','Traumatologa','7821756','Av. Los Angeles',1700) go select * from Medico

go --Creando la Tabla Cama create table Cama ( Codcam char(4) primary key, pabellon varchar(1) ) Go --Ingresando Datos a la tabla Cama insert into Cama values('C001','A') insert into Cama values('C002','B') insert into Cama values('C003','C') insert into Cama values('C004','A') insert into Cama values('C005','D') insert into Cama values('C006','C') go select * from cama go --Creando la Tabla Paciente create table Paciente ( CodPas char(4) primary key, ApePas varchar(15), NomPas varchar(15), TelPas varchar(7), DirPas varchar(20) ) Go --Ingresando datos a la Tabla Paciente insert into Paciente values('P001','Perea','Julio','2323232','Jr. Las palomas') insert into Paciente values('P002','Montes','Cesar','5689554','Jr. Los Laureles') insert into Paciente values('P003','Jimenez','Miguel','2325698','Jr. Los Jazminez') insert into Paciente values('P004','Gonzales','Jaime','7845654','Jr. La Cucardas') insert into Paciente values('P005','Humala','Hugo','3621415','Av. Jose Maritegui') go select * from paciente go --Creando la tabla Historial create table Historial (

CodPas char(4), Fecha datetime, EstanDias int, patologia varchar(30), CodMed char(4), Cama char(4) ) Go --Ingresando datos a la tabla Historial insert into Historial values('P001','11/08/2002',15,'Traumatismo Craneal','M004','C005') insert into Historial values('P002','25/01/2001',14,'Ulcera','M002','C002') insert into Historial values('P003','25/01/2000',3,'Apendecitis','M001','C002') insert into Historial values('P004','11/08/2000',5,'Operacion Cornea','M001','C005') insert into Historial values('P005','15/09/2001',2,'Ulcera','M001','C004') insert into Historial values('P002','21/02/2001',7,'Apendecitis','M002','C004') insert into Historial values('P002','18/03/2000',23,'Ulcera','M004','C003') insert into Historial values('P005','19/01/2002',19,'Traumatismo Craneal','M004','C003') insert into Historial values('P005','10/05/2001',15,'Operacion Cornea','M005','C003') insert into Historial values('P004','11/08/2001',12,'Ulcera','M004','C001') insert into Historial values('P004','13/03/2000',11,'Apendecitis','M002','C002') insert into Historial values('P002','11/11/2002',10,'Traumatismo Craneal','M001','C002') go select * from Historial go --Relacionando las tables. alter table Historial add constraint FK_His_Med foreign key(CodMed) references Medico(CodMed) go alter table Historial add constraint FK_His_Cam foreign key(Cama) references Cama(CodCam) go alter table Historial add constraint FK_His_Pac foreign key(CodPas) references Paciente(CodPas) --hacer consultas: --1-)a. Localizacin de un Paciente en el Hospital. select hi.codpas,pa.nompas,ca.codcam,ca.pabellon from paciente pa,cama ca,historial hi where hi.codpas=pa.codpas and hi.cama=ca.codcam --2-)b. Listado de mdicos por especialidades. select esp,medico from medico where esp='Ciruja' select esp,medico from medico where esp='Respiratorio' select esp,medico from medico where esp='Circulatorio' select esp,medico from medico where esp='Traumatologa'

--3-)c. Lista de pacientes atendidos por un determinado mdico select hi.codpas,hi.codmed from historial hi where hi.codmed='M004' select hi.codpas,hi.codmed from historial hi where hi.codmed='M005' select hi.codpas,hi.codmed from historial hi where hi.codmed='M002' select hi.codpas,hi.codmed from historial hi where hi.codmed='M001' --4-)d. Mdico que atendio a un determinado paciente en el ao 2000 select hi.codmed,hi.codpas,hi.fecha,me.medico from historial hi,medico me where year(hi.fecha)=2000 and hi.codmed='m001'and hi.codpas='p003' and me.codmed=hi.codmed --5-)e. Listar a todos los medicos que atendieron a los pacientes en el ao 2002 select me.medico,hi.codpas,pa.nompas,me.codmed,hi.fecha from medico me,historial hi,paciente pa where year(hi.fecha)=2000 and hi.codpas=pa.codpas and hi.codmed=me.codmed --6-)f. Listar el 4% de los pacientes atendidos. select top 4 percent hi.codpas,hi.fecha,pa.nompas,pa.apepas from historial hi,paciente pa where hi.codpas=pa.codpas order by hi.fecha desc --7-)Listar los 3 primeros pacientes atendidos el ao 2001 select top 3 hi.codpas,hi.fecha,pa.nompas + ' ' + pa.apepas as [nombres y apellidos] from historial hi inner join paciente pa on year(fecha)=2001 and hi.codpas=pa.codpas --8)Listar la cantidad de medicos que laboran en el hospital select count(codmed) as Nr_Medicos from medico --9-)Listar los mdicos que atendieron en el Pabellon A. Indicar la fecha correspondiente. select hi.codmed,ca.pabellon,me.medico,hi.fecha from historial hi,medico me,cama ca where me.codmed=hi.codmed and ca.codcam=hi.cama and pabellon='A' --10)Listar los pacientes internados por fecha y que fueron derivados al Pabellon D select hi.codpas,pa.nompas,pa.apepas,hi.fecha,ca.pabellon from historial hi,cama ca,paciente pa where hi.cama=ca.codcam and pabellon='D' and hi.codpas=pa.codpas --11-)k.Eliminar los mdicos de la especialidad de Traumatologa delete from medico where esp='Traumatologa' --12-)l.Adicionar el campo sueldo a la tabla Medico alter table medico add sueldo2 money null --13-)m-)Asignar Sueldo a los medicos por cada especialidad. update medico set sueldo2=1500 where esp='traumatologa' update medico set sueldo2=2500 where esp='Ciruja' update medico set sueldo2=3500 where esp='Circulatorio' update medico set sueldo2=4500 where esp='Respiratorio' --14-)m.Aumentar el sueldo de 150 a los de la especialidad de Traumatologa update medico set sueldo=sueldo + 150 where esp='traumatologa' --15-)o.Disminuir el sueldo de 20 a los de la especialidad de Ciruja update medico set sueldo=sueldo - 20 where esp='ciruja' --16-)p.

insert into medico values('M008','Sandra Aldaa','cardiologa','2134522','av balletos',3200,00) select * from Medico --17-)qupdate medico set esp='pediatra' where esp='traumatologa' --18-)r select top 1 sueldo from medico order by sueldo desc --19-)s select top 1 medico,sueldo from medico order by sueldo desc --20-)t select sum(sueldo)/2 from med .

Você também pode gostar