Buenas tardes! Soy estudiante de ASIR y tengo un problema con la creación de tablas para una base de datos que nos han mandado de trabajo para el fin de semana. Ya creé 3 tablas y a la hora de hacer las dos últimas, me da error, en teoría relacionados con las foreign keys (ambas dos tablas que pretendo crear y no consigo, llevan varias). El caso es que revisé minuciosamente campo por campo las tablas referenciadas a ver si encontraba algo que no coincidiese y no he encontrado nada. Todos las foreign keys referenciadas se encuentran en otras tablas donde son primary keys. Este es el script:
Código SQL:
Ver originalCREATE TABLE ventas(nif VARCHAR(10) NOT NULL,
articulo VARCHAR(20) NOT NULL,
cod_fabricante INT NOT NULL,
peso INT NOT NULL,
categoria VARCHAR(10) NOT NULL,
fecha_venta DATE NOT NULL,
unidades_vendidas INT,
PRIMARY KEY(nif, articulo, cod_fabricante, peso, categoria,
fecha_venta),
FOREIGN KEY (cod_fabricante) REFERENCES fabricantes(cod_fabricante),
FOREIGN KEY(articulo) REFERENCES articulos(articulo)
ON DELETE cascade ON UPDATE cascade,
FOREIGN KEY(cod_fabricante) REFERENCES articulos(cod_fabricante)
ON DELETE cascade ON UPDATE cascade,
FOREIGN KEY(peso) REFERENCES articulos(peso)
ON DELETE cascade ON UPDATE cascade,
FOREIGN KEY(categoria) REFERENCES articulos(categoria)
ON DELETE cascade ON UPDATE cascade);
CREATE TABLE pedidos(nif VARCHAR(10),articulo VARCHAR(20) NOT NULL,
cod_fabricante INT NOT NULL, peso INT NOT NULL, categoria VARCHAR(10) NOT NULL,
fecha_pedido DATE NOT NULL, unidades_pedidas INT,
PRIMARY KEY(nif, articulo, cod_fabricante, peso, categoria, fecha_pedido),
FOREIGN KEY(nif) REFERENCES tiendas(nif),
FOREIGN KEY(articulo) REFERENCES articulos(articulo)
ON DELETE cascade ON UPDATE cascade,
FOREIGN KEY(cod_fabricante) REFERENCES articulos(cod_fabricante)
ON DELETE cascade ON UPDATE cascade,
FOREIGN KEY(peso) REFERENCES articulos(peso)
ON DELETE cascade ON UPDATE cascade,
FOREIGN KEY(categoria) REFERENCES articulos(categoria)
ON DELETE cascade ON UPDATE cascade);
Probé a meter las foreign keys una a una en cada tabla, y las que me dan error son las dos últimas (peso y categoría). Las demás entran, en las dos tablas que intento crear.
Agradeceria un poco de ayuda. Gracias de antemano!!!!