A tabela que relaciona produtos com facturas (produtos_factura ou linhas_factura) deveria (em minha opinião) incluir mais dados (se bem que não conheço o sistema que estás a desenvolver):
Código:
[B]tab_produtos_facturas[/B]
[I]id_produto_factura[/I] (PK) : chave primária (id da linha)
[I]fk_id_factura[/I] (FK) : chave estrangeira para id_factura em tab_facturas
[I]fk_id_produto[/I] (FK) : chave estrangeira para id_produto em tab_produtos
[I]preco_venda[/I] : preço unitário do produto na linha
[I]desconto_perc[/I] : percentagem do desconto aplicada ao produto na linha
[I]iva_perc[/I] : percentagem do IVA aplicado ao produto na linha
[I]qt[/I] : quantidade do produto na linha
[I]preco_final[/I] : preço final do produto na linha
[I]desconto_valor[/I] : valor do desconto aplicado ao produto na linha
[I]iva_valor[/I] : valor do IVA aplicado ao produto na linha
[I]observacoes[/I] : observações adicionais sobre o produto nesta linha (se necessário)
[I]escalao_iva[/I] : escalão do IVA aplicado ao produto
Neste caso, o campo id_linha sugerido perlo Armadillo seria a chave primária desta tabela (id_produto_factura).