¿Tienes claro que una FK es un campo o conjunto de campos que referencia ala PK de otra tabla?
Bueno, si eso lo tienes claro, estas FK están mal:
Cod_fabricante solo puede referenciar a una tabla no a dos.
Estas también:
Estás intentando referenciar cuatro campos distintos a una misma tabla, lo que sólo podría darse si los cuatro o tres de ellos apuntan a campos con indices UNIQUE... y francamente no creo que "peso" pueda se run campo de ese tipo.
Con la segunda tabla cometes el mismo tipo de errores.
Por otro lado, a nivel de diseño me resulta poco creíble que la PK de una venta se defina con esos cuatro campos. Me da la impresión de que el sistema esté mal planteado o mal diseñado.
Necesitas un repaso de los conceptos basicos de FK/PK