GO
use ProyectoFinalBD
GO
------INSERT DATOS------
insert into Bus values (1) insert into Bus values (2) insert into Bus values (3)
insert into Cliente values(1,'Sahira','Dominicano') insert into
Cliente values(2,'Marlon','Dominicano') insert into Cliente
values(3,'Anthony','Dominicano') insert into Cliente
values(4,'Andrews','Dominicano') insert into Cliente
values(5,'Eliezer','Dominicano') insert into Cliente
values(6,'Carlos','Puertorriqueño') insert into Cliente
values(7,'Bruno','Estadounidense') insert into Cliente
values(8,'Rafael','Dominicano') insert into Cliente
values(9,'Pedro','Venezolano')
insert into Provincia values (1, 'La Altagracia') insert
into Provincia values (2, 'Puerto Plata') insert into
Provincia values (3, 'Pedernales') insert into Provincia
values (4, 'La Vega') insert into Provincia values (5,
'Santo Domingo') insert into Servicios values
(1,1,1,1,'2016/10/27',500) insert into Servicios values
(2,1,2,2,'2018/08/23',700) insert into Servicios values
(3,2,2,1,'2015/03/27',900) insert into Servicios values
(4,2,2,3,'2015/03/27',900) insert into Servicios values
(5,3,2,4,'2014/12/27',900) insert into Servicios values
(6,3,3,4,'2015/01/27',900) insert into Servicios values
(7,4,3,5,'2019/11/27',900) insert into Servicios values
(8,4,3,5,'2019/11/27',900) insert into Servicios values
(9,3,2,5,'2018/04/27',900) insert into Servicios values
(10,3,3,3,'2021/08/27',900) insert into Servicios values
(11,4,3,4,'2021/04/27',900) insert into Servicios values
(12,4,1,5,'2020/10/27',500)
-----------------------------------TRIGGER OFERTAS--------------------------
create trigger Ofertas on Servicios after insert as begin
Declare @Mes int
Declare @ID int
select @ID = ID_Servicio from inserted select
@Mes = FORMAT(Fecha,'MM') From inserted; if
(@Mes >= 1 and @Mes <= 3)
begin
Update Servicios set Precio = (Precio - (Precio*0.10)) where
FORMAT(Fecha,'MM') = @Mes and @ID = ID_Servicio end
if (@Mes >= 4 and @Mes <= 6)
begin
Update Servicios set Precio = (Precio - (Precio*0.20)) where
FORMAT(Fecha,'MM') = @Mes and @ID = ID_Servicio end
if (@Mes >= 7 and @Mes <= 9)
begin
Update Servicios set Precio = (Precio - (Precio*0.30)) where
FORMAT(Fecha,'MM') = @Mes and @ID = ID_Servicio end
if (@Mes >= 10 and @Mes <= 12)
begin
Update Servicios set Precio = (Precio - (Precio*0.15)) where
FORMAT(Fecha,'MM') = @Mes and @ID = ID_Servicio
end
end
/*
/*
2. Un proceso programado que permita extraer los clientes con el
promedio de envíos por mes (Utilizar procedimientos almacenados).
*/
create trigger Extranjeros on Cliente after insert as begin declare @ID int
declare @nombre varchar(30) declare @nacionalidad varchar(30) select
@ID = ID_Cliente from inserted select @nombre = Nombre from inserted
select @nacionalidad = Nacionalidad from inserted if (@nacionalidad !=
'Dominicano' and @nacionalidad != 'Dominicana') begin
insert into ClienteExtranjero values (@ID, @nombre, @nacionalidad)
end end
5. Crea una vista para la consulta del punto 3. Debes crearla en álgebra
relacional.
(σ ID_Servicio(VentaServicios)← 'IdTipoServicio',Gcount
(ID_TipoServicio)(Servicios) ←
'Privado' (Servicios) ⨝ ID_Servicio(VentaServicios) = ID_Servicio(Servicios)
ID_TipoServicio = 2 ∪ ID_Servicio(VentaServicios)) σIdTipoServicio
=ID_Servicio(Privado ×
VentaServicios):=Privado⟗IdTipoServicio=ID_Servicio VentaServicios
(σ ID_Servicio(VentaServicios)
←'IdTipoServicio',Gcount(Servicios)(ID_TipoServicio) ←
'Tour' (Servicios) ⨝ ID_Servicio(VentaServicios) = ID_Servicio(Servicios)
ID_TipoServicio = 3 ∪ ID_Servicio(VentaServicios)) σIdTipoServicio=ID_Servicio (Tour ×
VentaServicios) := Tour⟗
IdTipoServicio = ID_Servicio VentaServicios
(σ ID_Servicio(VentaServicios)
←'IdTipoServicio',Gcount(ID_TipoServicio)(Servicios) ←
'Paquetes' (Servicios)⨝ ID_Servicio(VentaServicios) = ID_Servicio(Servicios)
ID_TipoServicio = 4 ∪ ID_Servicio(VentaServicios)) σIdTipoServicio =
ID_Servicio (Paquetes × VentaServicios) :=Paquetes⟗ IdTipoServicio
=ID_Servicio VentaServicios
= ID_Provincia(Provincia × Servicios)
: =Provincia⟗ID_Provincia = ID_Provincia Servicios ∪ Nombre(Provincia)