Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Información General
Semestre: Tercero
Paralelo: A
Fecha: 04-01-2023
2. Requerimiento
Implementar una base de datos para controlar el proceso de compras, la cual debe
tener actualizado el stock y el precio de ventas. (implementar las tablas que se
requieran para que sea funcional la base de datos), debe tener las siguientes
características:
3. Utilizar un trigger para la actualización del stock y valor de venta (2,5 puntos)
(Código y captura de pruebas)
USE PARCIAL_1;
-- -----------------------------------------------------
-- Table mydb.proveedor
-- -----------------------------------------------------
nombre VARCHAR(45) ,
telefono VARCHAR(45) ,
productos VARCHAR(45) ,
(1,'NESTLE','098765432','GOLOSINAS Y CONFITERIA'),
(2,'MAGGI','0298765432','VIVERES'),
(4,'FAMILIA','098765432','ASEO Y LIMPIEZA');
-- Table mydb.tienda
-- -----------------------------------------------------
direccion VARCHAR(45) ,
-- -----------------------------------------------------
-- Table mydb.factura
-- -----------------------------------------------------
producto VARCHAR(45) ,
cantidad VARCHAR(45) ,
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_proveedor_has_tienda_tienda1
ON DELETE NO ACTION
ON UPDATE NO ACTION) ;
(2,2,'COMERCIAL DANIELITO','VIVERES','40'),
Idcompra VARCHAR(50) ,
IDproveedor VARCHAR(50),
tienda VARCHAR(50) ,
producto VARCHAR(50) ,
cantidad INT(40) ,
fecha_compra DATETIME );
values
(new.idfactura,new.proveedor_idproveedor,new.tienda_nombre,new.producto,new.canti
dad,current_user, now());
-- -----------------------------------------------------
-- Table categoria
-- -----------------------------------------------------
values
('CA1','DULCES'),
('CA2','FRUTAS'),
('CA3','VERDURAS');
-- Table parcial1.clientes
-- -----------------------------------------------------
tienda_nombre VARCHAR(45),
CONSTRAINT fk_clientes_tienda1
ON DELETE NO ACTION
ON UPDATE NO ACTION);
values
('C2','1501011043','JAVIER','ANDY','0987656432','Av 15 de
noviembre','pedro@hotmail.com'),
('C3','1501041523','PEPE','PEREZ','0942436424','Av 15 de
noviembre','pedro@hotmail.com'),
('C4','1501041522','MICHAEL','AVILES','0978543421','Av 15 de
noviembre','pedro@hotmail.com'),
('C5','1508741525','XAVIER','ORDONEZ','0989967547','Av 15 de
noviembre','pedro@hotmail.com'),
('C6','1501531053','EREN','SHIHUANGO','0989989549','Av 15 de
noviembre','pedro@hotmail.com'),
('C7','1501051521','REINER','BUNNY','9087654328','Av 15 de
noviembre','pedro@hotmail.com'),
('C8','1501021035','ARMIN','TORRES','0967456576','Av 15 de
noviembre','pedro@hotmail.com');
-- -----------------------------------------------------
-- Table parcial1.modificaciones_productos
-- -----------------------------------------------------
nombre VARCHAR(50) ,
anterior_stock VARCHAR(50) ,
nuevo_stock VARCHAR(50) ,
anterior_precio INT(40) ,
usuario VARCHAR(40) ,
fecha_alter_producto DATETIME );
,usuario,fecha_alter_producto) values
(old.nom_pro,old.stock ,new.stock,old.precio_venta,new.precio_venta,current_user,
now());
-- -----------------------------------------------------
-- Table parcial1.pagos
-- -----------------------------------------------------
fecha_pago DATETIME ,
values
('PA2','3','2022-07-02'),
('PA3','90','2022-07-03'),
('PA4','23','2022-02-01'),
('PA5','35','2022-07-02'),
('PA6','150','2022-07-03');
-- -----------------------------------------------------
-- Table parcial1.pedidos
-- -----------------------------------------------------
fecha_ped DATETIME ,
cantidad VARCHAR(10),
CONSTRAINT fk_cod_cli
ON UPDATE CASCADE,
CONSTRAINT fk_cod_pago
ON DELETE CASCADE
ON UPDATE CASCADE);
values
('PE1','2022-07-03 12:30:12','PA1','C1'),
('PE2','2022-07-03 12:30:12','PA2','C2'),
('PE3','2022-07-03 12:30:12','PA3','C3');
-- -----------------------------------------------------
-- Table parcial1.productos
-- -----------------------------------------------------
CONSTRAINT fkcod_cat
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT fkcod_ped
ON DELETE CASCADE
ON UPDATE CASCADE);
values
('P1','CHUPETES PLOP','50','100','50','CA1','PE1'),
('P2','PERAS','50','120','50','CA2','PE2'),
('P3','CEBOLLINES','30','90','50','CA3','PE3'),
('P4','PLATANOS','30','60','50','CA2','PE3'),
('P5','CHOCOLATES','50','105','50','CA1','PE1');
3. Utilizar un trigger para la actualización del stock y valor de venta (2,5 puntos)
(Código y captura de pruebas)
nombre VARCHAR(50) ,
anterior_stock VARCHAR(50) ,
nuevo_stock VARCHAR(50) ,
anterior_precio INT(40) ,
usuario VARCHAR(40) ,
fecha_alter_producto DATETIME );
,usuario,fecha_alter_producto) values
(old.nom_pro,old.stock ,new.stock,old.precio_venta,new.precio_venta,current_user,
now());
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT fkcod_ped
ON DELETE CASCADE
ON UPDATE CASCADE);
values
('P1','CHUPETES PLOP','50','100','50','CA1','PE1'),
('P2','PERAS','50','120','50','CA2','PE2'),
('P3','CEBOLLINES','30','90','50','CA3','PE3'),
('P4','PLATANOS','30','60','50','CA2','PE3'),
('P5','CHOCOLATES','50','105','50','CA1','PE1');
producto VARCHAR(45) ,
cantidad VARCHAR(45) ,
CONSTRAINT fk_proveedor_has_tienda_proveedor
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_proveedor_has_tienda_tienda1
ON DELETE NO ACTION
ON UPDATE NO ACTION) ;
(2,2,'COMERCIAL DANIELITO','VIVERES','40'),
Idcompra VARCHAR(50) ,
IDproveedor VARCHAR(50),
tienda VARCHAR(50) ,
producto VARCHAR(50) ,
cantidad INT(40) ,
usuario VARCHAR(40) ,
fecha_compra DATETIME );
values
(new.idfactura,new.proveedor_idproveedor,new.tienda_nombre,new.producto,new.cantidad,curr
ent_user, now());