Sei sulla pagina 1di 12

Reporte de Ventas SQL

Administración de Base de datos

PROGRAMA:

Ingeniería en sistemas Computacionales

PRESENTA

Alumnos:

 Francia Stephany Salas Dorantes


 Salvador de la Cruz Cruz
 Ernesto Villaseñor Cabrera
 Ramon Jesus Mejia Perez

PROFESOR:

SERRANO RODRIGUEZ ROCIO

El Marqués, Querétaro Enero de 2018


DIAGRA DE LA BASE DE DATOS SOBRE VENTAS
CREACION DE LA BD Y TABLAS
create database ProyectoBDD;
use ProyectoBDD;

create table Bitacora(


Id_Movimiento int,
Usuario varchar(20),
Tabla_Operacion varchar(30),
Tipo_Movimiento varchar(35),
Fecha date,
);

create table Cliente(


Id_Cliente int,
Nombre varchar(35),
Apellido_Paterno varchar(35),
Apellido_Materno varchar(35),
Direccion varchar(35),
Ciudad varchar(35),
Telefono varchar(13),
primary key(Id_Cliente)
);

create table Autos(


Numero_Serie int,
Modelo varchar(35),
Financiamiento money,
Stock varchar(35),
Color varchar(10),
Transmicion varchar(10),
Id_Cliente int,
foreign key(Id_Cliente) references Cliente(Id_Cliente) on delete cascade on
update cascade,
primary key(Numero_Serie)
);

create table Vendedores(


Id_Vendedores int,
Nombre varchar(35),
Apellido_Materno varchar(35),
Apellido_Paterno varchar(35),
Direccion varchar(35),
Ciudad varchar(35),
Telefono varchar(13),
primary key(Id_Vendedores)
);

create table Ventas(


Id_Venta int,
Id_Vendedor int,
Id_Cliente int,
Unidades int,
Monto_Total float,
primary key(Id_Venta),
foreign key(Id_Vendedor) references Vendedores(Id_Vendedores) on delete
cascade on update cascade
);

create table Registro(


Id_Registro int,
Fecha date,
Id_Venta int,
Numero_Serie int,
primary key(Id_Registro),
foreign key(Numero_Serie) references Autos(Numero_Serie) on delete cascade on
update cascade,
foreign key(Id_Venta) references Ventas(Id_Venta) on delete cascade on update
cascade
);

create table Cuenta_Banco(


Id_Cuenta int,
Id_Genera int,
Tipo_Cuenta varchar(35),
Banco varchar(35),
Id_Cliente int,
primary key(Id_Cuenta),
foreign key(Id_Cliente) references Cliente(Id_Cliente) on delete cascade on
update cascade ,
foreign key(Id_Genera) references Registro(Id_Registro)
);

create table Pedido_Unidades(


Id_Pedido int,
Unidades int,
Comision int
);
Triggers de la BD

Seguridad de la BD, cada que hay una inserción se ejecuta un disparador dependiendo
de la tabla e inserta en una tabla llamada bitácora la cual registra el tipo de cliente
que realizo dicha operación y la fecha.
go
create trigger Segurity_Cliente
on Cliente
after insert
as
begin
insert into Bitacora(Usuario, Tabla_Operacion,Tipo_Movimiento,Fecha)
values(SUSER_NAME(),'Cliente','Insert Client',GETDATE());
end

go
create trigger Segurity_Banc
on Cuenta_Banco
after insert
as
begin
insert into Bitacora(Usuario, Tabla_Operacion,Tipo_Movimiento,Fecha)
values(SUSER_NAME(),'Cuenta_Banco','Insert Segurity Bank',GETDATE());
end

go
create Trigger Segurity_Registry
on Registro
after insert
as
begin
insert into Bitacora(Usuario, Tabla_Operacion,Tipo_Movimiento,Fecha)
values(SUSER_NAME(),'Registro','Insert Registry',GETDATE());
end

go
create trigger Segurity_Cars
on Autos
after insert
as
begin
insert into Bitacora(Usuario, Tabla_Operacion,Tipo_Movimiento,Fecha)
values(SUSER_NAME(),'Autos','Insert auto',GETDATE());
end

go
create trigger Segurity_Ventas
on Ventas
after insert
as
begin
insert into Bitacora(Usuario, Tabla_Operacion,Tipo_Movimiento,Fecha)
values(SUSER_NAME(),'Ventas','Insert Ventas',GETDATE());
end

go
create trigger Segurity_Vendedores
on Vendedores
after insert
as
begin
insert into Bitacora(Usuario, Tabla_Operacion,Tipo_Movimiento,Fecha)
values(SUSER_NAME(),'Vendedores','Insert Vendedor',GETDATE());
end

Pro seguridad de la BD existe un disparador que tiene como función mandar un mensaje
a la hora de eliminar un tabla y si no tienes los permisos necesarios como usuario te
saldrá el mensaje.
go
create trigger Users
on database
for Drop_table
as
begin
print'consulta al admin';
end

triggers con operaciones aritmeticas

El disparador, muestra al id del vendedor y las unidades mayores a 100 agregando una
extra al pedido.

go
create trigger VentasVol
on Ventas
after insert
as
begin
select Id_Vendedor, Unidades + 1 from Ventas where Monto_Total >=100;
end

El disparador, muestra al id del vendedor y las unidades mayores a 200 agregando una
extra al pedido.

go
create trigger VentasVo2
on Ventas
after insert
as
begin
select Id_Vendedor, Unidades + 2 from Ventas where Monto_Total >=200;
end

El disparador muestra el Id y el monto total haciendo un descuento del 20% mayores a


100 unidades

go
create trigger VentasVo3
on Ventas
after insert
as
begin
select Id_Vendedor, Monto_Total * 0.20 from Ventas where Unidades > 100;
end
El disparador muestra el Financiamiento y haciendo un descuento del 20% mayores a
$10000

go

create trigger VentasVo4


on Autos
after insert
as
begin
select Financiamiento from Autos *0.10 from Autos where Financiamiento >
10000;
end

Registros de la BD
insert into Cliente values(1, 'Cristhian', 'Alvarez', 'Cano', 'La tuna',
'Badirapuato', 123123242);
insert into Vendedores values(1,'Jaime','Guevon', 'Teporocho', 'La tuna',
'Badiraguato', 12345667);
insert into Ventas values(1,1,1,1,200000.00);
insert into Autos values(1,'Jetta 2.0T', 50000.00, 'S5','Rojo lava','Automatico',1);
insert into Genera values(1, '2018-03-15',1,1);
insert into CuentaBanco values (5,1, 'Debito', 'Bancomer', 1);

insert into Cliente values(2, 'Diego', 'Telles', 'Aguilar', 'Atongo', 'El Marques',
123153242);
insert into CuentaBanco values (3,2, 'Credito', 'Banamex', 2);
insert into Vendedores values(2,'Erick','Mejia', 'Aguas', 'Cuevas :v', 'Pinal de
Amoles', 123434667);
insert into Autos values(2,'Jetta 2.0', 50000.00, 'S5','Rojo','Manual',2);
insert into Genera values(2, '2018-03-15',2,2);
insert into Ventas values(2,2,2,2,250000.00);

insert into Cliente values(3,'armando','mota','de


la','satelite','queretaro',11114508);
insert into Vendedores values(3,'kakaroto','sanchez', 'medina', 'loma bonita',
'celaya', 98765);
insert into Ventas values (3,3,3,3,340000.00);
insert into Autos values (3,'jetta 2.0',50000.00,'s5','negro','estandar',3);
insert into Genera values (3,'2018-04-12',3,3);
insert into CuentaBanco values (4,3,'credito','banorte',3);

insert into Cliente values(4,'rosa','huerta','del


campo','tiznada','queretaro',442945);
insert into Vendedores values(4,'rocky','balboa', 'stallone', 'lomas', 'queretaro',
9326543);
insert into Ventas values (4,4,4,2,340000.00);
insert into Autos values (4,'jetta 2.0',50000.00,'s5','negro','estandar',4);
insert into Genera values (4,'2018-04-12',4,4);
insert into CuentaBanco values (1,4,'credito','banorte',4);

insert into Cliente values(5,'marco','sierra','del


sol','tiznada','queretaro',444695);
insert into Vendedores values(5,'monsamo','benito', 'guerra', 'de la cruz',
'queretaro', 362783);
insert into Ventas values (5,5,5,1,640000.00);
insert into Autos values (5,'beatle',25000.00,'s5','purpurina','manual',5);
insert into Genera values (5,'2018-04-16',5,5);
insert into CuentaBanco values (6,5,'credito','banorte',5);

insert into Cliente values(6,'diego','cortes','alverez','soliz','queretaro',465495);


insert into Vendedores values(6,'flabia','maria', 'contreras', 'correguidora',
'queretaro', 647783);
insert into Ventas values (6,6,6,2,240000.00);
insert into Autos values (6,'beatle',25000.00,'s5','verde','manual',6);
insert into Genera values (6,'2018-04-16',6,6);
insert into CuentaBanco values (7,6,'credito','banorte',6);

insert into Cliente values(7,'dora','marselin','diaz','marques','queretaro',75495);


insert into Vendedores values(7,'memo','dadillo', 'olvera', 'cerritocolorado',
'queretaro', 865783);
insert into Ventas values (7,7,7,1,210000.00);
insert into Autos values (7,'jetta 2.0',25000.00,'s5','roble','estandar',7);
insert into Genera values (7,'2018-04-11',7,7);
insert into CuentaBanco values (8,7,'credito','banamex',7);

insert into Cliente values(8,'botas','molina','del


pajaro','queretaro','queretaro',82631);
insert into Vendedores values(8,'sergey','fornic', 'sido', 'cerritocolorado',
'queretaro', 63019);
insert into Ventas values (8,8,8,1,260000.00);
insert into Autos values (8,'jetta 2.0',26000.00,'s5','cobre','estandar',8);
insert into Genera values (8,'2018-04-15',8,8);
insert into CuentaBanco values (9,8,'credito','banamex',8);

insert into Cliente values(9,'Ricardo','molina','Martinez','El


Marquez','Queretaro',4423445323);
insert into Vendedores values(9,'Zaide','Gamez', 'Hernandez', 'El
Regugio','Queretaro',4434234354);
insert into Ventas values (9,9,9,100,160000.00);
insert into Autos values (9,'jetta',29000.00,'s5','blanco','estandar',9);
insert into Genera values (9,'2018-05-25',9,9);
insert into CuentaBanco values (10,9,'credito','santander',9);

insert into Cliente


values(10,'Rene','Sanchez','Molina','Zibata','queretaro',4423554452);
insert into Vendedores values(10,'sergey','fornic', 'sido', 'cerritocolorado',
'queretaro', 4423124534);
insert into Ventas values (10,10,10,1,220000.00);
insert into Autos values (10,'jetta 2.0',22000.00,'s5','azul','Automatico',10);
insert into Genera values (10,'2018-05-15',10,10);
insert into CuentaBanco values (11,10,'credito','bancomer',10);

insert into Cliente


values(11,'Zamuel','Casas','Hernandez','queretaro','queretaro',4423554534);
insert into Vendedores values(11,'sergey','fornic', 'sido', 'cerritocolorado',
'queretaro', 4423124389);
insert into Ventas values (11,11,11,200,260000.00);
insert into Autos values (11,'Polo',26000.00,'s5','blanco','estandar',11);
insert into Genera values (11,'2018-05-5',11,11);
insert into CuentaBanco values (12,11,'credito','banamex',11);
insert into Cliente
values(12,'Salvador','Casas','Alfaro','queretaro','queretaro',4422345434);
insert into Vendedores values(12,'sergey','fornic', 'sido', 'cerritocolorado',
'queretaro', 4423124389);
insert into Ventas values (12,12,12,1,260000.00);
insert into Autos values (12,'Polo',26000.00,'s5','negro','Automatico',12);
insert into Genera values (12,'2018-05-22',12,12);
insert into CuentaBanco values (13,12,'credito','bancomer',13);

insert into Cliente


values(13,'Ernesto','Cabrera','Villaseñor','queretaro','queretaro',4422345434);
insert into Vendedores values(13,'beto','cabrera', 'cabrera', 'el refugio',
'queretaro', 4423124399);
insert into Ventas values (13,13,13,1,360000.00);
insert into Autos values (13,'Jetta',36000.00,'s5','negro','Estandar',13);
insert into Genera values (13,'2018-05-22',13,13);
insert into CuentaBanco values (13,12,'credito','bancomer',13);

insert into Cliente


values(14,'Salvador','Casas','Alfaro','queretaro','queretaro',4422345434);
insert into Vendedores values(14,'beto','cabrera', 'cabrera', 'el refugio',
'queretaro', 4423124399);
insert into Ventas values (14,14,14,300,460000.00);
insert into Autos values (14,'Jetta',46000.00,'s5','rojo','Estandar',14);
insert into Genera values (14,'2018-05-22',14,14);
insert into CuentaBanco values (14,13,'credito','bancomer',14);

insert into Cliente


values(15,'Salvador','Casas','Alfaro','queretaro','queretaro',4422345434);
insert into Vendedores values(15,'beto','cabrera', 'cabrera', 'el refugio',
'queretaro', 4423124399);
insert into Ventas values (15,15,15,1,460000.00);
insert into Autos values (15,'Jetta',46000.00,'s5','rojo','Estandar',15);
insert into Genera values (15,'2018-05-22',14,14);
insert into CuentaBanco values (15,14,'credito','Banamex',15);
Consultas

Muestra la lista de vendedores y la cantidad de unidades vendidos y el monto total


de la venta

select Nombre,Apellido_Paterno,Unidades, Monto_Total from Vendedores inner join


Ventas on Vendedores.Id_Vendedores =Ventas.Id_Vendedor;

Muestra el nombre del vendedor y fecha de dicha venta(Factura)


select V.Nombre,Ve.Unidades,R.Fecha,R.Numero_Serie from Vendedores as V inner join
Ventas as Ve on V.Id_Vendedores =Ve.Id_Vendedor
inner join Registro as R on R.Id_Venta=Ve.Id_Venta;
---Muestra los datos del vendedor y la venta que realizo
Select V.Nombre,V.Apellido_Paterno,V.Telefono,Ve.Unidades,C.Nombre,
C.Apellido_Paterno from Vendedores as V inner join Ventas as Ve on V.Id_Vendedores
=Ve.Id_Vendedor inner join Cliente as C on C.Id_Cliente=Ve.Id_Cliente;
Cliente/Servidor
El Usuario user1 es el servidor.

El usuario “user2” es solo un cliente con permisos de escritura y lectura.


El usurario Franc es un cliente el cual tiene permisos de lectura y escritura.

Potrebbero piacerti anche