PROBLEMA Nro 2 Cristhian Condori Rivas Juan Carlos Chávez Mojica MODELO RELACIONES MODELO LOGICO Proveedor rut n
Views 77 Downloads 0 File size 141KB
PROBLEMA Nro 2
Cristhian Condori Rivas Juan Carlos Chávez Mojica MODELO RELACIONES
MODELO LOGICO
Proveedor rut
nombre
Teléfono
web
ciudad
comuna
calle
numero
Pk Producto ID Pk
nombre
precio
stock
idCategoria FK
rutProveedor FK
Categoría ID PK
nombre
descripción
Venta ID PK
fecha
Monto final
descuento
Cliente RUT
nombre
teléfono
calle
numero
ciudad
comuna
rutCliente
PK
FK
ProductoVenta IDventa PK FK
IDproducto PK FK
MODELO FISICO
create database problema2 use problema2 create table proveedor( rut int, nombre varchar(50), web varchar(50), telefono int, calle varchar(50), numero int, comuna varchar(50), ciudad varchar(50), Constraint PK_proveedor Primary Key (rut) ); create table categoria( id int, nombre varchar(50), descripcion varchar(50), Constraint PK_categoria Primary Key (id) ); create table cliente( rut int, nombre varchar(50), telefono int, calle varchar(50), numero int, comuna varchar(50), ciudad varchar(50), Constraint PK_cliente Primary Key (rut) ); create table venta( id int, fecha date, montofinal decimal(16,2), descuento decimal(16,2),
cantidad
rutCliente int, Constraint PK_venta Primary Key (id), Constraint FK1_venta Foreign Key (rutCliente) References cliente(rut) ); create table producto( id int, precio decimal(16,2), calle varchar(50), stock int, rutProveedor int, idCategoria int, Constraint PK_producto Primary Key (id), Constraint FK1_producto Foreign Key (rutProveedor) References proveedor(rut), Constraint FK2_producto Foreign Key (idCategoria) References categoria(id) ); create table ProductoVenta( IDproducto int, IDventa int, cantidad int, constraint FK1_ProductoVenta foreign key(IDproducto) references producto (id), constraint FK2_ProductoVenta foreign key(IDventa) references venta (id) );
DESDE AQUI -- TABLA proveedor -select * from proveedor insert into proveedor values(1,'Jose','[email protected]',75858964,'Avaroa',100,'Andres Ibañes','Santa Cruz') insert into proveedor values(2,'Alberth','[email protected]',76666961,'buen pastor',40,'Andres Ibañes','Santa Cruz') insert into proveedor values(3,'Alfredo','[email protected]',78888994,'serrano',10,'Andres Ibañes','Santa Cruz') insert into proveedor values(4,'Octavio','[email protected]',72323974,'28 de julio',25,'Andres Ibañes','Santa Cruz') insert into proveedor values(5,'Jimena','[email protected]',75555218,'Avaroa',60,'Andres Ibañes','Santa Cruz') -- TABLA categoria -select * from categoria insert into categoria values(1,'lacteos','activo') insert into categoria values(2,'carne','activo') insert into categoria values(3,'bebida','activo') -- TABLA cliente -select * from cliente insert into cliente values(1,'Maria',66002325,'santistevan',15,'Andres Ibañes','Santa Cruz') insert into cliente values(2,'Juvenal',70507775,'pirai',50,'Andres Ibañes','Santa Cruz') insert into cliente values(3,'Claduia',77002885,'10 de octubre',200,'Andres Ibañes','Santa Cruz')
insert into cliente values(4,'Alejandra',60002398,'santistevan',220,'Andres Ibañes','Santa Cruz') insert into cliente values(5,'Roberto',61002320,'arus',110,'Andres Ibañes','Santa Cruz') insert into cliente values(6,'Gustavo',62005025,'chaves',101,'Andres Ibañes','Santa Cruz') insert into cliente values(7,'fernando',77850525,'4 de junio',20,'Andres Ibañes','Santa Cruz') -- TABLA venta -select * from venta insert insert insert insert insert insert insert
into into into into into into into
venta venta venta venta venta venta venta
values(1,'2021-08-12',60,3,1) values(2,'2021-08-11',65,3,1) values(3,'2021-08-11',30,2,2) values(4,'2021-08-11',150,5,3) values(5,'2021-08-11',90,4,4) values(6,'2021-08-10',50,3,5) values(7,'2021-08-10',75,3,6)
-- TABLA producto -select * from producto insert insert insert insert insert
into into into into into
producto producto producto producto producto
values(1,'leche pil',7,30,1,1) values(2,'costillas',15,30,2,2) values(3,'vino',35,10,3,3) values(4,'yogurt',2,30,4,1) values(5,'cerveza',8,10,5,3)
-- TABLA ProductoVenta -select * from ProductoVenta insert insert insert insert insert insert insert
into into into into into into into
ProductoVenta ProductoVenta ProductoVenta ProductoVenta ProductoVenta ProductoVenta ProductoVenta
values(1,1,10) values(1,2,5) values(3,3,2) values(3,4,3) values(4,5,15) values(5,6,15) values(5,7,10)
-- CONSULTAS --
CONSULTAS
/* 2.- Mostrar todas las ventas hechas, con sus respectivos productos, y clientes y cantidades de ventas y los montos finales */ select v.id as ventas, p.nombre as producto, pv.cantidad, v.montofinal , c.nombre as cliente from venta as v inner join ProductoVenta as pv on v.id = pv.IDventa inner join producto as p on pv.IDproducto = p.id inner join cliente as c on v.id = c.rut /* 3.- Mostrar todos los clientes que no han hecho ningún pedido */ select c.rut from cliente as c except select v.rutCliente from venta as v /* 4.- Mostrar la cantidad de ventas hechas por cada cliente. */ select c.nombre, COUNT(c.rut) as cantidad_venta from cliente as c inner join venta as v on c.rut = v.rutCliente
group by c.nombre, c.rut /* 5.- Mostrar la lista de productos, con sus respectiva Categoria, Nombre de Proveedor y stock correspondiente. */ select p.nombre as producto, c.nombre as categoria, pro.nombre as proveedor, p.stock from producto as p inner join categoria as c on c.id = p.idCategoria inner join proveedor as pro on pro.rut = p.rutProveedor