Está en la página 1de 12

Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

Trabajo practico

INTEGRANTES:

*ESTELA AMBULA, FIORELA STHEFANY

CURSO: BASE DE DATOS AVANZADA

CICLO: IV
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

1.1.Ejercicios de Vistas

1.Mostrar los clientes con los campos CustId, Cliente perteneciente al año
2018.
 Tablas utilizadas:
select*from Cliente
 Vistas:
Create view Fecha_Cliente
as select CustId,Cliente from Cliente
where year (FCrea)=2018;
 Lectura de vista:
select*from Fecha_Cliente

2.Mostrar los clientes en el año 2019 y en el mes de febrero.


 Tablas utilizadas:
select*from Cliente
 Vistas:
Create view ClientesMesEnero
as select CustId,Cliente from Cliente
where year(FCrea)=2019 and month(FCrea)=2;
 Lectura de vista:
select*from ClientesMesEnero

1
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

3.Mostrar el producto y su marca.


 Tablas utilizadas:
select*from Producto
select*from Marca
 Vistas:
create view Producto_Marca
as select p.codigo,p.producto,m.Marca from Producto p,Marca m
where p. marcaid=m.MarcaId
 Lectura de vista:
select*from Producto_Marca

4.Seleccionar las categorías que tengan más de 5 productos. Mostrar el nombre de la


categoría y el número de productos.
 Tablas utilizadas:
select*from Producto
select*from Categoria
 Vistas:
create view Categoria_Producto

2
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

as select ca.Categoria, count(pro.CategoriaId)as cantidad


from Categoria as ca
inner join Producto as pro on pro.CategoriaId=ca.CategoriaId
group by ca.Categoria
having count(pro.producto)>5
 Lectura de vista:
select*from Categoria_Producto

5. Calcular cuántos clientes existen en cada País.

 Tablas utilizadas
select*from Pais
select*from Cliente
 Vistas :
create view Cantidad_de_Clientes
as select Pais as pais, count(p.Pais) as [numero de clientes]
from Cliente as cu inner join Pais p on cu.PaisId=p.PaisID
group by Pais,p.PaisID
 Lectura de vistas:
select*from Cantidad_de_Clientes

6.Obtener todos los productos, cuyo nombre comienzan con la letra a y tienen
un FraccionCant comprendido entre 10 y 120.
 Tablas utilizadas
select*from Producto
 Vistas:
create view Productos_con_LetraA
as select codigo, producto,marcaid from Producto

3
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

where producto like 'a%' and FraccionCant between 10 and 120


 Lectura de vistas
select*from Productos_con_LetraA

7.Mostrar los productos cuyo stock es entre 0 y 10.


 Tablas utilizadas
select*from Producto
 Vistas :
create view Producto_Stock
as select productoid,Producto,FraccionCant,StockEnt from Producto
where StockEnt between 0 and 10
 Lectura de vista:
select*from Producto_Stock

8.Muestrar la cantidad de productos por categorías.


 Tablas utilizadas:
select*from Producto
 Vistas:
create view Cantidad_Producto
4
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

as select CategoriaId, count(*) as total


from Producto as prod
group by CategoriaId
 Lectura de vistas:
select*from Cantidad_Producto

9.Mostrar los productos que pertenecen a la categoría 2.


 Tablas utilizadas:
select*from Producto
 Vistas :
create view Producto_categoria
as select producto,modelo,CategoriaId from Producto
where CategoriaId=2
 Lectura de vistas:
select*from Producto_categoria

10.Nombre del proveedor y el la UnidadeId.


 Tablas utilizadas:
select*from Producto
5
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

select*from Proveedor
 Vistas:
create view Provedoor_Producto
as select s.Proveedor, p.producto, UnidadeId
from Proveedor s
inner join Producto p
on s. ProveedorId=p.productoid
 Lectura de vistas:
select*from Provedoor_Producto

11.Calcular el stock total de los productos por cada categoría. Mostrar el


nombre de la categoría y el stock por categoría. Solamente las categorías 2, 5
y 8.
 Tablas utilizadas:
select*from Producto
select*from Categoria
 Vistas:
create view Stock_Total
as select c.CategoriaId,c. Categoria, sum(pro.StockEnt) [total]
from Producto as pro
inner join Categoria as c on pro.CategoriaId=c.CategoriaId
where c.CategoriaId in( 2, 5 , 8)
group by c.CategoriaId,c.Categoria
 Lectura de vistas:
select*from Stock_Total

12.Listar la cantidad de stock de productos por marca.


 Tablas utilizadas:
select*from Producto

6
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

select*from Marca
 Vistas:
create view Productos_Marca
as select m.MarcaId,Marca,sum(p.StockEnt)Stock from Producto p inner join Marca m on
p.marcaid=m.MarcaId
group by m.MarcaId,m.Marca
 Lectura de vistas:
select*from Producto_Marca

13.listar total compras por mes del año 2019.


 Tablas utilizadas:
select*from Producto
select*from CompraDetalle
 Vistas:
create view Compras_Mes
as select month(p.FCrea) mes ,count(cp.Total) total
from Producto p inner join CompraDetalle cp on p.productoid=cp.ProductoId
where year(p.FCrea)=2019
group by month(p.FCrea)
 Lectura de vistas:
select*from Compras_Mes

14.Obtener un listado de los 10 productos más comprados.


 Tablas utilizadas:
select*from Producto
select*from CompraDetalle

7
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

 Vistas:
create view Lista_Productos
as select top 10 p.producto ,sum(cp.Cantidad) Total from Producto p inner join
CompraDetalle cp on p.productoid=cp.ProductoId
group by p.producto
order by Total desc
 Lectura de vistas:
select*from Lista_Productos

15.Obtener los productos que no tienen precio


 Tablas utilizadas:
select*from Producto
 Vistas:
create view Productos_sin_Precio
as select b.ProductoId ,b.producto from Producto b
where b.ProductoId not in (select ProductoId from ProductoPrecio)

 Lectura de vistas:
select*from Productos_sin_Precio

16.Obtener el precio por producto.


8
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

 Vistas:
create view Precio_producto
as select p.productoid,p.producto,j.Precio from Producto p inner join
(select distinct x.ProductoId, (select top 1 y.PrecioE from ProductoPrecio
y where y.ProductoId =x.ProductoId order by y.FCrea desc)Precio from ProductoPrecio x) j
on j.ProductoId=p.ProductoId
 Lectura de vistas:
select *from Precio_producto

17.Todas las compras hechas por el provedoor con Id: 2, 5 y 7 y las fechas de
pago en el año 2019.
 Tablas utilizadas:
select*from Compra
 Vistas :
create view Compras_Provedoor
as select ProveedorId,fecha_pago,Dscto
from Compra
where ProveedorId in(2,5,7) AND YEAR(fecha_pago)='2019'
 Lectura de vistas:
select*from Compras_Provedoor

18.Listar los pedidos facturados y sus importes y su respectivo


cliente(0=pedietne ,1=faacturaados).
 Tablas utilizadas:
9
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

select*from Pedido
select*from Cliente
 Vistas:
create view Pedidos_Facturados
as select p.PedidoId,p.Fecha,p.Total, p.Status from Pedido p inner join Cliente c on
c.CustId=p.CustId
where p.Status=1
 Lectura de vistas:
select*from Pedidos_Facturados

19.Realizar un reporte que muestre los 100 productos con mayor rotación.
 Tablas utilizadas:
select*from Producto
select*from VentaDetalle
 Vistas:
create view Productos_Rotacion
as select top 100 v.ProductoId ,p.producto,sum(V.Cantidad) Total from VentaDetalle v inner
join Producto p on p.productoid=v.ProductoId
group by v.ProductoId,p.producto
order by 3

 Lectura de vistas:
select*from Productos_Rotacion

10
Facultad de Ingeniería de Sistemas y Mecánica Eléctrica

Escuela Profesional de Ingeniería de Sistemas

20.listar las ventas de 10 clientes cuyo importe de compras por mes sea menor
a 500 soles(nombre,fechavendi,total).
 Tablas utilizadas:
select*from Venta
select*from Cliente
 Vistas:
create view Ventas_Menores
as select top 10 c.CustId,c.Cliente,v.Fecha,SUM(v.Total) total from Venta v inner join
cliente c on v.CustId=c.CustId
where Total<500
group by c.CustId,c.Cliente,v.Fecha
order by 3
 Lectura de vistas:
select *from Ventas_Menores

11

También podría gustarte