Your question is rather extensive.
I have prepared a script for creating tables that should give you a hint for your solution:
-- Tabela de Produtos
CREATE TABLE PRODUTO
(
COD_PRODUTO INT,
TXT_DESCRICAO VARCHAR(50),
PRIMARY KEY(COD_PRODUTO)
)
-- TABELA DE INSUMOS
CREATE TABLE INSUMO
(
COD_INSUMO INT,
TXT_DESCRICAO varchar(50),
PRIMARY KEY(COD_INSUMO)
)
-- TABELA QUE RELACIONA PRODUTOS E INSUMOS
CREATE TABLE PRODUTO_INSUMO
(
COD_PRODUTO_INSUMO INT,
COD_PRODUTO INT,
COD_INSUMO INT,
NUM_QUANTIDADE INT,
PRIMARY KEY (COD_PRODUTO_INSUMO)
)
-- RELACIONAMENTOS
ALTER TABLE PRODUTO_INSUMO
ADD CONSTRAINT
FOREIGN KEY (COD_PRODUTO)
REFERENCES PRODUTO(COD_PRODUTO)
ALTER TABLE PRODUTO_INSUMO
ADD CONSTRAINT
FOREIGN KEY (COD_INSUMO)
REFERENCES INSUMO(COD_INSUMO)
Scripts that exemplify the information as per its specification:
-- INSUMO:
INSERT INTO INSUMO (COD_INSUMO, TXT_DESCRICAO) VALUES (1, 'FEIJAO')
INSERT INTO INSUMO (COD_INSUMO, TXT_DESCRICAO) VALUES (2, 'ARROZ')
INSERT INTO INSUMO (COD_INSUMO, TXT_DESCRICAO) VALUES (3, 'FARINHA DE MANDIOCA')
INSERT INTO INSUMO (COD_INSUMO, TXT_DESCRICAO) VALUES (4, 'CARNE')
-- PRODUTO:
INSERT INTO PRODUTO (COD_PRODUTO,TXT_DESCRICAO) VALUES (1, 'FEIJOADA')
INSERT INTO PRODUTO (COD_PRODUTO,TXT_DESCRICAO) VALUES (2, 'BIFE A MILANESA')
-- PRODUTO_INSUMO:
-- 1 KG DE FEIJAO NA FEIJOADA
INSERT INTO PRODUTO_INSUMO (COD_PRODUTO, COD_INSUMO, NUM_QUANTIDADE)
VALUES (1,1,1)
-- 1 KG DE ARROZ NA FEIJOADA
INSERT INTO PRODUTO_INSUMO (COD_PRODUTO, COD_INSUMO, NUM_QUANTIDADE)
VALUES (1,2,1)
-- 2 KG DE FARINHA DE MANDIOCA NA FEIJOADA
INSERT INTO PRODUTO_INSUMO (COD_PRODUTO, COD_INSUMO, NUM_QUANTIDADE)
VALUES (1,3,2)
-- 3KG CARNE NO BIFE A MILANESA
INSERT INTO PRODUTO_INSUMO (COD_PRODUTO, COD_INSUMO, NUM_QUANTIDADE)
VALUES (2,4,3)
-- 1 KG FARINHA DE MANDIOCA NO BIFE
INSERT INTO PRODUTO_INSUMO (COD_PRODUTO, COD_INSUMO,NUM_QUANTIDADE)
VALUES (2,3,1)
I hope it helps.
Important you [Dit] your post and explain in detail the problem by describing what you tried and where is the current difficulty. Requests for complete refactoring or ready code, tutorials and/or things involving more than one subject in the same post usually do not fit the site scope. Links to better understand how Sopt works: [Tour], [Ask], Manual on how NOT to ask questions and [Help]. If you have any questions about specific details, reducing the code to a [MCVE] can help a lot.
– Bacco