Problema 2

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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