Respuesta: Por favor necesito ayuda CREATE TABLE estancos(
nif integer not null,
nombre varchar(20),
n_exp integer not null,
localidad varchar(20),
provincia varchar(20),
PRIMARY KEY(nif)
);
CREATE TABLE fabricantes(
cod_fabricante integer,
nombre varchar(20),
sede varchar(20),
PRIMARY KEY(cod_fabricante)
);
CREATE TABLE cigarrillos(
cod_cigarrillo integer not null,
cod_fabricante integer not null,
marca varchar(20),
tipo varchar(20),
filtro varchar(3),
sabor varchar(2),
PRIMARY KEY(cod_cigarrillo),
FOREIGN KEY (cod_fabricante) REFERENCES fabricantes(cod_fabricante) ON DELETE CASCADE ON UPDATE CASCADE,
CHECK(UPPER(tipo)='NORMAL' OR UPPER(tipo)='LIGHT' OR UPPER(tipo)='ULTRALIGHT' OR UPPER(tipo)='SUPERLIGHT'),
CHECK((UPPER(filtro)='SIN' AND UPPER(tipo)='NORMAL') OR UPPER(filtro)='CON'),
CHECK((UPPER(sabor)='M' AND UPPER(tipo)='NORMAL') OR UPPER(sabor)='NM')
);
CREATE TABLE almacenes(
nif integer not null,
cod_cigarrillo integer,
stock integer,
PRIMARY KEY(nif, cod_cigarrillo),
FOREIGN KEY (nif) REFERENCES estancos(nif) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (cod_cigarrillo) REFERENCES cigarrillos(cod_cigarrillo) ON DELETE CASCADE ON UPDATE CASCADE,
CHECK (stock>=0)
);
CREATE TABLE ventas(
cod_venta integer,
nif integer not null,
cod_cigarrillo integer,
fecha date,
cantidad integer,
precio_venta integer,
PRIMARY KEY(cod_venta),
FOREIGN KEY (nif) REFERENCES estancos(nif) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (cod_cigarrillo) REFERENCES cigarrillos(cod_cigarrillo) ON DELETE CASCADE ON UPDATE CASCADE,
CHECK (cantidad>=0),
CHECK (precio_venta>=0)
);
CREATE TABLE compras(
cod_compra integer not null,
nif integer,
cod_fabricante integer,
cod_cigarrillo integer,
fecha date,
cantidad integer,
precio_compra integer,
PRIMARY KEY(cod_compra),
FOREIGN KEY (nif) REFERENCES estancos(nif) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (cod_fabricante) REFERENCES fabricantes(cod_fabricante) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (cod_cigarrillo) REFERENCES cigarrillos(cod_cigarrillo) ON DELETE CASCADE ON UPDATE CASCADE,
CHECK (cantidad>0),
CHECK (precio_compra>0)
);
INSERT INTO estancos(nif, nombre, n_exp, localidad, provincia)
VALUES (11111, 'Jose Luis Garcia', 345543, 'Gijon', 'Asturias');
INSERT INTO estancos(nif, nombre, n_exp, localidad, provincia)
VALUES (21457, 'Estanco cobera', 12548, 'Madrid', 'Madrid');
INSERT INTO estancos(nif, nombre, n_exp, localidad, provincia)
VALUES (32115, 'Estanco Moreno', 241786, 'Coslada', 'Madrid');
INSERT INTO estancos(nif, nombre, n_exp, localidad, provincia)
VALUES (23514, 'Maria Perez Pajin', 345543, 'Pinto', 'Madrid');
INSERT INTO estancos(nif, nombre, n_exp, localidad, provincia)
VALUES (57412, 'Estanco Garcia', 25479, 'Leon', 'Leon');
INSERT INTO estancos(nif, nombre, n_exp, localidad, provincia)
VALUES (96584, 'Estanco El fumador', 32547, 'Oviedo', 'Asturias');
INSERT INTO fabricantes(cod_fabricante, nombre, sede)
VALUES (1, 'Philip Morris', 'EEUU');
INSERT INTO fabricantes(cod_fabricante, nombre, sede)
VALUES (2, 'Reynolds', 'EEUU');
INSERT INTO fabricantes(cod_fabricante, nombre, sede)
VALUES (3, 'Altadis', 'Espana');
INSERT INTO fabricantes(cod_fabricante, nombre, sede)
VALUES (4, 'Japon Tobacco', 'Japon');
INSERT INTO cigarrillos(cod_cigarrillo, cod_fabricante, marca, tipo, filtro, sabor)
VALUES (1, 1, 'Marlboro', 'Normal', 'SIN', 'M');
INSERT INTO cigarrillos(cod_cigarrillo, cod_fabricante, marca, tipo, filtro, sabor)
VALUES (2, 1, 'Marlboro', 'Light', 'CON', 'NM');
INSERT INTO cigarrillos(cod_cigarrillo, cod_fabricante, marca, tipo, filtro, sabor)
VALUES (3, 1, 'Chesterfield', 'SuperLight', 'CON', 'NM');
INSERT INTO cigarrillos(cod_cigarrillo, cod_fabricante, marca, tipo, filtro, sabor)
VALUES (4, 2, 'Camel', 'Normal', 'SIN', 'NM');
INSERT INTO cigarrillos(cod_cigarrillo, cod_fabricante, marca, tipo, filtro, sabor)
VALUES (5, 2, 'Winston', 'Normal', 'CON', 'M');
INSERT INTO cigarrillos(cod_cigarrillo, cod_fabricante, marca, tipo, filtro, sabor)
VALUES (6, 3, 'Fortuna', 'Normal', 'SIN', 'NM');
INSERT INTO cigarrillos(cod_cigarrillo, cod_fabricante, marca, tipo, filtro, sabor)
VALUES (7, 4, 'Mild Seven', 'UltraLight', 'CON', 'NM');
INSERT INTO cigarrillos(cod_cigarrillo, cod_fabricante, marca, tipo, filtro, sabor)
VALUES (8, 3, 'Ducados', 'Light', 'CON', 'NM');
INSERT INTO cigarrillos(cod_cigarrillo, cod_fabricante, marca, tipo, filtro, sabor)
VALUES (9, 3, 'Celtas', 'Normal', 'SIN', 'NM');
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (11111, 1, 20);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (11111, 2, 40);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (11111, 5, 10);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (11111, 7, 15);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (21457, 1, 50);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (21457, 3, 24);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (21457, 4, 50);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (21457, 6, 80);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (21457, 9, 40);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (32115, 1, 100);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (32115, 4, 14);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (32115, 9, 80);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (23514, 1, 25);
INSERT INTO almacenes(nif, cod_cigarrillo, stock)
VALUES (57412, 6, 70);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (1, 11111, 1, '2004-02-21', 5, 3);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (2, 11111, 2, '2004-02-21', 10, 4);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (3, 11111, 1, '2004-03-14', 15, 3);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (4, 11111, 5, '2005-04-05', 20, 2);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (5, 11111, 2, '2007-04-05', 2, 3);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (6, 21457, 1, '2005-12-09', 20, 3);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (7, 21457, 4, '2007-10-01', 30, 2);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (8, 21457, 6, '2006-08-21', 18, 4);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (9, 32115, 4, '2006-08-21', 27, 2);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (10, 32115, 4, '2008-09-17', 7, 3);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (11, 23514, 1, '2008-09-17', 29, 3);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (12, 21457, 8, '2006-08-21', 37, 4);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (13, 32115, 8, '2007-10-07', 27, 3);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (14, 32115, 8, '2008-09-17', 23, 3);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (15, 57412, 6, '2008-03-25', 36, 4);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (16, 32115, 9, '2006-01-27', 31, 3);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (17, 21457, 9, '2008-07-17', 23, 3);
INSERT INTO ventas(cod_venta, nif, cod_cigarrillo, fecha, cantidad, precio_venta)
VALUES (18, 23514, 9, '2008-06-20', 36, 4); |