Oi, Vinicius, como vai?
O erro está no nome da coluna utilizada na definição da chave estrangeira. Na criação da tabela, você declarou a coluna como Categoria_produto, mas na hora de criar a FOREIGN KEY está usando Categoria. Como essa coluna Categoria não existe em tabelaprodutos, o SQLite retorna unknown column "Categoria" in foreign key definition.
Nesse caso, basta manter o mesmo nome utilizado na declaração da coluna. O trecho deve ficar assim:
FOREIGN KEY (Categoria_produto) REFERENCES tabelacategorias (ID_Categoria),
FOREIGN KEY (Fornecedor) REFERENCES tabelafornecedores (id)
Então, o comando completo seria:
CREATE TABLE tabelaprodutos (
ID_Produto INT PRIMARY KEY,
Nome_Produto VARCHAR(250),
Descricao_Produto TEXT,
Categoria_produto INT,
Preco_De_Compra DECIMAL(10,2),
Unidade VARCHAR(50),
Fornecedor INT,
Data_De_Inclusao DATE,
FOREIGN KEY (Categoria_produto) REFERENCES tabelacategorias (ID_Categoria),
FOREIGN KEY (Fornecedor) REFERENCES tabelafornecedores (id)
);
Uma boa prática ao trabalhar com SQL é conferir se os nomes utilizados nas restrições, consultas e relacionamentos são exatamente os mesmos definidos na criação das tabelas. No seu código, o relacionamento com Fornecedor está seguindo essa lógica, enquanto Categoria_produto acabou sendo referenciada com outro nome.
Bons estudos, Vinicius. Qualquer dúvida, o fórum está à disposição.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!