0% encontró este documento útil (0 votos)
104 vistas5 páginas

Problema 2

El documento presenta un modelo de base de datos relacional para una tienda que incluye tablas para proveedores, productos, clientes, ventas y otras. Se definen las relaciones entre las tablas y los campos clave. Luego se muestran sentencias SQL para crear las tablas y cargar datos de ejemplo. Finalmente, se incluyen consultas SQL de ejemplo para obtener información sobre ventas, clientes, productos y proveedores.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
104 vistas5 páginas

Problema 2

El documento presenta un modelo de base de datos relacional para una tienda que incluye tablas para proveedores, productos, clientes, ventas y otras. Se definen las relaciones entre las tablas y los campos clave. Luego se muestran sentencias SQL para crear las tablas y cargar datos de ejemplo. Finalmente, se incluyen consultas SQL de ejemplo para obtener información sobre ventas, clientes, productos y proveedores.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

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 nombre precio stock idCategoria rutProveedor


Pk FK FK

Categoría

ID nombre descripción
PK

Venta

ID fecha Monto final descuento


PK

Cliente

RUT nombre teléfono calle numero ciudad comuna rutCliente


PK FK

ProductoVenta

IDventa IDproducto cantidad


PK PK

FK 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),
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 into venta values(1,'2021-08-12',60,3,1)


insert into venta values(2,'2021-08-11',65,3,1)
insert into venta values(3,'2021-08-11',30,2,2)
insert into venta values(4,'2021-08-11',150,5,3)
insert into venta values(5,'2021-08-11',90,4,4)
insert into venta values(6,'2021-08-10',50,3,5)
insert into venta values(7,'2021-08-10',75,3,6)

-- TABLA producto --
select * from producto

insert into producto values(1,'leche pil',7,30,1,1)


insert into producto values(2,'costillas',15,30,2,2)
insert into producto values(3,'vino',35,10,3,3)
insert into producto values(4,'yogurt',2,30,4,1)
insert into producto values(5,'cerveza',8,10,5,3)

-- TABLA ProductoVenta --
select * from ProductoVenta

insert into ProductoVenta values(1,1,10)


insert into ProductoVenta values(1,2,5)
insert into ProductoVenta values(3,3,2)
insert into ProductoVenta values(3,4,3)
insert into ProductoVenta values(4,5,15)
insert into ProductoVenta values(5,6,15)
insert into ProductoVenta 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

También podría gustarte