PROVEEDORES:

CREATE TABLE PARTICULAR (
	ID_PARTICULAR NUMBER(4),
	DNI VARCHAR2(9),
	NOMBRE VARCHAR2(30),
	DIRECCIÓN VARCHAR2(30),
	TELEFONO NUMBER(9),
	CONSTRAINT PK_PARTICULAR PRIMARY KEY (ID_PARTICULAR),
	CONSTRAINT UQ_DNI UNIQUE (DNI), 
	CONSTRAINT CK_NOMBRE CHECK (NOMBRE IS NOT NULL)
);

CREATE TABLE NOTA_PAGO (
	ID_NOTA_PAGO NUMBER(4),
	FECHA DATE,
	ID_PARTICULAR NUMBER(4),
	CONSTRAINT PK_NOTA_PAGO PRIMARY KEY (ID_NOTA_PAGO),
	CONSTRAINT FK_ID_PARTICULAR FOREIGN KEY (ID_PARTICULAR) REFERENCES PARTICULAR
);

CREATE TABLE ARTICULO (
	ID_ARTICULO NUMBER(4),
	NUM_REFERENCIA NUMBER(8),
	CANTIDAD NUMBER(5),
	NOMBRE VARCHAR2(30),
	DESCRIPCION VARCHAR2(40),
	CONSTRAINT PK_ARTICULO PRIMARY KEY (ID_ARTICULO),
	CONSTRAINT UQ_NUM_REFERENCIA UNIQUE (NUM_REFERENCIA)
);

CREATE TABLE DETALLE_NOTA_PAGO (
	ID_DETALLE_NOTA_PAGO NUMBER(4),
	IMPORTE NUMBER(5),
	CANTIDAD NUMBER(4),
	ID_NOTA_PAGO NUMBER(4),
	ID_ARTICULO NUMBER(4),
	CONSTRAINT PK_DETALLE_NOTA_PAGO PRIMARY KEY (ID_DETALLE_NOTA_PAGO),
	CONSTRAINT FK_ID_NOTA_PAGO FOREIGN KEY (ID_NOTA_PAGO) REFERENCES NOTA_PAGO,
	CONSTRAINT FK_ID_ARTICULO FOREIGN KEY (ID_ARTICULO) REFERENCES ARTICULO
);

CREATE TABLE PROVEEDOR (
 	ID_PROVEEDOR NUMBER(4),
	CIF VARCHAR2(9),
	NOMBRE_PROVEEDOR VARCHAR2(30),
	DIRECCION_WEB VARCHAR2(40),
	TELEFONO NUMBER(9),
	MUNICIPIO VARCHAR2(20),
	NOMBRE_CONTACTO VARCHAR2(20),
	DIRECCION VARCHAR2(30),
	CONSTRAINT PK_PROVEEDOR PRIMARY KEY (ID_PROVEEDOR),
	CONSTRAINT UQ_CIF UNIQUE (CIF), 
	CONSTRAINT CK_NOMBRE_PROVEEDOR CHECK (NOMBRE_PROVEEDOR IS NOT NULL)
);

CREATE TABLE ORDEN_PEDIDO (
	ID_ORDEN_PEDIDO NUMBER(5),
	FECHA DATE,
	ID_PROVEEDOR NUMBER(4),
	CONSTRAINT PK_ORDEN_PEDIDO PRIMARY KEY (ID_ORDEN_PEDIDO),
	CONSTRAINT FK_ID_PROVEEDOR FOREIGN KEY (ID_PROVEEDOR) REFERENCES PROVEEDOR
);

CREATE TABLE DETALLE_PEDIDO (
	ID_DETALLE_PEDIDO NUMBER(5),
	IMPORTE NUMBER(5),
	CANTIDAD NUMBER(4),
	ID_ARTICULO NUMBER(4),
	ID_ORDEN_PEDIDO NUMBER(5),
	CONSTRAINT PK_DETALLE_PEDIDO PRIMARY KEY (ID_DETALLE_PEDIDO),
	CONSTRAINT FK_DETALLE_ARTICULO FOREIGN KEY (ID_ARTICULO) REFERENCES ARTICULO,
	CONSTRAINT FK_ID_ORDEN_PEDIDO FOREIGN KEY (ID_ORDEN_PEDIDO) REFERENCES ORDEN_PEDIDO
);


CREATE TABLE FACTURA (
	ID_FACTURA NUMBER(5),
	FECHA DATE,
	CONSTRAINT PK_ID_FACTURA PRIMARY KEY (ID_FACTURA)
);
	

CREATE TABLE ENVIO (
	ID_ENVIO NUMBER(5),
	FECHA DATE,
	ACEPTADO VARCHAR2(2),
	ID_FACTURA NUMBER(5),
	CONSTRAINT PK_ID_ENVIO PRIMARY KEY (ID_ENVIO),
	CONSTRAINT FK_ID_FACTURA FOREIGN KEY (ID_FACTURA) REFERENCES FACTURA,
	CONSTRAINT CK_ACEPTADO CHECK (ACEPTADO IS NOT NULL)
);


CREATE TABLE ALBARAN (
	ID_ALBARAN NUMBER(5),
	IMPORTE NUMBER(6),
	CANTIDAD NUMBER(5),
	ID_ARTICULO NUMBER(4),
	ID_ENVIO NUMBER(5),
	CONSTRAINT PK_ID_ALBARAN PRIMARY KEY (ID_ALBARAN),
	CONSTRAINT FK_ARTICULO FOREIGN KEY (ID_ARTICULO) REFERENCES ARTICULO,
	CONSTRAINT FK_ID_ENVIO FOREIGN KEY (ID_ENVIO) REFERENCES ENVIO
);


CLIENTES:

CREATE TABLE TICKET_VENTA (
	ID_TICKET_VENTA NUMBER(5),
	FECHA_TICKET DATE,
	DIGITOS_ULT_TARJETA NUMBER(4),
	MODO_PAGO VARCHAR2(15),
	CONSTRAINT PK_ID_TICKET_VENTA PRIMARY KEY (ID_TICKET_VENTA),
	CONSTRAINT CK_FECHA_TICKET CHECK (FECHA_TICKET IS NOT NULL)
);

CREATE TABLE DETALLE_TICKET (
	ID_DETALLE_TICKET NUMBER(8),
	CANTIDAD_ARTICULO NUMBER(4),
	ID_TICKET_VENTA NUMBER(5),
	ID_ARTICULO NUMBER(5),
	CONSTRAINT PK_ID_DETALLE_TICKET PRIMARY KEY (ID_DETALLE_TICKET),
	CONSTRAINT FK_TICKET_VENTA FOREIGN KEY (ID_TICKET_VENTA) REFERENCES TICKET_VENTA,
	CONSTRAINT FK_ARTICULO_DETALLE_TICKET FOREIGN KEY (ID_ARTICULO) REFERENCES ARTICULO,
	CONSTRAINT CK_CANTIDAD_ARTICULO CHECK (CANTIDAD_ARTICULO IS NOT NULL)
);


CREATE TABLE CLIENTE_ONLINE (
	ID_CLIENTE_ONLINE NUMBER(6),
	NOMBRE VARCHAR2(15),
	APELLIDO VARCHAR2(20),
	CORREO VARCHAR2(30),
	TELEFONO NUMBER(9),
	CONSTRAINT PK_ID_CLIENTE_ONLINE PRIMARY KEY (ID_CLIENTE_ONLINE)
);

CREATE TABLE DIRECCION_ENVIO (
	ID_DIRECCION_ENVIO NUMBER(4),
	CALLE VARCHAR2(30),
	PAIS VARCHAR2(15),
	LOCALIDAD VARCHAR2(20),
	CONSTRAINT PK_ID_DIRECCION_ENVIO PRIMARY KEY (ID_DIRECCION_ENVIO)
);

CREATE TABLE CLIENTE_ONLINE_DIRECCION (
	ID_CLIENTE_ONLINE_DIRECCION NUMBER(6),
	ID_CLIENTE_ONLINE NUMBER(6),
	ID_DIRECCION_ENVIO NUMBER(4),
	CONSTRAINT PK_ID_CLIENTE_ONLINE_DIRECCION PRIMARY KEY (ID_CLIENTE_ONLINE_DIRECCION),
	CONSTRAINT FK_DIRECCION_ENVIO FOREIGN KEY (ID_DIRECCION_ENVIO) REFERENCES DIRECCION_ENVIO,
	CONSTRAINT FK_ID_CLIENTE_ONLINE FOREIGN KEY (ID_CLIENTE_ONLINE) REFERENCES CLIENTE_ONLINE
);

CREATE TABLE DATO_FACTURACION (
	ID_DATO_FACTURACION NUMBER(6),
	EMPRESA VARCHAR2(20),
	CIF_DATO_FACTURACION VARCHAR2(9),
	DIRECCION VARCHAR2(30),
	ID_CLIENTE_ONLINE NUMBER(6),
	CONSTRAINT PK_ID_DATO_FACTURACION PRIMARY KEY (ID_DATO_FACTURACION),
	CONSTRAINT FK_C_ONLINE FOREIGN KEY (ID_CLIENTE_ONLINE) REFERENCES CLIENTE_ONLINE,
	CONSTRAINT UQ_CIF_DATO_FACTURACION UNIQUE (CIF_DATO_FACTURACION)
);	


CREATE TABLE MEDIO_PAGO (
	ID_MEDIO_PAGO NUMBER(3),
	NOMBRE VARCHAR2(15),
	CONSTRAINT PK_ID_MEDIO_PAGO PRIMARY KEY (ID_MEDIO_PAGO)
);


CREATE TABLE COMPANIA_TRANSPORTE (
	ID_COMPANIA_TRANSPORTE NUMBER(3),
	NOMBRE VARCHAR2(30),
	CIF_COMPANIA_TRANSPORTE VARCHAR2(9),
	DIRECCION VARCHAR2(30),
	TELEFONO NUMBER(9),
	CONSTRAINT PK_ID_COMPANIA_TRANSPORTE PRIMARY KEY (ID_COMPANIA_TRANSPORTE),
	CONSTRAINT UQ_CIF_COMPANIA_TRANSPORTE UNIQUE (CIF_COMPANIA_TRANSPORTE)
);

CREATE TABLE FACTURA_CLIENTE (
	ID_FACTURA_CLIENTE NUMBER(8),
	IMPORTE NUMBER(5),
	ID_MEDIO_PAGO NUMBER(3),
	ID_DATO_FACTURACION NUMBER(6),
	CONSTRAINT PK_ID_FACTURA_CLIENTE PRIMARY KEY (ID_FACTURA_CLIENTE),
	CONSTRAINT FK_MEDIO_PAGO FOREIGN KEY (ID_MEDIO_PAGO) REFERENCES MEDIO_PAGO,
	CONSTRAINT FK_DATO_FACTURACION FOREIGN KEY (ID_DATO_FACTURACION) REFERENCES DATO_FACTURACION
);

CREATE TABLE ENVIO_CLIENTE (
	ID_ENVIO_CLIENTE NUMBER(8),
	FECHA DATE,
	IMPORTE NUMBER(6),
	ID_DIRECCION_ENVIO NUMBER(4),
	ID_COMPANIA_TRANSPORTE NUMBER(3),
	CONSTRAINT PK_ID_ENVIO_CLIENTE PRIMARY KEY (ID_ENVIO_CLIENTE),
	CONSTRAINT FK_D_ENVIO FOREIGN KEY (ID_DIRECCION_ENVIO) REFERENCES DIRECCION_ENVIO,
	CONSTRAINT FK_COMPANIA_TRANSPORTE FOREIGN KEY (ID_COMPANIA_TRANSPORTE) REFERENCES COMPANIA_TRANSPORTE,
	CONSTRAINT CK_FECHA CHECK (FECHA IS NOT NULL)
);

CREATE TABLE CARRITO (
	ID_CARRITO NUMBER(8),
	FECHA_CARRITO DATE,
	IMPORTE NUMBER(6),
	ID_CLIENTE_ONLINE NUMBER(6),
	CONSTRAINT PK_ID_CARRITO PRIMARY KEY (ID_CARRITO),
	CONSTRAINT FK_CL_ONLINE FOREIGN KEY (ID_CLIENTE_ONLINE) REFERENCES CLIENTE_ONLINE,
	CONSTRAINT CK_FECHA_CARRITO CHECK (FECHA_CARRITO IS NOT NULL)
);


CREATE TABLE DETALLE_CARRITO (
	ID_DETALLE_CARRITO NUMBER(8),
	CANTIDAD_ARTICULO NUMBER(4),
	ID_ARTICULO NUMBER(5),
	ID_CARRITO NUMBER(8),
	CONSTRAINT PK_ID_DETALLE_CARRITO PRIMARY KEY (ID_DETALLE_CARRITO),
	CONSTRAINT FK_ARTICULO_DETALLE_CARRITO FOREIGN KEY (ID_ARTICULO) REFERENCES ARTICULO,
	CONSTRAINT FK_CARRITO FOREIGN KEY (ID_CARRITO) REFERENCES CARRITO
);


INSERTS:

INSERT INTO PARTICULAR (ID_PARTICULAR, DNI, NOMBRE, DIRECCIÓN, TELEFONO)
VALUES (1, '12345678A', 'Alberto Ruiz', 'C/ Mayor 1', 600111111);

INSERT INTO PARTICULAR (ID_PARTICULAR, DNI, NOMBRE, DIRECCIÓN, TELEFONO)
VALUES (2, '23456789B', 'Laura Pérez', 'C/ Luna 5', 600222222);

INSERT INTO PARTICULAR (ID_PARTICULAR, DNI, NOMBRE, DIRECCIÓN, TELEFONO)
VALUES (3, '34567890C', 'Javier Gómez', 'Avda. Aragón 12', 600333333);

INSERT INTO PARTICULAR (ID_PARTICULAR, DNI, NOMBRE, DIRECCIÓN, TELEFONO)
VALUES (4, '45678901D', 'Marta Torres', 'C/ Valencia 8', 600444444);

INSERT INTO PARTICULAR (ID_PARTICULAR, DNI, NOMBRE, DIRECCIÓN, TELEFONO)
VALUES (5, '56789012E', 'Pedro Sánchez', 'C/ Madrid 10', 600555555);


INSERT INTO NOTA_PAGO (ID_NOTA_PAGO, FECHA, ID_PARTICULAR)
VALUES (1, TO_DATE('2024-06-01','YYYY-MM-DD'), 1);

INSERT INTO NOTA_PAGO (ID_NOTA_PAGO, FECHA, ID_PARTICULAR)
VALUES (2, TO_DATE('2024-06-02','YYYY-MM-DD'), 2);

INSERT INTO NOTA_PAGO (ID_NOTA_PAGO, FECHA, ID_PARTICULAR)
VALUES (3, TO_DATE('2024-06-03','YYYY-MM-DD'), 3);

INSERT INTO NOTA_PAGO (ID_NOTA_PAGO, FECHA, ID_PARTICULAR)
VALUES (4, TO_DATE('2024-06-04','YYYY-MM-DD'), 4);

INSERT INTO NOTA_PAGO (ID_NOTA_PAGO, FECHA, ID_PARTICULAR)
VALUES (5, TO_DATE('2024-06-05','YYYY-MM-DD'), 5);


INSERT INTO ARTICULO (ID_ARTICULO, NUM_REFERENCIA, CANTIDAD, NOMBRE, DESCRIPCION)
VALUES (1, 10000001, 50, 'Manzanas Golden', 'Caja de 10 kg');

INSERT INTO ARTICULO (ID_ARTICULO, NUM_REFERENCIA, CANTIDAD, NOMBRE, DESCRIPCION)
VALUES (2, 10000002, 40, 'Lechugas Romana', 'Caja de 12 unidades');

INSERT INTO ARTICULO (ID_ARTICULO, NUM_REFERENCIA, CANTIDAD, NOMBRE, DESCRIPCION)
VALUES (3, 10000003, 60, 'Botellas Agua 1L', 'Pack de 6 botellas');

INSERT INTO ARTICULO (ID_ARTICULO, NUM_REFERENCIA, CANTIDAD, NOMBRE, DESCRIPCION)
VALUES (4, 10000004, 30, 'Tomates Rama', 'Caja de 15 kg');

INSERT INTO ARTICULO (ID_ARTICULO, NUM_REFERENCIA, CANTIDAD, NOMBRE, DESCRIPCION)
VALUES (5, 10000005, 25, 'Cerveza Artesanal', 'Caja de 24 botellas');


INSERT INTO PROVEEDOR (ID_PROVEEDOR, CIF, NOMBRE_PROVEEDOR, DIRECCION_WEB, TELEFONO, MUNICIPIO, NOMBRE_CONTACTO, DIRECCIÓN)
VALUES (1, 'B12345678', 'Frutas del Valle S.L.', 'www.frutasdelvalle.es', 976123456, 'Zaragoza', 'Laura Gómez', 'C/ Mayor 12');

INSERT INTO PROVEEDOR (ID_PROVEEDOR, CIF, NOMBRE_PROVEEDOR, DIRECCION_WEB, TELEFONO, MUNICIPIO, NOMBRE_CONTACTO, DIRECCIÓN)
VALUES (2, 'C23456789', 'Verduras Frescas Aragón', 'www.verdurasaragon.com', 976234567, 'Huesca', 'Javier Martínez', 'Avda. Pirineos 45');

INSERT INTO PROVEEDOR (ID_PROVEEDOR, CIF, NOMBRE_PROVEEDOR, DIRECCION_WEB, TELEFONO, MUNICIPIO, NOMBRE_CONTACTO, DIRECCIÓN)
VALUES (3, 'D34567890', 'Distribuciones Iberia', 'www.distribucionesiberia.es', 974345678, 'Teruel', 'Marta López', 'C/ San Miguel 22');

INSERT INTO PROVEEDOR (ID_PROVEEDOR, CIF, NOMBRE_PROVEEDOR, DIRECCION_WEB, TELEFONO, MUNICIPIO, NOMBRE_CONTACTO, DIRECCIÓN)
VALUES (4, 'E45678901', 'Suministros Hostelería Norte', 'www.hostelerianorte.com', 976456789, 'Zaragoza', 'Pedro Sánchez', 'C/ Alfonso I 17');

INSERT INTO PROVEEDOR (ID_PROVEEDOR, CIF, NOMBRE_PROVEEDOR, DIRECCION_WEB, TELEFONO, MUNICIPIO, NOMBRE_CONTACTO, DIRECCIÓN)
VALUES (5, 'F56789012', 'Bebidas Premium S.A.', 'www.bebidaspremium.com', 974567890, 'Huesca', 'Ana Torres', 'C/ Independencia 8');


INSERT INTO ORDEN_PEDIDO (ID_ORDEN_PEDIDO, FECHA, ID_PROVEEDOR)
VALUES (1, TO_DATE('2024-01-10', 'YYYY-MM-DD'), 1);

INSERT INTO ORDEN_PEDIDO (ID_ORDEN_PEDIDO, FECHA, ID_PROVEEDOR)
VALUES (2, TO_DATE('2024-02-05', 'YYYY-MM-DD'), 2);

INSERT INTO ORDEN_PEDIDO (ID_ORDEN_PEDIDO, FECHA, ID_PROVEEDOR)
VALUES (3, TO_DATE('2024-03-15', 'YYYY-MM-DD'), 3);

INSERT INTO ORDEN_PEDIDO (ID_ORDEN_PEDIDO, FECHA, ID_PROVEEDOR)
VALUES (4, TO_DATE('2024-04-20', 'YYYY-MM-DD'), 4);

INSERT INTO ORDEN_PEDIDO (ID_ORDEN_PEDIDO, FECHA, ID_PROVEEDOR)
VALUES (5, TO_DATE('2024-05-12', 'YYYY-MM-DD'), 5);


INSERT INTO DETALLE_NOTA_PAGO (ID_DETALLE_NOTA_PAGO, IMPORTE, CANTIDAD, ID_NOTA_PAGO, ID_ARTICULO)
VALUES (1, 50, 5, 1, 1);

INSERT INTO DETALLE_NOTA_PAGO (ID_DETALLE_NOTA_PAGO, IMPORTE, CANTIDAD, ID_NOTA_PAGO, ID_ARTICULO)
VALUES (2, 40, 4, 2, 2);

INSERT INTO DETALLE_NOTA_PAGO (ID_DETALLE_NOTA_PAGO, IMPORTE, CANTIDAD, ID_NOTA_PAGO, ID_ARTICULO)
VALUES (3, 60, 6, 3, 3);

INSERT INTO DETALLE_NOTA_PAGO (ID_DETALLE_NOTA_PAGO, IMPORTE, CANTIDAD, ID_NOTA_PAGO, ID_ARTICULO)
VALUES (4, 30, 3, 4, 4);

INSERT INTO DETALLE_NOTA_PAGO (ID_DETALLE_NOTA_PAGO, IMPORTE, CANTIDAD, ID_NOTA_PAGO, ID_ARTICULO)
VALUES (5, 70, 7, 5, 5);


INSERT INTO DETALLE_PEDIDO (ID_DETALLE_PEDIDO, IMPORTE, CANTIDAD, ID_ARTICULO, ID_ORDEN_PEDIDO)
VALUES (1, 150, 10, 1, 1);

INSERT INTO DETALLE_PEDIDO (ID_DETALLE_PEDIDO, IMPORTE, CANTIDAD, ID_ARTICULO, ID_ORDEN_PEDIDO)
VALUES (2, 200, 8, 2, 2);

INSERT INTO DETALLE_PEDIDO (ID_DETALLE_PEDIDO, IMPORTE, CANTIDAD, ID_ARTICULO, ID_ORDEN_PEDIDO)
VALUES (3, 300, 12, 3, 3);

INSERT INTO DETALLE_PEDIDO (ID_DETALLE_PEDIDO, IMPORTE, CANTIDAD, ID_ARTICULO, ID_ORDEN_PEDIDO)
VALUES (4, 250, 6, 4, 4);

INSERT INTO DETALLE_PEDIDO (ID_DETALLE_PEDIDO, IMPORTE, CANTIDAD, ID_ARTICULO, ID_ORDEN_PEDIDO)
VALUES (5, 400, 10, 5, 5);


INSERT INTO FACTURA (ID_FACTURA, FECHA)
VALUES (1, TO_DATE('2024-06-01', 'YYYY-MM-DD'));

INSERT INTO FACTURA (ID_FACTURA, FECHA)
VALUES (2, TO_DATE('2024-06-05', 'YYYY-MM-DD'));

INSERT INTO FACTURA (ID_FACTURA, FECHA)
VALUES (3, TO_DATE('2024-06-10', 'YYYY-MM-DD'));

INSERT INTO FACTURA (ID_FACTURA, FECHA)
VALUES (4, TO_DATE('2024-06-15', 'YYYY-MM-DD'));

INSERT INTO FACTURA (ID_FACTURA, FECHA)
VALUES (5, TO_DATE('2024-06-20', 'YYYY-MM-DD'));


INSERT INTO ENVIO (ID_ENVIO, FECHA, ACEPTADO, ID_FACTURA)
VALUES (1, TO_DATE('2024-06-02', 'YYYY-MM-DD'), 'SI', 1);

INSERT INTO ENVIO (ID_ENVIO, FECHA, ACEPTADO, ID_FACTURA)
VALUES (2, TO_DATE('2024-06-06', 'YYYY-MM-DD'), 'SI', 2);

INSERT INTO ENVIO (ID_ENVIO, FECHA, ACEPTADO, ID_FACTURA)
VALUES (3, TO_DATE('2024-06-11', 'YYYY-MM-DD'), 'NO', 3);

INSERT INTO ENVIO (ID_ENVIO, FECHA, ACEPTADO, ID_FACTURA)
VALUES (4, TO_DATE('2024-06-16', 'YYYY-MM-DD'), 'SI', 4);

INSERT INTO ENVIO (ID_ENVIO, FECHA, ACEPTADO, ID_FACTURA)
VALUES (5, TO_DATE('2024-06-21', 'YYYY-MM-DD'), 'NO', 5);


INSERT INTO ALBARAN (ID_ALBARAN, IMPORTE, CANTIDAD, ID_ARTICULO, ID_ENVIO)
VALUES (1, 100, 10, 1, 1);

INSERT INTO ALBARAN (ID_ALBARAN, IMPORTE, CANTIDAD, ID_ARTICULO, ID_ENVIO)
VALUES (2, 80, 8, 2, 2);

INSERT INTO ALBARAN (ID_ALBARAN, IMPORTE, CANTIDAD, ID_ARTICULO, ID_ENVIO)
VALUES (3, 120, 12, 3, 3);

INSERT INTO ALBARAN (ID_ALBARAN, IMPORTE, CANTIDAD, ID_ARTICULO, ID_ENVIO)
VALUES (4, 60, 6, 4, 4);

INSERT INTO ALBARAN (ID_ALBARAN, IMPORTE, CANTIDAD, ID_ARTICULO, ID_ENVIO)
VALUES (5, 150, 15, 5, 5);


INSERT INTO TICKET_VENTA (ID_TICKET_VENTA, FECHA_TICKET, DIGITOS_ULT_TARJETA, MODO_PAGO)
VALUES (1, TO_DATE('2024-06-01','YYYY-MM-DD'), 1234, 'Tarjeta');

INSERT INTO TICKET_VENTA (ID_TICKET_VENTA, FECHA_TICKET, DIGITOS_ULT_TARJETA, MODO_PAGO)
VALUES (2, TO_DATE('2024-06-02','YYYY-MM-DD'), 5678, 'Efectivo');

INSERT INTO TICKET_VENTA (ID_TICKET_VENTA, FECHA_TICKET, DIGITOS_ULT_TARJETA, MODO_PAGO)
VALUES (3, TO_DATE('2024-06-03','YYYY-MM-DD'), 9012, 'PayPal');

INSERT INTO TICKET_VENTA (ID_TICKET_VENTA, FECHA_TICKET, DIGITOS_ULT_TARJETA, MODO_PAGO)
VALUES (4, TO_DATE('2024-06-04','YYYY-MM-DD'), 3456, 'Transferencia');

INSERT INTO TICKET_VENTA (ID_TICKET_VENTA, FECHA_TICKET, DIGITOS_ULT_TARJETA, MODO_PAGO)
VALUES (5, TO_DATE('2024-06-05','YYYY-MM-DD'), 7890, 'Bizum');


INSERT INTO DETALLE_TICKET (ID_DETALLE_TICKET, CANTIDAD_ARTICULO, ID_TICKET_VENTA, ID_ARTICULO)
VALUES (1, 2, 1, 1);

INSERT INTO DETALLE_TICKET (ID_DETALLE_TICKET, CANTIDAD_ARTICULO, ID_TICKET_VENTA, ID_ARTICULO)
VALUES (2, 1, 2, 2);

INSERT INTO DETALLE_TICKET (ID_DETALLE_TICKET, CANTIDAD_ARTICULO, ID_TICKET_VENTA, ID_ARTICULO)
VALUES (3, 3, 3, 3);

INSERT INTO DETALLE_TICKET (ID_DETALLE_TICKET, CANTIDAD_ARTICULO, ID_TICKET_VENTA, ID_ARTICULO)
VALUES (4, 1, 4, 4);

INSERT INTO DETALLE_TICKET (ID_DETALLE_TICKET, CANTIDAD_ARTICULO, ID_TICKET_VENTA, ID_ARTICULO)
VALUES (5, 2, 5, 5);


INSERT INTO CLIENTE_ONLINE (ID_CLIENTE_ONLINE, NOMBRE, APELLIDO, CORREO, TELEFONO)
VALUES (1, 'Alberto', 'Ruiz', 'alberto.ruiz@gmail.com', 600111111);

INSERT INTO CLIENTE_ONLINE (ID_CLIENTE_ONLINE, NOMBRE, APELLIDO, CORREO, TELEFONO)
VALUES (2, 'Laura', 'Pérez', 'laura.perez@gmail.com', 600222222);

INSERT INTO CLIENTE_ONLINE (ID_CLIENTE_ONLINE, NOMBRE, APELLIDO, CORREO, TELEFONO)
VALUES (3, 'Javier', 'Gómez', 'javier.gomez@gmail.com', 600333333);

INSERT INTO CLIENTE_ONLINE (ID_CLIENTE_ONLINE, NOMBRE, APELLIDO, CORREO, TELEFONO)
VALUES (4, 'Marta', 'Torres', 'marta.torres@gmail.com', 600444444);

INSERT INTO CLIENTE_ONLINE (ID_CLIENTE_ONLINE, NOMBRE, APELLIDO, CORREO, TELEFONO)
VALUES (5, 'Pedro', 'Sánchez', 'pedro.sanchez@gmail.com', 600555555);


INSERT INTO DIRECCION_ENVIO (ID_DIRECCION_ENVIO, CALLE, PAIS, LOCALIDAD)
VALUES (1, 'C/ Mayor 1', 'España', 'Zaragoza');

INSERT INTO DIRECCION_ENVIO (ID_DIRECCION_ENVIO, CALLE, PAIS, LOCALIDAD)
VALUES (2, 'C/ Luna 5', 'España', 'Huesca');

INSERT INTO DIRECCION_ENVIO (ID_DIRECCION_ENVIO, CALLE, PAIS, LOCALIDAD)
VALUES (3, 'Avda. Aragón 12', 'España', 'Teruel');

INSERT INTO DIRECCION_ENVIO (ID_DIRECCION_ENVIO, CALLE, PAIS, LOCALIDAD)
VALUES (4, 'C/ Valencia 8', 'España', 'Zaragoza');

INSERT INTO DIRECCION_ENVIO (ID_DIRECCION_ENVIO, CALLE, PAIS, LOCALIDAD)
VALUES (5, 'C/ Madrid 10', 'España', 'Huesca');


INSERT INTO CLIENTE_ONLINE_DIRECCION (ID_CLIENTE_ONLINE_DIRECCION, ID_CLIENTE_ONLINE, ID_DIRECCION_ENVIO)
VALUES (1, 1, 1);

INSERT INTO CLIENTE_ONLINE_DIRECCION (ID_CLIENTE_ONLINE_DIRECCION, ID_CLIENTE_ONLINE, ID_DIRECCION_ENVIO)
VALUES (2, 2, 2);

INSERT INTO CLIENTE_ONLINE_DIRECCION (ID_CLIENTE_ONLINE_DIRECCION, ID_CLIENTE_ONLINE, ID_DIRECCION_ENVIO)
VALUES (3, 3, 3);

INSERT INTO CLIENTE_ONLINE_DIRECCION (ID_CLIENTE_ONLINE_DIRECCION, ID_CLIENTE_ONLINE, ID_DIRECCION_ENVIO)
VALUES (4, 4, 4);

INSERT INTO CLIENTE_ONLINE_DIRECCION (ID_CLIENTE_ONLINE_DIRECCION, ID_CLIENTE_ONLINE, ID_DIRECCION_ENVIO)
VALUES (5, 5, 5);


INSERT INTO DATO_FACTURACION (ID_DATO_FACTURACION, EMPRESA, CIF_DATO_FACTURACION, DIRECCION, ID_CLIENTE_ONLINE)
VALUES (1, 'Empresa A', 'A12345678', 'C/ Mayor 1', 1);

INSERT INTO DATO_FACTURACION (ID_DATO_FACTURACION, EMPRESA, CIF_DATO_FACTURACION, DIRECCION, ID_CLIENTE_ONLINE)
VALUES (2, 'Empresa B', 'B23456789', 'C/ Luna 5', 2);

INSERT INTO DATO_FACTURACION (ID_DATO_FACTURACION, EMPRESA, CIF_DATO_FACTURACION, DIRECCION, ID_CLIENTE_ONLINE)
VALUES (3, 'Empresa C', 'C34567890', 'Avda. Aragón 12', 3);

INSERT INTO DATO_FACTURACION (ID_DATO_FACTURACION, EMPRESA, CIF_DATO_FACTURACION, DIRECCION, ID_CLIENTE_ONLINE)
VALUES (4, 'Empresa D', 'D45678901', 'C/ Valencia 8', 4);

INSERT INTO DATO_FACTURACION (ID_DATO_FACTURACION, EMPRESA, CIF_DATO_FACTURACION, DIRECCION, ID_CLIENTE_ONLINE)
VALUES (5, 'Empresa E', 'E56789012', 'C/ Madrid 10', 5);


INSERT INTO MEDIO_PAGO (ID_MEDIO_PAGO, NOMBRE)
VALUES (1, 'Tarjeta');

INSERT INTO MEDIO_PAGO (ID_MEDIO_PAGO, NOMBRE)
VALUES (2, 'Efectivo');

INSERT INTO MEDIO_PAGO (ID_MEDIO_PAGO, NOMBRE)
VALUES (3, 'PayPal');

INSERT INTO MEDIO_PAGO (ID_MEDIO_PAGO, NOMBRE)
VALUES (4, 'Transferencia');

INSERT INTO MEDIO_PAGO (ID_MEDIO_PAGO, NOMBRE)
VALUES (5, 'Bizum');


INSERT INTO COMPANIA_TRANSPORTE (ID_COMPANIA_TRANSPORTE, NOMBRE, CIF_COMPANIA_TRANSPORTE, DIRECCION, TELEFONO)
VALUES (1, 'Transportes Aragón', 'T12345678', 'C/ Mayor 1', 976111111);

INSERT INTO COMPANIA_TRANSPORTE (ID_COMPANIA_TRANSPORTE, NOMBRE, CIF_COMPANIA_TRANSPORTE, DIRECCION, TELEFONO)
VALUES (2, 'Logística Huesca', 'T23456789', 'C/ Luna 5', 974222222);

INSERT INTO COMPANIA_TRANSPORTE (ID_COMPANIA_TRANSPORTE, NOMBRE, CIF_COMPANIA_TRANSPORTE, DIRECCION, TELEFONO)
VALUES (3, 'Envios Teruel', 'T34567890', 'Avda. Aragón 12', 978333333);

INSERT INTO COMPANIA_TRANSPORTE (ID_COMPANIA_TRANSPORTE, NOMBRE, CIF_COMPANIA_TRANSPORTE, DIRECCION, TELEFONO)
VALUES (4, 'Rápido Zaragoza', 'T45678901', 'C/ Valencia 8', 976444444);

INSERT INTO COMPANIA_TRANSPORTE (ID_COMPANIA_TRANSPORTE, NOMBRE, CIF_COMPANIA_TRANSPORTE, DIRECCION, TELEFONO)
VALUES (5, 'Express Huesca', 'T56789012', 'C/ Madrid 10', 974555555);


INSERT INTO FACTURA_CLIENTE (ID_FACTURA_CLIENTE, IMPORTE, ID_MEDIO_PAGO, ID_DATO_FACTURACION)
VALUES (1, 150, 1, 1);

INSERT INTO FACTURA_CLIENTE (ID_FACTURA_CLIENTE, IMPORTE, ID_MEDIO_PAGO, ID_DATO_FACTURACION)
VALUES (2, 200, 2, 2);

INSERT INTO FACTURA_CLIENTE (ID_FACTURA_CLIENTE, IMPORTE, ID_MEDIO_PAGO, ID_DATO_FACTURACION)
VALUES (3, 300, 3, 3);

INSERT INTO FACTURA_CLIENTE (ID_FACTURA_CLIENTE, IMPORTE, ID_MEDIO_PAGO, ID_DATO_FACTURACION)
VALUES (4, 250, 4, 4);

INSERT INTO FACTURA_CLIENTE (ID_FACTURA_CLIENTE, IMPORTE, ID_MEDIO_PAGO, ID_DATO_FACTURACION)
VALUES (5, 180, 5, 5);


INSERT INTO ENVIO_CLIENTE (ID_ENVIO_CLIENTE, FECHA, IMPORTE, ID_DIRECCION_ENVIO, ID_COMPANIA_TRANSPORTE)
VALUES (1, TO_DATE('2024-06-05', 'YYYY-MM-DD'), 150, 1, 1);

INSERT INTO ENVIO_CLIENTE (ID_ENVIO_CLIENTE, FECHA, IMPORTE, ID_DIRECCION_ENVIO, ID_COMPANIA_TRANSPORTE)
VALUES (2, TO_DATE('2024-06-06', 'YYYY-MM-DD'), 200, 2, 2);

INSERT INTO ENVIO_CLIENTE (ID_ENVIO_CLIENTE, FECHA, IMPORTE, ID_DIRECCION_ENVIO, ID_COMPANIA_TRANSPORTE)
VALUES (3, TO_DATE('2024-06-07', 'YYYY-MM-DD'), 300, 3, 3);

INSERT INTO ENVIO_CLIENTE (ID_ENVIO_CLIENTE, FECHA, IMPORTE, ID_DIRECCION_ENVIO, ID_COMPANIA_TRANSPORTE)
VALUES (4, TO_DATE('2024-06-08', 'YYYY-MM-DD'), 250, 4, 4);

INSERT INTO ENVIO_CLIENTE (ID_ENVIO_CLIENTE, FECHA, IMPORTE, ID_DIRECCION_ENVIO, ID_COMPANIA_TRANSPORTE)
VALUES (5, TO_DATE('2024-06-09', 'YYYY-MM-DD'), 180, 5, 5);


INSERT INTO CARRITO (ID_CARRITO, FECHA_CARRITO, IMPORTE, ID_CLIENTE_ONLINE)
VALUES (1, TO_DATE('2024-06-01', 'YYYY-MM-DD'), 150, 1);

INSERT INTO CARRITO (ID_CARRITO, FECHA_CARRITO, IMPORTE, ID_CLIENTE_ONLINE)
VALUES (2, TO_DATE('2024-06-02', 'YYYY-MM-DD'), 200, 2);

INSERT INTO CARRITO (ID_CARRITO, FECHA_CARRITO, IMPORTE, ID_CLIENTE_ONLINE)
VALUES (3, TO_DATE('2024-06-03', 'YYYY-MM-DD'), 300, 3);

INSERT INTO CARRITO (ID_CARRITO, FECHA_CARRITO, IMPORTE, ID_CLIENTE_ONLINE)
VALUES (4, TO_DATE('2024-06-04', 'YYYY-MM-DD'), 250, 4);

INSERT INTO CARRITO (ID_CARRITO, FECHA_CARRITO, IMPORTE, ID_CLIENTE_ONLINE)
VALUES (5, TO_DATE('2024-06-05', 'YYYY-MM-DD'), 180, 5);


INSERT INTO DETALLE_CARRITO (ID_DETALLE_CARRITO, CANTIDAD_ARTICULO, ID_ARTICULO, ID_CARRITO)
VALUES (1, 3, 1, 1);

INSERT INTO DETALLE_CARRITO (ID_DETALLE_CARRITO, CANTIDAD_ARTICULO, ID_ARTICULO, ID_CARRITO)
VALUES (2, 2, 2, 2);

INSERT INTO DETALLE_CARRITO (ID_DETALLE_CARRITO, CANTIDAD_ARTICULO, ID_ARTICULO, ID_CARRITO)
VALUES (3, 4, 3, 3);

INSERT INTO DETALLE_CARRITO (ID_DETALLE_CARRITO, CANTIDAD_ARTICULO, ID_ARTICULO, ID_CARRITO)
VALUES (4, 1, 4, 4);

INSERT INTO DETALLE_CARRITO (ID_DETALLE_CARRITO, CANTIDAD_ARTICULO, ID_ARTICULO, ID_CARRITO)
VALUES (5, 5, 5, 5);


COMMIT;

