PROYECTO FASE 2 - GRUPO 10

 PROYECTO FASE 2 - GRUPO 10 



ACÁ PODRÁS VER TODO EL TRABAJO 

https://docs.google.com/presentation/d/1zjWBLo-lTAoz-sqbnf6Jt5tN9cdpFZ6G/edit?usp=sharing&ouid=106032888771811307855&rtpof=true&sd=true 




ACÁ PODRÁS VER LA DOCUMENTACION 

https://drive.google.com/file/d/1WvyXy7pPvTi_QC9FX1lh3SWLbJZKmqSX/view?usp=sharing




CODIGO 

create database BDI_Urgencias_Clinicas
use BDI_Urgencias_Clinicas
create table Paciente(
id_paciente int not null primary key identity,
nom_paciente varchar(50) not null,
apellido_paciente varchar(50) not null,
direccion_paciente varchar(50) not null,
fecha_ingreso datetime not null,
cedula_paciente int not null
)
insert into Paciente values('santiago','marin','carrera
68a',CURRENT_TIMESTAMP,113)
insert into Paciente values('andres','gallego','carrera
62b',CURRENT_TIMESTAMP,133)
insert into Paciente values('juan','osorio','carrera
61c',CURRENT_TIMESTAMP,123)
insert into Paciente values('sofia','marin','carrera
63b',CURRENT_TIMESTAMP,162)
insert into Paciente values('salome','arias','carrera
63a',CURRENT_TIMESTAMP,329)
insert into Paciente values('veronica','ramirez','carrera
78a',CURRENT_TIMESTAMP,233)
insert into Paciente values('james','rodriguez','carrera
58a',CURRENT_TIMESTAMP,388)
insert into Paciente values('mateo','carvajal','carrera
28a',CURRENT_TIMESTAMP,838)
insert into Paciente values('mateo','ospina','carrera
88a',CURRENT_TIMESTAMP,834)
insert into Paciente values('manuela','osorio','carrera
38c',CURRENT_TIMESTAMP,292)
select* from Paciente
delete from Paciente
create table farmacia(
id_medicamento int not null primary key identity,

nom_farmacia varchar(50) not null,
fecha_caducidad date not null,
precio int not null,
)
insert into farmacia values('Abacavir',CURRENT_TIMESTAMP,10000)
insert into farmacia values('Abatacept',CURRENT_TIMESTAMP,20000)
insert into farmacia values('Acitretin',CURRENT_TIMESTAMP,25000)
insert into farmacia values('Aciclovir',CURRENT_TIMESTAMP,35000)
insert into farmacia values('Alectinib',CURRENT_TIMESTAMP,55000)
insert into farmacia values('Amikacina',CURRENT_TIMESTAMP,55000)
insert into farmacia values('Acetaminofen',CURRENT_TIMESTAMP,15000)
insert into farmacia values('Ampicilina',CURRENT_TIMESTAMP,35000)
insert into farmacia values('Apomorfina',CURRENT_TIMESTAMP,35000)
insert into farmacia values('Asparaginase',CURRENT_TIMESTAMP,35000)
select * from farmacia

create table area(
id_area int not null primary key identity,
nom_area varchar(50) not null
)
insert into area values('Urgencias')
insert into area values('Comedor')
insert into area values('farmacia')
insert into area values('cuidados intensivos')
insert into area values('rayos x')
insert into area values('sala de espera')
insert into area values('Odontologia')
insert into area values('Pediatria')
insert into area values('Medico general')
insert into area values('ginecologia')
select * from area
create table empleado(
id_empleado int not null primary key identity,

nom_empleado varchar(50) not null,
apellido_empleado varchar(50) not null,
puesto_empleado varchar(50) not null,
id_area int not null,
telefono int not null,
sueldo_empleado int not null,
id_sub int not null,
foreign key(id_area)references area(id_area)
on delete cascade on update cascade
)
insert into empleado
values('vanesa','ramirez','enfermera',1,455,3046706,14000)
insert into empleado values('jose','ocampo','Doctor',2,455,3046734,1450)
insert into empleado values('jorge','vanegas','especialista
',3,320,3076106,12000)
insert into empleado
values('viviana','perez','odontologo',4,320,3045671,13000)
insert into empleado
values('jhoana','ramirez','cardiologo',5,290,3035490,12600)
insert into empleado
values('alex','hernandez','enfermero',6,455,3307431,15600)
insert into empleado values('juliana','florez','enfermera',7,455,3044422,16000)
insert into empleado values('mateo','gallego','auxiliar',8,320,3056600,13000)
insert into empleado
values('daniela','ospina','oftamologo',9,290,3043450,12000)
insert into empleado
values('diego','vanegas','dermatologo',10,290,3042241,11800)
create table consulta(
id_consulta int not null primary key identity,
id_paciente int not null,
id_empleado int not null,
id_area int not null,
fecha_consulta date not null,
enfermedad varchar(50) not null,
estado varchar(50) not null,
id_medicamento int not null,
foreign key(id_paciente)references Paciente(id_paciente)
on delete cascade on update cascade,
foreign key(id_empleado)references empleado(id_empleado)

on delete cascade on update cascade,
foreign key(id_medicamento)references farmacia(id_medicamento)
on delete cascade on update cascade,
foreign key(id_area)references area(id_area)
)
select * from Paciente
select * from empleado
select * from farmacia
select * from area
select * from consulta
insert into consulta
values(11,1,1,CURRENT_TIMESTAMP,'varicela','grave',1)
insert into consulta
values(12,2,2,CURRENT_TIMESTAMP,'covid','normal',2)
insert into consulta values(13,3,3,CURRENT_TIMESTAMP,'gripa','muy
grave',3)
insert into consulta values(14,4,4,CURRENT_TIMESTAMP,'dolor de
cabeza','muy grave',4)
insert into consulta values(15,5,5,CURRENT_TIMESTAMP,'sida','grave',5)
insert into consulta
values(16,6,6,CURRENT_TIMESTAMP,'malestar','normal',6)
insert into consulta
values(17,7,7,CURRENT_TIMESTAMP,'apendicitis','normal',7)
insert into consulta
values(18,8,8,CURRENT_TIMESTAMP,'alergia','grave',8)
insert into consulta values(19,9,9,CURRENT_TIMESTAMP,'dolor de
muela','normal',9)
insert into consulta values(20,10,10,CURRENT_TIMESTAMP,'diabetes',
'muy grave',10)

create table factura(
id_factura int not null primary key identity,
id_consulta int not null,
id_paciente int not null,
id_medicamento int not null,
nom_factura varchar(50) not null,
direccion varchar(50) not null,
fecha_factura date not null,

telefono int not null,
NIT int not null,
cantidad_medicamento int not null,
total_apagar int not null,
foreign key(id_consulta)references consulta(id_consulta),
foreign key(id_paciente)references Paciente(id_paciente),
foreign key(id_medicamento)references farmacia(id_medicamento)
)
select * from consulta
select * from Paciente
select * from farmacia
insert into factura values(21,11,1,'cita medica','carrera
79c',CURRENT_TIMESTAMP,4253252,23344,5,656565)
insert into factura values(22,12,2,'cita medica','carrera
79c',CURRENT_TIMESTAMP,42534,2233,1,6565)
insert into factura values(23,13,3,'radiografia','carrera
72c',CURRENT_TIMESTAMP,2223252,44344,7,633565)
insert into factura values(24,14,4,'cita pedriata','carrera
73c',CURRENT_TIMESTAMP,6777,2567,6,67865)
insert into factura values(25,15,5,'cita medica','carrera
63c',CURRENT_TIMESTAMP,33252,24344,8,32435)
insert into factura values(26,16,6,'cuidados intensivos','carrera
49b',CURRENT_TIMESTAMP,883252,22344,10,336565)
insert into factura values(27,17,7,'cita medica','carrera
79c',CURRENT_TIMESTAMP,4253252,23344,11,656565)
insert into factura values(28,18,8,'cita odontologia','carrera
39c',CURRENT_TIMESTAMP,23252,4544,3,556565)
insert into factura values(29,19,9,'cita odontologia','carrera
69c',CURRENT_TIMESTAMP,4562,3245,2,62365)
insert into factura values(30,20,10,'cita medica','carrera
79c',CURRENT_TIMESTAMP,422,344,2,665)

/* SELECCION DE DATOS */
select* from factura where nom_factura='cita medica' and direccion ='carrera
79c'

select* from Paciente where nom_paciente ='santiago' or nom_paciente
='mateo'
select* from consulta where enfermedad='covid' and estado='normal'
select * from factura where id_consulta=1 or id_medicamento=2
select * from empleado where puesto_empleado ='auxiliar'

/* BORRAR DATOS */
delete from factura where factura.cantidad_medicamento < 4
delete from consulta where consulta.estado ='normal'
delete from area where area.nom_area = 'rayos x'

/* ACTUALIZAR DATOS */
update consulta set estado = 'grave'
where estado = 'normal'
update area set nom_area = 'pediatra'
where nom_area = 'Medico general'
update paciente set nom_paciente = 'andres'
where nom_paciente = 'santiago'

/*Dos trigger */
--1.crear un trigger que actualize el nombre de farmacia al insertar un paciente
create trigger TR_cambionombre
on paciente for insert
as
update farmacia
set nom_farmacia='dolex'
where nom_farmacia='Asparaginase'

insert into Paciente values('jesus','marin','carrera
24a',CURRENT_TIMESTAMP,233)
select * from farmacia
select * from Paciente

--2.crear un trigger que actualize el nombre de la factura al ingresar un dato en
la tabla farmacia
create trigger TR_borrardato
on farmacia for insert
as
update factura
set nom_factura='cuidados intensivos'
where nom_factura='radiografia'
select * from factura
insert into farmacia values('LAXANTE',CURRENT_TIMESTAMP,35000)
/*Dos vistas*/
--1.crear una vista que muestre la enfermedad y el estado donde sea grave
create view vista_estado
as
select enfermedad, estado from consulta where estado='grave'
select * from vista_estado
--2.crear una vista que muestre el nombre del empleado y el apellido donde el
puesto sea enfermer@
alter view vista_empleado
as
select nom_empleado,apellido_empleado, puesto_empleado from empleado
where puesto_empleado in('enfermero','enfermera')
select * from vista_empleado

/*Los procedimientos requeridos para gestionar las tablas*/

--1.crear un procedimiento que muestre el nombre de la factura ingresado por
el usuario
create procedure Mostrar_datos
(
@dato varchar(50)
)
as
begin
select * from factura where nom_factura=@dato
end
execute Mostrar_datos 'cita medica'
select * from factura where nom_factura
--2.
select * from Paciente
select * from farmacia
create procedure insertar_area
(
@nom_area varchar(50)
)
as
begin
insert into area(nom_area)
select @nom_area
end
execute insertar_area consultorio
select * from paciente
select * from area
--3.borrar de la tabla factura donde el total a pagar va a ser ingresado por el
usuario
create procedure borrar_datos
(
@total int
)

as
begin
delete from factura where total_apagar=@total
end
select * from factura
execute borrar_datos 6565
--4.actualizar
create procedure actualizar_area
(
@nom_area varchar(50)
)
as
begin
update area set nom_area=@nom_area
where nom_area='sala de espera'
end
execute actualizar_area oftalmologo
select * from area
/*Dos funciones lineales*/
--1.funcion lineal que recibirar el nombre del empleado y buscara en la tabla
donde el nombre del empleado sea el ingresado por el usuario
create function f_datosempleado(
@nom_empleado varchar(50)
)
returns table
as
return
(
select * from empleado where nom_empleado=@nom_empleado
)
select * from f_datosempleado('vanesa')

select * from empleado
--2.crear una funcion que muestre la fecha, enfermedad y estado de la tabla
consulta donde el estado sera ingresado por el usuario
create function f_consulta(
@estado varchar(50)
)
returns table
as
return
(
select fecha_consulta,enfermedad,estado from consulta where
estado=@estado
)
select * from f_consulta('grave')
/*Una función escalar*/
create function sum_empleado()
returns int
as
begin
declare @sum int
select @sum=sum(sueldo_empleado)
from empleado
return(@sum)
end

select sum(sueldo_empleado) from empleado
select * from empleado
/*Crear un usuario para la base de datos donde solo pueda consultar las
tablas*/
--Login
create login Andres with password='1234'
--user roles bases datos

create user USanti for login Andres
--GRANT Y REMOVE
GRANT SELECT
on area
to Andres
WITH GRANT OPTION
GRANT alter ON OBJECT ::[dbo].[consulta] TO Andres
GO

select * from farmacia

Comentarios

Entradas populares de este blog

TIA MANIPULACION DE BASES BIBLIOTECA PARTE 2