-- Creación de la base de datos
CREATE DATABASE BDOXXO;
USE BDOXXO;
-- Configurando formato de fecha dia / Mes / Año
SET DATEFORMAT DMY;
-- Creación de tabla SEDES
CREATE TABLE SEDE (
NRO_SED INT NOT NULL PRIMARY KEY,
DIR NVARCHAR(80) NOT NULL,
CAN_EMP NVARCHAR(20) NOT NULL,
CAN_VEN NVARCHAR(20) NOT NULL
);
-- Creación de tabla EMPLEADO
CREATE TABLE EMPLEADO (
COD_EMP INT NOT NULL PRIMARY KEY,
APE_EMP NVARCHAR(8) NOT NULL,
NOM_EMP NVARCHAR(8) NOT NULL,
DIR_EMP NVARCHAR(80) NOT NULL,
SUELDO FLOAT NOT NULL
);
-- Creación de la tabla CLIENTE
CREATE TABLE CLIENTE (
COD_CLI NVARCHAR(5) NOT NULL PRIMARY KEY,
NOM_CLI NVARCHAR(10) NOT NULL,
APE_CLI NVARCHAR(12) NOT NULL,
DIR_CLI NVARCHAR(80) NOT NULL,
TELF_CLI NVARCHAR(9) NOT NULL
);
-- Creación de la tabla PROVEEDOR
CREATE TABLE PROVEEDOR (
COD_PRV INT NOT NULL PRIMARY KEY,
APE_PROV NVARCHAR(12) NOT NULL,
NOM_PROV NVARCHAR(50) NOT NULL,
EMP_PROV NVARCHAR(50) NOT NULL,
TELF_PROV NVARCHAR(9) NOT NULL,
EMAIL_PROV NVARCHAR(50) NOT NULL,
DIR_PROV NVARCHAR(80) NOT NULL
);
ALTER TABLE PROVEEDOR
ALTER COLUMN EMP_PROV VARCHAR(50);
-- Creación de la tabla ABASTECIMIENTO
CREATE TABLE ABASTECIMIENTO (
FEC_ABAS DATETIME NOT NULL PRIMARY KEY,
HORA TIME NOT NULL,
LUGAR NVARCHAR(80) NOT NULL
);
-- Creación de la tabla COMPRA
CREATE TABLE COMPRA (
COD_COMP NVARCHAR(6) NOT NULL PRIMARY KEY,
FEC_COMP DATETIME NOT NULL,
HOR_COMP TIME NOT NULL,
COD_CLI NVARCHAR(5) REFERENCES CLIENTE(COD_CLI)
);
-- Creación de la tabla PRODUCTO
CREATE TABLE PRODUCTO (
COD_POD INT NOT NULL PRIMARY KEY,
COD_PROV INT NOT NULL REFERENCES PROVEEDOR(COD_PRV),
FEC_ABAS DATETIME NOT NULL REFERENCES
ABASTECIMIENTO(FEC_ABAS),
NOM_PROD NVARCHAR(15) NOT NULL,
CAT_PROD NVARCHAR(10) NOT NULL,
STOCK SMALLINT NOT NULL,
FEC_VENC DATETIME NOT NULL,
PRE_PROD MONEY NOT NULL
);
-- Creación de la tabla FACTURA_OXXO
CREATE TABLE OXXO (
RUC NVARCHAR(7) NOT NULL PRIMARY KEY,
NRO_SED INT NOT NULL REFERENCES SEDE(NRO_SED),
COD_EMP INT NOT NULL REFERENCES EMPLEADO(COD_EMP),
COD_PRO INT NOT NULL REFERENCES PRODUCTO(COD_POD),
DIREC VARCHAR(80) NOT NULL,
TELF NUMERIC(9) NOT NULL,
EMAIL NVARCHAR(30) NOT NULL
);
-- Creación de la tabla DETALLE_COMPRA
CREATE TABLE DETALLE_COMPRA (
COD_COMP NVARCHAR(6) NOT NULL REFERENCES
COMPRA(COD_COMP),
RUC NVARCHAR(7) NOT NULL REFERENCES OXXO(RUC),
FEC_COMP DATETIME NOT NULL
);
-- Creación de la tabla DETALLE_FACTURA
CREATE TABLE DETALLE_FACTURA (
COD_FACT NVARCHAR(6) NOT NULL PRIMARY KEY,
COD_PROD NVARCHAR(7) NOT NULL,
CANTIDAD INT NOT NULL,
PRECIO MONEY NOT NULL
);
-- Insertando datos en la tabla SEDE
INSERT INTO SEDE (NRO_SED, DIR, CAN_EMP, CAN_VEN) VALUES
('001', 'El sol de la Molina', '6', '100'),
('002', 'El Polo', '6', '150'),
('003', 'Arequipa lince', '5', '200'),
('004', 'Coraceros', '6', '110'),
('005', 'Soledad', '5', '170'),
('006', 'Talavera', '6', '220'),
('007', 'Surquillo', '4', '90'),
('008', 'Benavides', '8', '130'),
('009', 'Marcona', '6', '160'),
('010', 'Risso', '8', '155'),
('011', 'Ayacucho', '5', '180'),
('012', 'Canto Grande', '8', '190'),
('013', 'Chimú', '7', '100'),
('014', 'Pensamientos', '6', '120'),
('015', 'Pacifico', '5', '200');
SELECT * FROM SEDE;
-- Insertando datos en la tabla EMPLEADO
INSERT INTO EMPLEADO (COD_EMP, APE_EMP, NOM_EMP, DIR_EMP,
SUELDO) VALUES
('01', 'Gomez', 'Juan', 'Las Orquídeas 789 La Victoria', '1500.00'),
('02', 'Perez', 'Ana', 'Av. Los Pinos 456 Santa Anita', '1600.00'),
('03', 'Lopez', 'Maria', 'Jr. Los Girasoles 123 San Juan de Miraflores', '1700.00'),
('04', 'Ramirez', 'Jose', 'Calle Las Violetas 890 Chorrillos', '1800.00'),
('05', 'Torres', 'Luis', 'Av. Los Cipreses 567 Lince', '1500.00'),
('06', 'Sanchez', 'Carlos', 'Jr. Las Azucenas 234 Pueblo Libre', '1550.00'),
('07', 'Diaz', 'Lucia', 'Calle Los Nogales 789 San Miguel', '1600.00'),
('08', 'Vargas', 'Sofia', 'Av. Los Sauces 456 Jesús María', '1700.00'),
('09', 'Cruz', 'Mateo', 'Jr. Las Camelias 123 Magdalena del Mar', '1750.00'),
('10', 'Rojas', 'Isabel', 'Los Girasoles 890 Barranco', '1800.00'),
('11', 'Acosta', 'Victor', 'Av. Los Eucaliptos 567 La Molina', '1500.00'),
('12', 'Mendoza', 'Paula', 'Jr. Los Pinos 234 San Isidro', '1550.00'),
('13', 'Romero', 'Diana', 'Las Orquídeas 789 Surco', '1600.00'),
('14', 'Herrera', 'Diego', 'Av. Los Alamos 456 Miraflores', '1700.00'),
('15', 'Medina', 'Natalia', 'Jr. Los Cedros 123 San Borja', '1800.00');
SELECT * FROM EMPLEADO;
-- Insertando datos en la tabla CLIENTE
INSERT INTO CLIENTE (COD_CLI, NOM_CLI, APE_CLI, DIR_CLI, TELF_CLI)
VALUES
('C001', 'Juan', 'García', 'Almendros #123 San Miguel Lima', '924667893'),
('C002', 'María', 'Rodríguez', 'Jr. Los Pinos #456 Miraflores Lima', '924667851'),
('C003', 'Carlos', 'Martínez', 'Av. Los Cedros #789 Surco Lima', '924667827'),
('C004', 'Ana', 'López', 'Pasaje Las Rosas #234 San Isidro Lima', '924667856'),
('C005', 'Luis', 'Pérez', 'Calle Los Laureles #567 Barranco Lima', '924667840'),
('C006', 'Laura', 'González', 'Av. Las Orquídeas #890 La Molina Lima', '924667821'),
('C007', 'Diego', 'Hernández', 'Jr. Las Gardenias #123 San Borja Lima', '924667875'),
('C008', 'Andrea', 'Sánchez', 'Pasaje Los Tulipanes #456 Chorrillos Lima', '924667832'),
('C009', 'Javier', 'Ramírez', 'Calle Los Naranjos #789 Jesús María Lima', '924667845'),
('C010', 'Sofia', 'Torres', 'Av. Los Jazmines #234 Lince Lima', '924667883'),
('C011', 'Victor', 'Vargas', 'Jr. Las Magnolias #567 Pueblo Libre Lima', '924667819'),
('C012', 'Mónica', 'Díaz', 'Pasaje Las Acacias #890 Magdalena Lima', '924667857'),
('C013', 'Rosa', 'Cruz', 'Calle Los Robles #123 Surquillo Lima', '924667816'),
('C014', 'Jorge', 'Romero', 'Av. Los Olivos #456 San Juan de Miraflores Lima',
'924667852'),
('C015', 'Natalia', 'Herrera', 'Jr. Los Abetos #789 La Victoria Lima', '924667848');
SELECT * FROM CLIENTE;
-- Insertando datos en la tabla PROVEEDOR
INSERT INTO PROVEEDOR (COD_PRV, APE_PROV, NOM_PROV, EMP_PROV,
TELF_PROV, EMAIL_PROV, DIR_PROV) VALUES
('001', 'Fernandez', 'Carlos', 'Distribuidora Fernandez', '985634271',
'cfernandez@[Link]', 'Av. Los Alamos 123, San Isidro, Lima'),
('002', 'Lopez', 'Ana', 'Alimentos Lopez', '987654321', 'alopez@[Link]',
'Calle Las Rosas 456, Miraflores, Lima'),
('003', 'Rodriguez', 'Luis', 'Bebidas Rodriguez', '986543210',
'lrodriguez@[Link]', 'Jr. Los Pinos 789, Surco, Lima'),
('004', 'Gomez', 'Maria', 'Productos Gomez', '984321765',
'mgomez@[Link]', 'Av. Los Laureles 234, La Molina, Lima'),
('005', 'Torres', 'Jorge', 'Carnes Torres', '983217654', 'jtorres@[Link]', 'Calle
Los Cedros 567, San Borja, Lima'),
('006', 'Perez', 'Sofia', 'Verduras Perez', '982345678', 'sperez@[Link]', 'Jr.
Las Gardenias 890, San Miguel, Lima'),
('007', 'Sanchez', 'Victor', 'Panaderia Sanchez', '981234567',
'vsanchez@[Link]', 'Av. Las Orquídeas 123, Pueblo Libre, Lima'),
('008', 'Diaz', 'Laura', 'Lacteos Diaz', '980123456', 'ldiaz@[Link]', 'Calle Los
Olivos 456, Lince, Lima'),
('009', 'Ramirez', 'Andrea', 'Pescados Ramirez', '989876543',
'aramirez@[Link]', 'Jr. Las Acacias 789, Magdalena, Lima'),
('010', 'Vargas', 'Javier', 'Embutidos Vargas', '988765432',
'jvargas@[Link]', 'Av. Los Naranjos 234, Barranco, Lima'),
('011', 'Rojas', 'Natalia', 'Legumbres Rojas', '987654320', 'nrojas@[Link]',
'Calle Los Robles 567, Surquillo, Lima'),
('012', 'Herrera', 'Diego', 'Frutas Herrera', '986543219', 'dherrera@[Link]', 'Jr.
Las Magnolias 890, San Juan de Miraflores, Lima'),
('013', 'Medina', 'Paula', 'Condimentos Medina', '985432198',
'pmedina@[Link]', 'Av. Los Cipreses 123, La Victoria, Lima'),
('014', 'Acosta', 'Mateo', 'Abarrotes Acosta', '984321987',
'macosta@[Link]', 'Calle Los Jazmines 456, Jesus Maria, Lima'),
('015', 'Romero', 'Diana', 'Licores Romero', '983210987', 'dromero@[Link]',
'Jr. Los Abetos 789, Surquillo, Lima');
SELECT * FROM PROVEEDOR;
-- Insertando datos en la tabla ABASTECIMIENTO
INSERT INTO ABASTECIMIENTO (FEC_ABAS, HORA, LUGAR) VALUES
('2024-07-11', '[Link]', 'Almacén Central Lima'),
('2024-07-11', '[Link]', 'Centro de Distribución Surco'),
('2024-07-12', '[Link]', 'Almacén Miraflores'),
('2024-07-12', '[Link]', 'Centro de Distribución La Molina'),
('2024-07-13', '[Link]', 'Almacén San Isidro'),
('2024-07-13', '[Link]', 'Centro de Distribución San Borja'),
('2024-07-14', '[Link]', 'Almacén San Miguel'),
('2024-07-14', '[Link]', 'Centro de Distribución Lince'),
('2024-07-15', '[Link]', 'Almacén Magdalena'),
('2024-07-15', '[Link]', 'Centro de Distribución Barranco');
SELECT * FROM ABASTECIMIENTO;
-- Insertando datos en la tabla COMPRA
INSERT INTO COMPRA (COD_COMP, FEC_COMP, HOR_COMP, COD_CLI)
VALUES
('CP001', '2024-07-11', '[Link]', 'C001'),
('CP002', '2024-07-11', '[Link]', 'C002'),
('CP003', '2024-07-12', '[Link]', 'C003'),
('CP004', '2024-07-12', '[Link]', 'C004'),
('CP005', '2024-07-13', '[Link]', 'C005'),
('CP006', '2024-07-13', '[Link]', 'C006'),
('CP007', '2024-07-14', '[Link]', 'C007'),
('CP008', '2024-07-14', '[Link]', 'C008'),
('CP009', '2024-07-15', '[Link]', 'C009'),
('CP010', '2024-07-15', '[Link]', 'C010');
SELECT * FROM COMPRA;
-- Insertando datos en la tabla PRODUCTO
INSERT INTO PRODUCTO (COD_POD, COD_PROV, FEC_ABAS, NOM_PROD,
CAT_PROD, STOCK, FEC_VENC, PRE_PROD) VALUES
('001', '001', '2024-07-11', 'Leche', 'Lácteos', '100', '2024-10-11', '3.50'),
('002', '002', '2024-07-11', 'Pan', 'Panadería', '200', '2024-08-11', '1.20'),
('003', '003', '2024-07-12', 'Queso', 'Lácteos', '150', '2024-09-12', '5.00'),
('004', '004', '2024-07-12', 'Mantequilla', 'Lácteos', '80', '2024-08-12', '4.50'),
('005', '005', '2024-07-13', 'Carne', 'Carnes', '50', '2024-07-20', '10.00'),
('006', '006', '2024-07-13', 'Zanahoria', 'Verduras', '120', '2024-07-30', '2.00'),
('007', '007', '2024-07-14', 'Pan Integral', 'Panadería', '180', '2024-08-14', '1.50'),
('008', '008', '2024-07-14', 'Yogurt', 'Lácteos', '90', '2024-08-14', '3.00'),
('009', '009', '2024-07-15', 'Pescado', 'Pescados', '70', '2024-07-18', '8.50'),
('010', '010', '2024-07-15', 'Jamón', 'Embutidos', '60', '2024-07-25', '6.00');
SELECT * FROM PRODUCTO;
-- Insertando datos en la tabla OXXO
INSERT INTO OXXO (RUC, NRO_SED, COD_EMP, COD_PRO, DIREC, TELF,
EMAIL) VALUES
('1234567', '001', '01', '001', 'El sol de la Molina', '924667893', 'contacto@[Link]'),
('2345678', '002', '02', '002', 'El Polo', '924667851', 'contacto@[Link]'),
('3456789', '003', '03', '003', 'Arequipa lince', '924667827', 'contacto@[Link]'),
('4567890', '004', '04', '004', 'Coraceros', '924667856', 'contacto@[Link]'),
('5678901', '005', '05', '005', 'Soledad', '924667840', 'contacto@[Link]'),
('6789012', '006', '06', '006', 'Talavera', '924667821', 'contacto@[Link]'),
('7890123', '007', '07', '007', 'Surquillo', '924667875', 'contacto@[Link]'),
('8901234', '008', '08', '008', 'Benavides', '924667832', 'contacto@[Link]'),
('9012345', '009', '09', '009', 'Marcona', '924667845', 'contacto@[Link]'),
('0123456', '010', '10', '010', 'Risso', '924667883', 'contacto@[Link]');
SELECT * FROM OXXO;
-- Insertando datos en la tabla DETALLE_COMPRA
INSERT INTO DETALLE_COMPRA (COD_COMP, RUC, FEC_COMP) VALUES
('CP001', '1234567', '2024-07-11'),
('CP002', '2345678', '2024-07-11'),
('CP003', '3456789', '2024-07-12'),
('CP004', '4567890', '2024-07-12'),
('CP005', '5678901', '2024-07-13'),
('CP006', '6789012', '2024-07-13'),
('CP007', '7890123', '2024-07-14'),
('CP008', '8901234', '2024-07-14'),
('CP009', '9012345', '2024-07-15'),
('CP010', '0123456', '2024-07-15');
SELECT * FROM DETALLE_COMPRA;
-- Insertando datos en la tabla DETALLE_FACTURA
INSERT INTO DETALLE_FACTURA (COD_FACT, COD_PROD, CANTIDAD,
PRECIO) VALUES
('001', '001', '10', '3.50'),
('002', '002', '20', '1.20'),
('003', '003', '15', '5.00'),
('004', '004', '8', '4.50'),
('005', '005', '5', '10.00'),
('006', '006', '12', '2.00'),
('007', '007', '18', '1.50'),
('008', '008', '9', '3.00'),
('009', '009', '7', '8.50'),
('010', '010', '6', '6.00');
SELECT * FROM DETALLE_FACTURA;